Re: [PATCH 3/8] t/unit-tests: rename clar-based unit tests to have a common prefix
- From
karthik nayak <karthik.188@gmail.com>
- Date
- Dec 12, 2024, 10:42 UTC
- Message-ID
- <CAOLa=ZRtQ2ab8_gf348eirDdrJYjSKm28aR6YPeY+7JE=77nOQ@mail.gmail.com>
- In-Reply-To
- <20241211-pks-meson-ci-v1-3-28d18b494374@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
> All of the code files for unit tests using the self-grown unit testing > framework have have a "t-" prefix to their name. This makes it easy to
s/have have/have
Show 55 quoted lines
> identify them and use globbing in our Makefile and in other places. On
> the other hand though, our clar-based unit tests have no prefix at all
> and thus cannot easily be discerned from other files in the unit test
> directory.
>
> Introduce a new "u-" prefix for clar-based unit tests. This prefix will
> be used in a subsequent commit to easily identify such tests.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> Makefile | 4 ++--
> t/meson.build | 4 ++--
> t/unit-tests/generate-clar-decls.sh | 5 ++++-
> t/unit-tests/{ctype.c => u-ctype.c} | 0
> t/unit-tests/{strvec.c => u-strvec.c} | 0
> 5 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 2506f3b7e3377ab1a376338c86a727b2ae92a6e9..6eafaf174aaa380ad8e6a86f75d003eb6c058fb3 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1344,8 +1344,8 @@ THIRD_PARTY_SOURCES += sha1dc/%
> THIRD_PARTY_SOURCES += $(UNIT_TEST_DIR)/clar/%
> THIRD_PARTY_SOURCES += $(UNIT_TEST_DIR)/clar/clar/%
>
> -CLAR_TEST_SUITES += ctype
> -CLAR_TEST_SUITES += strvec
> +CLAR_TEST_SUITES += u-ctype
> +CLAR_TEST_SUITES += u-strvec
> CLAR_TEST_PROG = $(UNIT_TEST_BIN)/unit-tests$(X)
> CLAR_TEST_OBJS = $(patsubst %,$(UNIT_TEST_DIR)/%.o,$(CLAR_TEST_SUITES))
> CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/clar/clar.o
> diff --git a/t/meson.build b/t/meson.build
> index 13fe854ba0a18f9b83dbc48651f581198042ffd3..9e676e69363ed6311426500d98fe281e30d26bcb 100644
> --- a/t/meson.build
> +++ b/t/meson.build
> @@ -1,6 +1,6 @@
> clar_test_suites = [
> - 'unit-tests/ctype.c',
> - 'unit-tests/strvec.c',
> + 'unit-tests/u-ctype.c',
> + 'unit-tests/u-strvec.c',
> ]
>
> clar_sources = [
> diff --git a/t/unit-tests/generate-clar-decls.sh b/t/unit-tests/generate-clar-decls.sh
> index 688e0885f4f28182c3afe19c067b6d59dcacccfc..3b315c64b3711bfccc5941852a0782e02cee82f0 100755
> --- a/t/unit-tests/generate-clar-decls.sh
> +++ b/t/unit-tests/generate-clar-decls.sh
> @@ -11,6 +11,9 @@ shift
>
> for suite in "$@"
> do
> - sed -ne "s/^\(void test_$(basename "${suite%.c}")__[a-zA-Z_0-9][a-zA-Z_0-9]*(void)\)$/extern \1;/p" "$suite" ||
> + suite_name=$(basename "$suite")So this strips away all dir and keeps the file name. So `t/unit-tests/u-strvec.c` becomes `u-strvec.c`
> + suite_name=${suite_name%.c}We strip the .c here, so `u-strvec.c` becomes `u-strvec`
> + suite_name=${suite_name#u-}So we finally strip the `u-` prefix here.
> + sed -ne "s/^\(void test_${suite_name}__[a-zA-Z_0-9][a-zA-Z_0-9]*(void)\)$/extern \1;/p" "$suite" ||Then we find all test functions in those files. Makes sense.
[snip]