[PATCH] Fix tests-clean Makefile target (bug 30545)
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Wed Jun 21 12:54:19 GMT 2023
On 15/06/23 12:25, Maxim Kuvyrkov via Libc-alpha wrote:
> This patch improves tests-clean Makefile target to reliably clean
> test artifacts from a build directory. Before this patch tests-clean
> missed around 3k (out of total 9k) .out and .test-result files.
>
> Signed-off-by: Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
I noticed that even by cleaning both *.out and *.test-result, some tests
are still not trigger again:
--- /tmp/old 2023-06-21 09:45:14.665505755 -0300
+++ /tmp/new 2023-06-21 09:45:09.381406461 -0300
@@ -21,11 +21,7 @@
./catgets/check-installed-headers-cxx.test-result
./catgets/check-obsolete-constructs.test-result
./catgets/check-wrapper-headers.test-result
-./catgets/de/libc.cat.test-result
-./catgets/sample.SJIS.cat.test-result
./catgets/test-gencat.test-result
-./catgets/test1.cat.test-result
-./catgets/test2.cat.test-result
./catgets/tst-catgets-mem.test-result
./catgets/tst-catgets.test-result
./check-installed-headers-c.test-result
[...]
@@ -1830,108 +1806,12 @@
./locale/tst-locale-locpath.test-result
./locale/tst-localedef-path-norm.test-result
./locale/tst-locname.test-result
-./localedata/C.UTF-8/LC_CTYPE.test-result
-./localedata/am_ET.UTF-8/LC_CTYPE.test-result
-./localedata/az_AZ.UTF-8/LC_CTYPE.test-result
-./localedata/be_BY.UTF-8/LC_CTYPE.test-result
-./localedata/ber_DZ.UTF-8/LC_CTYPE.test-result
-./localedata/ber_MA.UTF-8/LC_CTYPE.test-result
-./localedata/bg_BG.UTF-8/LC_CTYPE.test-result
-./localedata/br_FR.UTF-8/LC_CTYPE.test-result
-./localedata/bs_BA.UTF-8/LC_CTYPE.test-result
./localedata/bug-iconv-trans.test-result
./localedata/bug-setlocale1-static.test-result
./localedata/bug-setlocale1.test-result
./localedata/bug-usesetlocale.test-result
[...]
Although it is because they do not really to (they are requirements for
other tests and since code has not change they are not regenerated).
So LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> Makefile | 5 ++++-
> Makerules | 23 +++++------------------
> 2 files changed, 9 insertions(+), 19 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 523efd42c1..f324df7a1f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -518,7 +518,10 @@ mostlyclean: parent-mostlyclean
> @$(MAKE) subdir_mostlyclean no_deps=t
> -rm -f $(postclean)
>
> -tests-clean:
> +# Remove test artifacts from the whole glibc build.
> +# do-tests-clean removes test artifacts from top-level directory, and
> +# subdir_testclean removes them from individual sub-directories.
> +tests-clean: do-tests-clean
> @$(MAKE) subdir_testclean no_deps=t
>
> ifneq (,$(CXX))
> diff --git a/Makerules b/Makerules
> index 2ccf26d320..018780c818 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -1334,18 +1334,13 @@ echo-headers:
> clean: common-clean
> mostlyclean: common-mostlyclean
>
> +# Remove test artifacts from a given directory
> do-tests-clean:
> - -rm -f $(addprefix $(objpfx),$(addsuffix .out,$(tests) \
> - $(tests-internal) \
> - $(xtests) \
> - $(test-srcs)) \
> - $(addsuffix .test-result,$(tests) \
> - $(tests-internal) \
> - $(xtests) \
> - $(test-srcs)))
> + -find $(objpfx) -name '*.out' -delete
> + -find $(objpfx) -name '*.test-result' -delete
>
> # Remove the object files.
> -common-mostlyclean:
> +common-mostlyclean: do-tests-clean
> -rm -f $(addprefix $(objpfx),$(tests) $(tests-internal) $(xtests) \
> $(test-srcs) \
> $(others) $(sysdep-others) stubs \
> @@ -1354,15 +1349,7 @@ common-mostlyclean:
> $(xtests) \
> $(test-srcs) \
> $(others) \
> - $(sysdep-others)) \
> - $(addsuffix .out,$(tests) \
> - $(tests-internal) \
> - $(xtests) \
> - $(test-srcs)) \
> - $(addsuffix .test-result,$(tests) \
> - $(tests-internal) \
> - $(xtests) \
> - $(test-srcs)))
> + $(sysdep-others)))
> -rm -f $(addprefix $(objpfx),$(extra-objs) $(extra-test-objs) \
> $(install-lib) $(install-lib.so) \
> $(install-lib.so:%.so=%_pic.a))
More information about the Libc-alpha
mailing list