From: phillip.wood123@gmail.com
To: Seyi Kuforiji <kuforiji98@gmail.com>, git@vger.kernel.org
Cc: ps@pks.im, phillip.wood@dunelm.org.uk
Subject: Re: [PATCH 3/5] t/unit-tests: convert oidmap test to use clar
Date: Fri, 21 Feb 2025 10:04:38 +0000 [thread overview]
Message-ID: <efa58be8-e958-429a-a5bd-8df442f28bee@gmail.com> (raw)
In-Reply-To: <20250220082959.10854-4-kuforiji98@gmail.com>
Hi Seyi
On 20/02/2025 08:29, Seyi Kuforiji wrote:
> Adapt oidmap test script to clar framework by using clar assertions
> where necessary. `cl_parse_any_oid` handles the necessary checks needed
> for the test to run smoothly.
I'm not sure what the last half of this sentence means. What checks are
performed and how does that lead to the test running smoothly?
> Introduce 'test_oidmap__initialize` handles the to set up of the global
> oidmap map with predefined key-value pairs, and `test_oidmap__cleanup`
> frees the oidmap and its entries when all tests are completed.
>
> This streamlines the test suite, making individual tests self-contained
> and reducing redundant code.
This seems to be saying that by sharing global state we're making the
tests self-contained - I'm not sure how that can be true. We need to
move to sharing a single oidmap between all the tests because clar's
setup and teardown functions don't take a context pointer. That's fine
but I don't see how it makes the tests self-contained.
Everything up to this point looks good.
> while ((entry = oidmap_iter_next(&iter))) {
> - int ret;
> - if (!check_int((ret = key_val_contains(entry, seen)), ==, 0)) {
> - switch (ret) {
> - case -1:
> - break; /* error message handled by get_oid_arbitrary_hex() */
> - case 1:
> - test_msg("obtained entry was not given in the input\n"
> - " name: %s\n oid: %s\n",
> - entry->name, oid_to_hex(&entry->entry.oid));
> - break;
> - case 2:
> - test_msg("duplicate entry detected\n"
> - " name: %s\n oid: %s\n",
> - entry->name, oid_to_hex(&entry->entry.oid));
> - break;
> - default:
> - test_msg("BUG: invalid return value (%d) from key_val_contains()",
> - ret);
> - break;
> - }
> - } else {
> - count++;
> - }
> + cl_assert_equal_i(key_val_contains(entry, seen), 0);
I think wed' be better to use clar_fail_f() so that we can keep the
helpful error messages. Using cl_assert_equal_i() isn't terrible as if
the test fails at least we know the error code but as we already have
the logic in place to provide better messages lets adapt it.
There is a change of behavior here as before we'd loop through the whole
list of entries detecting all the errors. Now we quit on the first
error. I don't think that matters but it would be good to point out the
change in the commit message.
Best Wishes
Phillip
next prev parent reply other threads:[~2025-02-21 10:04 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-20 8:29 [PATCH 0/5] t/unit-tests: convert unit-tests to use clar Seyi Kuforiji
2025-02-20 8:29 ` [PATCH 1/5] t/unit-tests: implement oid helper functions in unit-tests.{c,h} Seyi Kuforiji
2025-02-20 14:38 ` Phillip Wood
2025-02-21 7:59 ` Patrick Steinhardt
2025-02-21 7:59 ` Patrick Steinhardt
2025-02-21 14:50 ` phillip.wood123
2025-02-20 8:29 ` [PATCH 2/5] t/unit-tests: convert oid-array test to use clar Seyi Kuforiji
2025-02-20 14:38 ` Phillip Wood
2025-02-24 9:11 ` Seyi Chamber
2025-02-24 10:12 ` phillip.wood123
2025-02-20 8:29 ` [PATCH 3/5] t/unit-tests: convert oidmap " Seyi Kuforiji
2025-02-21 10:04 ` phillip.wood123 [this message]
2025-02-24 10:56 ` Seyi Chamber
2025-02-20 8:29 ` [PATCH 4/5] t/unit-tests: convert oidtree " Seyi Kuforiji
2025-02-21 14:48 ` phillip.wood123
2025-02-20 8:29 ` [PATCH 5/5] t/unit-tests: remove lib-oid.{c,h,o} Seyi Kuforiji
2025-02-21 14:52 ` [PATCH 0/5] t/unit-tests: convert unit-tests to use clar phillip.wood123
2025-02-24 15:27 ` [PATCH v2 0/4] " Seyi Kuforiji
2025-02-24 15:27 ` [PATCH v2 1/4] t/unit-tests: implement clar specific oid helper functions Seyi Kuforiji
2025-02-24 17:55 ` Junio C Hamano
2025-02-25 7:14 ` Seyi Chamber
2025-02-25 7:56 ` Patrick Steinhardt
2025-02-24 15:27 ` [PATCH v2 2/4] t/unit-tests: convert oid-array test to use clar test framework Seyi Kuforiji
2025-02-24 15:27 ` [PATCH v2 3/4] t/unit-tests: convert oidmap " Seyi Kuforiji
2025-02-24 15:27 ` [PATCH v2 4/4] t/unit-tests: convert oidtree " Seyi Kuforiji
2025-02-25 10:10 ` [PATCH v3 0/4] t/unit-tests: convert unit-tests to use clar Seyi Kuforiji
2025-02-25 10:10 ` [PATCH v3 1/4] t/unit-tests: implement clar specific oid helper functions Seyi Kuforiji
2025-02-25 10:10 ` [PATCH v3 2/4] t/unit-tests: convert oid-array test to use clar test framework Seyi Kuforiji
2025-02-25 10:10 ` [PATCH v3 3/4] t/unit-tests: convert oidmap " Seyi Kuforiji
2025-02-25 10:10 ` [PATCH v3 4/4] t/unit-tests: convert oidtree " Seyi Kuforiji
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=efa58be8-e958-429a-a5bd-8df442f28bee@gmail.com \
--to=phillip.wood123@gmail.com \
--cc=git@vger.kernel.org \
--cc=kuforiji98@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).