Message ID | 5c838884-b606-465a-8f7e-ab760ddadef8@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | t-example-decorate: remove test messages | expand |
Hi René, René Scharfe <l.s.r@web.de> wrote: > The test_msg() calls only repeat information already present in test > descriptions and check definitions, which are shown automatically if > the checks fail. Remove the redundant messages to simplify the tests > and their output. Here it is with all of them failing before: > > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:18 > # when adding a brand-new object, NULL should be returned > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:21 > # when adding a brand-new object, NULL should be returned > not ok 1 - Add 2 objects, one with a non-NULL decoration and one with a > NULL decoration. > # check "ret == &vars->decoration_a" failed at > t/unit-tests/t-example-decorate.c:29 > # when readding an already existing object, existing decoration should > be returned > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:32 > # when readding an already existing object, existing decoration should > be returned > not ok 2 - When re-adding an already existing object, the old decoration > is returned. > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:40 > # lookup should return added declaration > # check "ret == &vars->decoration_b" failed at > t/unit-tests/t-example-decorate.c:43 > # lookup should return added declaration > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:46 > # lookup for unknown object should return NULL > not ok 3 - Lookup returns the added declarations, or NULL if the object > was never added. > # check "objects_noticed == 2" failed at > t/unit-tests/t-example-decorate.c:58 > # left: 1 > # right: 2 > # should have 2 objects > not ok 4 - The user can also loop through all entries. > 1..4 > > ... and here with the patch applied: > > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:18 > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:20 > not ok 1 - Add 2 objects, one with a non-NULL decoration and one with a > NULL decoration. > # check "ret == &vars->decoration_a" failed at > t/unit-tests/t-example-decorate.c:27 > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:29 > not ok 2 - When re-adding an already existing object, the old decoration > is returned. > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:36 > # check "ret == &vars->decoration_b" failed at > t/unit-tests/t-example-decorate.c:38 > # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:40 > not ok 3 - Lookup returns the added declarations, or NULL if the object > was never added. > # check "objects_noticed == 2" failed at > t/unit-tests/t-example-decorate.c:51 > # left: 1 > # right: 2 > not ok 4 - The user can also loop through all entries. > 1..4 > > Signed-off-by: René Scharfe <l.s.r@web.de> > --- > t/unit-tests/t-example-decorate.c | 24 ++++++++---------------- > 1 file changed, 8 insertions(+), 16 deletions(-) > > diff --git a/t/unit-tests/t-example-decorate.c > b/t/unit-tests/t-example-decorate.c > index a4a75db735..8bf0709c41 100644 > --- a/t/unit-tests/t-example-decorate.c > +++ b/t/unit-tests/t-example-decorate.c > @@ -15,36 +15,29 @@ static void t_add(struct test_vars *vars) > { > void *ret = add_decoration(&vars->n, vars->one, &vars->decoration_a); > > - if (!check(ret == NULL)) > - test_msg("when adding a brand-new object, NULL should be returned"); > + check(ret == NULL); > ret = add_decoration(&vars->n, vars->two, NULL); > - if (!check(ret == NULL)) > - test_msg("when adding a brand-new object, NULL should be returned"); > + check(ret == NULL); If we want to further simplify, I don't see any need for having 'ret' either and to just call the methods in check(): check(add_decoration(&vars->n, vars->two, NULL), ==, NULL); which would also provide more context in the stdout rather than printing 'check(ret == NULL)'. But, I believe you would have already considered that but kept 'ret' in favor of code readability, so I am also fine with it. Thanks for patch.
Am 31.07.24 um 03:41 schrieb Ghanshyam Thakkar: > > If we want to further simplify, I don't see any need for having 'ret' > either and to just call the methods in check(): > > check(add_decoration(&vars->n, vars->two, NULL), ==, NULL); > > which would also provide more context in the stdout rather than printing > 'check(ret == NULL)'. But, I believe you would have already considered > that but kept 'ret' in favor of code readability, so I am also fine with > it. Thanks for patch. Good idea! Worth a separate patch, though. René
diff --git a/t/unit-tests/t-example-decorate.c b/t/unit-tests/t-example-decorate.c index a4a75db735..8bf0709c41 100644 --- a/t/unit-tests/t-example-decorate.c +++ b/t/unit-tests/t-example-decorate.c @@ -15,36 +15,29 @@ static void t_add(struct test_vars *vars) { void *ret = add_decoration(&vars->n, vars->one, &vars->decoration_a); - if (!check(ret == NULL)) - test_msg("when adding a brand-new object, NULL should be returned"); + check(ret == NULL); ret = add_decoration(&vars->n, vars->two, NULL); - if (!check(ret == NULL)) - test_msg("when adding a brand-new object, NULL should be returned"); + check(ret == NULL); } static void t_readd(struct test_vars *vars) { void *ret = add_decoration(&vars->n, vars->one, NULL); - if (!check(ret == &vars->decoration_a)) - test_msg("when readding an already existing object, existing decoration should be returned"); + check(ret == &vars->decoration_a); ret = add_decoration(&vars->n, vars->two, &vars->decoration_b); - if (!check(ret == NULL)) - test_msg("when readding an already existing object, existing decoration should be returned"); + check(ret == NULL); } static void t_lookup(struct test_vars *vars) { void *ret = lookup_decoration(&vars->n, vars->one); - if (!check(ret == NULL)) - test_msg("lookup should return added declaration"); + check(ret == NULL); ret = lookup_decoration(&vars->n, vars->two); - if (!check(ret == &vars->decoration_b)) - test_msg("lookup should return added declaration"); + check(ret == &vars->decoration_b); ret = lookup_decoration(&vars->n, vars->three); - if (!check(ret == NULL)) - test_msg("lookup for unknown object should return NULL"); + check(ret == NULL); } static void t_loop(struct test_vars *vars) @@ -55,8 +48,7 @@ static void t_loop(struct test_vars *vars) if (vars->n.entries[i].base) objects_noticed++; } - if (!check_int(objects_noticed, ==, 2)) - test_msg("should have 2 objects"); + check_int(objects_noticed, ==, 2); } int cmd_main(int argc UNUSED, const char **argv UNUSED)
The test_msg() calls only repeat information already present in test descriptions and check definitions, which are shown automatically if the checks fail. Remove the redundant messages to simplify the tests and their output. Here it is with all of them failing before: # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:18 # when adding a brand-new object, NULL should be returned # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:21 # when adding a brand-new object, NULL should be returned not ok 1 - Add 2 objects, one with a non-NULL decoration and one with a NULL decoration. # check "ret == &vars->decoration_a" failed at t/unit-tests/t-example-decorate.c:29 # when readding an already existing object, existing decoration should be returned # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:32 # when readding an already existing object, existing decoration should be returned not ok 2 - When re-adding an already existing object, the old decoration is returned. # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:40 # lookup should return added declaration # check "ret == &vars->decoration_b" failed at t/unit-tests/t-example-decorate.c:43 # lookup should return added declaration # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:46 # lookup for unknown object should return NULL not ok 3 - Lookup returns the added declarations, or NULL if the object was never added. # check "objects_noticed == 2" failed at t/unit-tests/t-example-decorate.c:58 # left: 1 # right: 2 # should have 2 objects not ok 4 - The user can also loop through all entries. 1..4 ... and here with the patch applied: # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:18 # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:20 not ok 1 - Add 2 objects, one with a non-NULL decoration and one with a NULL decoration. # check "ret == &vars->decoration_a" failed at t/unit-tests/t-example-decorate.c:27 # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:29 not ok 2 - When re-adding an already existing object, the old decoration is returned. # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:36 # check "ret == &vars->decoration_b" failed at t/unit-tests/t-example-decorate.c:38 # check "ret == NULL" failed at t/unit-tests/t-example-decorate.c:40 not ok 3 - Lookup returns the added declarations, or NULL if the object was never added. # check "objects_noticed == 2" failed at t/unit-tests/t-example-decorate.c:51 # left: 1 # right: 2 not ok 4 - The user can also loop through all entries. 1..4 Signed-off-by: René Scharfe <l.s.r@web.de> --- t/unit-tests/t-example-decorate.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) -- 2.46.0