diff mbox series

[3/8] t/unit-tests: rename clar-based unit tests to have a common prefix

Message ID 20241211-pks-meson-ci-v1-3-28d18b494374@pks.im (mailing list archive)
State Superseded
Headers show
Series ci: wire up support for Meson | expand

Commit Message

Patrick Steinhardt Dec. 11, 2024, 10:52 a.m. UTC
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
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(-)

Comments

Karthik Nayak Dec. 12, 2024, 10:42 a.m. UTC | #1
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

> 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]
Patrick Steinhardt Dec. 13, 2024, 5:25 a.m. UTC | #2
On Thu, Dec 12, 2024 at 02:42:41AM -0800, karthik nayak wrote:
> 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

Indeed, fixed.

Patrick
diff mbox series

Patch

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")
+	suite_name=${suite_name%.c}
+	suite_name=${suite_name#u-}
+	sed -ne "s/^\(void test_${suite_name}__[a-zA-Z_0-9][a-zA-Z_0-9]*(void)\)$/extern \1;/p" "$suite" ||
 	exit 1
 done >"$OUTPUT"
diff --git a/t/unit-tests/ctype.c b/t/unit-tests/u-ctype.c
similarity index 100%
rename from t/unit-tests/ctype.c
rename to t/unit-tests/u-ctype.c
diff --git a/t/unit-tests/strvec.c b/t/unit-tests/u-strvec.c
similarity index 100%
rename from t/unit-tests/strvec.c
rename to t/unit-tests/u-strvec.c