new file mode 100644
@@ -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 _$@
+
deleted file mode 100644
@@ -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
- }
@@ -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"
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> --- .../gawk/gawk/remove-sensitive-tests.patch | 24 +++++++++++++++++++ .../gawk/gawk/test-time.patch | 22 ----------------- meta/recipes-extended/gawk/gawk_5.1.1.bb | 19 +++++++++------ 3 files changed, 36 insertions(+), 29 deletions(-) create mode 100644 meta/recipes-extended/gawk/gawk/remove-sensitive-tests.patch delete mode 100644 meta/recipes-extended/gawk/gawk/test-time.patch