[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