]> code.ossystems Code Review - openembedded-core.git/commitdiff
gawk: remove load-sensitive tests
authorRoss Burton <ross@burtonini.com>
Tue, 21 Dec 2021 17:09:12 +0000 (17:09 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 22 Dec 2021 23:09:22 +0000 (23:09 +0000)
The time and timeout tests are sensitive to system load, and as we run
these on build machines they fail randomly.

[ YOCTO #14371 ]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/gawk/gawk/remove-sensitive-tests.patch [new file with mode: 0644]
meta/recipes-extended/gawk/gawk/test-time.patch [deleted file]
meta/recipes-extended/gawk/gawk_5.1.1.bb

diff --git a/meta/recipes-extended/gawk/gawk/remove-sensitive-tests.patch b/meta/recipes-extended/gawk/gawk/remove-sensitive-tests.patch
new file mode 100644 (file)
index 0000000..167c078
--- /dev/null
@@ -0,0 +1,24 @@
+These tests require an unloaded host as otherwise timing sensitive tests can fail
+https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+--- a/test/Maketests~
++++ b/test/Maketests
+@@ -2069,7 +2069,2 @@
+
+-timeout:
+-      @echo $@ $(ZOS_FAIL)
+-      @AWKPATH="$(srcdir)" $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+-      @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+-
+ typedregex1:
+@@ -2297,7 +2292,2 @@
+       @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+-
+-time:
+-      @echo $@
+-      @AWKPATH="$(srcdir)" $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+-      @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
diff --git a/meta/recipes-extended/gawk/gawk/test-time.patch b/meta/recipes-extended/gawk/gawk/test-time.patch
deleted file mode 100644 (file)
index 05a68c5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-The test time.awk does a sleep() and checks that the real sleep duration is
-close to the expected duration.
-
-As currently our tests can run on a heavily loaded system, increase the range of
-a passing duration.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/test/time.awk b/test/time.awk
-index 517377e2..ca81d92d 100644
---- a/test/time.awk
-+++ b/test/time.awk
-@@ -16,7 +16,7 @@ BEGIN {
-    printf "sleep(%s) = %s\n",delta,sleep(delta)
-    t1 = timecheck()
-    slept = t1-t0
--   if ((slept < 0.9*delta) || (slept > 1.3*delta))
-+   if ((slept < 0.5*delta) || (slept > 2*delta))
-       printf "Warning: tried to sleep %.2f secs, but slept for %.2f secs\n",
-            delta,slept
- }
index 215ac8c860713c74351acff6f1a714d9b8a34b5f..8990253c5e5d22b0ccb304639d2a37fbbda83008 100644 (file)
@@ -16,8 +16,8 @@ PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
 
 SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
+           file://remove-sensitive-tests.patch \
            file://run-ptest \
-           file://test-time.patch \
            "
 
 SRC_URI[sha256sum] = "6168d8d1dc8f74bd17d9dc22fa9634c49070f232343b744901da15fb4f06bffd"
@@ -41,19 +41,24 @@ inherit ptest
 do_install_ptest() {
        mkdir ${D}${PTEST_PATH}/test
        ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
-       for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
-         do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
+       # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy
+       TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests)
+       for i in $TESTS Maketests inclib.awk; do
+               cp ${S}/test/$i* ${D}${PTEST_PATH}/test
        done
        sed -i -e 's|/usr/local/bin|${bindir}|g' \
            -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
 
-        sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
+       sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
+
+       # These tests require an unloaded host as otherwise timing sensitive tests can fail
+       # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
+       rm -f ${D}${PTEST_PATH}/test/time.*
+       rm -f ${D}${PTEST_PATH}/test/timeout.*
 }
 
 RDEPENDS:${PN}-ptest += "make"
 
-RDEPENDS:${PN}-ptest:append:libc-glibc = "\
-     locale-base-en-us.iso-8859-1 \
-"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1"
 
 BBCLASSEXTEND = "native nativesdk"