| open_posix_testsuite/generate-makefiles.sh: Fix determinism issue |
| |
| Currently the list of tests is generated by the order of the files found |
| within the directories. This results in differences in the run.sh and |
| Makefiles. Within Yocto Project this results in differing target |
| test packages. The fix is simple, just sort the output from locate-test. |
| |
| mk/lib.mk: Sort wildcard expansion for determinism |
| |
| The order of the objects linked into libltp.a varies depending on the |
| order of the files found on disk. This results in most ltp binaries |
| differing depending on that order too. |
| |
| Sort the wildcard expansion of *.c which leads to reproducible binaries. |
| |
| Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
| Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021272.html http://lists.linux.it/pipermail/ltp/2021-March/021273.html] |
| |
| Index: git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh |
| =================================================================== |
| --- git.orig/testcases/open_posix_testsuite/scripts/generate-makefiles.sh |
| +++ git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh |
| @@ -24,7 +24,7 @@ generate_locate_test_makefile() { |
| |
| echo "Generating $maketype Makefiles" |
| |
| - locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype |
| + locate-test --$maketype | sed -e 's,^./,,g' | sort > make-gen.$maketype |
| |
| generate_makefiles make-gen.$maketype $* |
| |
| Index: git/include/mk/lib.mk |
| =================================================================== |
| --- git.orig/include/mk/lib.mk |
| +++ git/include/mk/lib.mk |
| @@ -50,6 +50,7 @@ endif |
| MAKE_TARGETS += $(LIB) |
| |
| LIBSRCS ?= $(wildcard $(abs_srcdir)/*.c) |
| +LIBSRCS := $(sort $(LIBSRCS)) |
| LIBSRCS := $(abspath $(LIBSRCS)) |
| LIBSRCS := $(subst $(abs_srcdir)/,,$(wildcard $(LIBSRCS))) |
| LIBSRCS := $(filter-out $(FILTER_OUT_LIBSRCS),$(LIBSRCS)) |