gawk: remove load-sensitive tests

The time and timeout tests are sensitive to system load, and as we run
these on build machines they fail randomly.

[ YOCTO #14371 ]

(From OE-Core rev: d2b62913a5771169265171129fe972c8e252fe04)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2021-12-21 17:09:12 +00:00
committed by Richard Purdie
parent 65e8df66d9
commit a84b8d683b
3 changed files with 36 additions and 29 deletions

View File

@@ -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 _$@

View File

@@ -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
}

View 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"