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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.