diff mbox series

t-example-decorate: remove test messages

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

Commit Message

René Scharfe July 30, 2024, 2 p.m. UTC
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

Comments

Ghanshyam Thakkar July 31, 2024, 1:41 a.m. UTC | #1
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.
René Scharfe July 31, 2024, 9:21 a.m. UTC | #2
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 mbox series

Patch

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)