From: rajmohan r <semc.2042@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH] glibc-y2038-tests:add tests-special in run-built-tests yes
Date: Thu, 10 Apr 2025 15:37:03 +0530 [thread overview]
Message-ID: <20250410100703.1006340-1-semc.2042@gmail.com> (raw)
If 'run-built-tests' is 'yes' run the test binaries, else do not run
the test binaries.
Currently its taking 20min to complete do_check() for glibc-y2038-tests.
Test binaries are run in do_check() stage though 'run-built-tests' is
set 'no'. Which is wrong hence include 'tests-special' target inside
the 'run-built-tests' condition when set to 'yes' to avoid running the
test binaries.
Also remove 'tests-special' target from the 'tests' and 'xtests' list
when run-built-tests set to 'no' to avoid running test binaries.
After this change, no binary is run and time to complete do_check()
stage is 7min.
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: rajmohan r <semc.2042@gmail.com>
---
.../glibc/glibc-y2038-tests_2.41.bb | 1 +
...tests-special-in-run-built-tests-yes.patch | 184 ++++++++++++++++++
2 files changed, 185 insertions(+)
create mode 100644 meta/recipes-core/glibc/glibc/include-tests-special-in-run-built-tests-yes.patch
diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb
index 9ea09a4e12..2e1f9b02c9 100644
--- a/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb
+++ b/meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb
@@ -5,6 +5,7 @@ inherit ptest features_check
REQUIRED_DISTRO_FEATURES = "ptest"
SRC_URI += "\
+ file://include-tests-special-in-run-built-tests-yes.patch \
file://run-ptest \
"
diff --git a/meta/recipes-core/glibc/glibc/include-tests-special-in-run-built-tests-yes.patch b/meta/recipes-core/glibc/glibc/include-tests-special-in-run-built-tests-yes.patch
new file mode 100644
index 0000000000..f8f78c5863
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/include-tests-special-in-run-built-tests-yes.patch
@@ -0,0 +1,184 @@
+glibc-y2038-tests: include tests-special in run-built-tests yes
+
+If 'run-built-tests' is 'yes' run the test binaries, else do not run
+the test binaries.
+
+Currently its taking 20min to complete do_check() for glibc-y2038-tests.
+Test binaries are run in do_check() stage though 'run-built-tests' is
+set 'no'. Which is wrong hence include 'tests-special' target inside
+the 'run-built-tests' condition when set to 'yes' to avoid running the
+test binaries.
+
+Also remove 'tests-special' target from the 'tests' and 'xtests' list
+when run-built-tests set to 'no' to avoid running test binaries.
+
+After this change, no binary is run and time to complete do_check()
+stage is 7min.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: rajmohan r <semc.2042@gmail.com>
+---
+ Makefile | 16 ++++++++++++++++
+ Makerules | 2 ++
+ Rules | 8 ++++++--
+ 3 files changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5c20ed3..ed95e99 100644
+--- a/Makefile
++++ b/Makefile
+@@ -545,21 +545,26 @@ tests-clean: do-tests-clean
+ @$(MAKE) subdir_testclean no_deps=t
+
+ ifneq (,$(CXX))
++ifeq ($(run-built-tests),yes)
+ vpath c++-types.data $(+sysdep_dirs)
+
+ tests-special += $(objpfx)c++-types-check.out
+ $(objpfx)c++-types-check.out: c++-types.data scripts/check-c++-types.sh
+ scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu11 $(+gccwarn-c),$(CFLAGS)) $(CPPFLAGS) > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+ endif
+
++ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)check-local-headers.out
+ $(objpfx)check-local-headers.out: scripts/check-local-headers.sh
+ AWK='$(AWK)' scripts/check-local-headers.sh \
+ "$(includedir)" "$(objpfx)" < /dev/null > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+
+ ifneq "$(headers)" ""
++ifeq ($(run-built-tests),yes)
+ # Special test of all the installed headers in this directory.
+ tests-special += $(objpfx)check-installed-headers-c.out
+ libof-check-installed-headers-c := testsuite
+@@ -570,8 +575,10 @@ $(objpfx)check-installed-headers-c.out: \
+ $(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
+ $(headers) > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+
+ ifneq "$(CXX)" ""
++ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)check-installed-headers-cxx.out
+ libof-check-installed-headers-cxx := testsuite
+ $(objpfx)check-installed-headers-cxx.out: \
+@@ -581,14 +588,18 @@ $(objpfx)check-installed-headers-cxx.out: \
+ $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
+ $(headers) > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+ endif # $(CXX)
+
++ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)check-wrapper-headers.out
+ $(objpfx)check-wrapper-headers.out: scripts/check-wrapper-headers.py $(headers)
+ $(PYTHON) $< --root=. --subdir=. $(headers) \
+ --generated $(common-generated) > $@; $(evaluate-test)
++endif # $(run-built-tests) = yes
+ endif # $(headers)
+
++ifeq ($(run-built-tests),yes)
+ # Lint all Makefiles; including this one. Pass `pwd` as the source
+ # directory since the top-level Makefile is in the root of the source
+ # tree and these tests are run from there. We add light-weight linting
+@@ -598,7 +609,9 @@ tests-special += $(objpfx)lint-makefiles.out
+ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.sh
+ $(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+
++ifeq ($(run-built-tests),yes)
+ # Link libc.a as a whole to verify that it does not contain multiple
+ # definitions of any symbols.
+ tests-special += $(objpfx)link-static-libc.out
+@@ -606,6 +619,7 @@ $(objpfx)link-static-libc.out:
+ $(LINK.o) $(whole-archive) -nostdlib -nostartfiles -r \
+ $(objpfx)libc.a -o /dev/null > $@ 2>&1; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+
+ # Print test summary for tests in $1 .sum file;
+ # $2 is optional test identifier.
+@@ -686,6 +700,7 @@ endif
+ rm -f $(symbolic-link-list)
+ touch $(objpfx)testroot.pristine/install.stamp
+
++ifeq ($(run-built-tests),yes)
+ tests-special-notdir = $(patsubst $(objpfx)%, %, $(tests-special))
+ tests: $(tests-special)
+ $(..)scripts/merge-test-results.sh -s $(objpfx) "" \
+@@ -700,6 +715,7 @@ xtests:
+ $(sort $(subdirs)) \
+ > $(objpfx)xtests.sum
+ $(call summarize-tests,xtests.sum, for extra tests)
++endif # $(run-built-tests) = yes
+
+ # The realclean target is just like distclean for the parent, but we want
+ # the subdirs to know the difference in case they care.
+diff --git a/Makerules b/Makerules
+index ada6168..40b5ef2 100644
+--- a/Makerules
++++ b/Makerules
+@@ -1232,6 +1232,7 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
+ endif
+
+ ifeq ($(build-shared),yes)
++ifeq ($(run-built-tests),yes)
+ # Generate normalized lists of symbols, versions, and data sizes.
+ # This is handy for checking against existing library binaries.
+
+@@ -1321,6 +1322,7 @@ tests-special += $(check-abi-list)
+ endif
+ endif
+
++endif # $(run-built-tests) = yes
+ endif
+ \f
+ FORCE:
+diff --git a/Rules b/Rules
+index c8adc00..5a77516 100644
+--- a/Rules
++++ b/Rules
+@@ -94,6 +94,7 @@ $(objpfx)check-installed-headers-c.out: \
+ ifneq "$(CXX)" ""
+ # If a C++ compiler is available, also test that they can be compiled
+ # in isolation as C++.
++ifeq ($(run-built-tests),yes)
+ tests-special += $(objpfx)check-installed-headers-cxx.out
+ libof-check-installed-headers-cxx := testsuite
+ $(objpfx)check-installed-headers-cxx.out: \
+@@ -103,8 +104,10 @@ $(objpfx)check-installed-headers-cxx.out: \
+ $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
+ $(headers) > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+ endif # $(CXX)
+
++ifeq ($(run-built-tests),yes)
+ # Test that a wrapper header exists in include/ for each non-sysdeps header.
+ # This script does not need $(py-env).
+ tests-special += $(objpfx)check-wrapper-headers.out
+@@ -112,6 +115,7 @@ $(objpfx)check-wrapper-headers.out: \
+ $(..)scripts/check-wrapper-headers.py $(headers)
+ $(PYTHON) $< --root=$(..) --subdir=$(subdir) $(headers) > $@; \
+ $(evaluate-test)
++endif # $(run-built-tests) = yes
+
+ # Test that none of the headers installed by this directory use certain
+ # obsolete constructs (e.g. legacy BSD typedefs superseded by stdint.h).
+@@ -153,9 +157,9 @@ tests: $(addprefix $(objpfx),$(filter-out $(tests-unsupported), \
+ $(tests-malloc-check:%=%-malloc-check) \
+ $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \
+ $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2)) \
+- $(test-srcs)) $(tests-special) \
++ $(test-srcs)) \
+ $(tests-printers-programs)
+-xtests: tests $(xtests-special)
++xtests: tests
+ else # $(run-built-tests) != no
+ # The $(xtests) dependency ensures that xtests are always built.
+ tests: $(tests:%=$(objpfx)%.out) $(tests-internal:%=$(objpfx)%.out) \
--
2.34.1
next reply other threads:[~2025-04-10 10:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-10 10:07 rajmohan r [this message]
2025-04-10 19:33 ` [OE-core] [PATCH] glibc-y2038-tests:add tests-special in run-built-tests yes Alexander Kanavin
2025-04-22 11:03 ` rajmohan r
2025-04-22 15:52 ` [OE-core] " Alexander Kanavin
2025-04-24 14:50 ` rajmohan r
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250410100703.1006340-1-semc.2042@gmail.com \
--to=semc.2042@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox