gnu: gawk: Protect against random failures of the 'fts' test.

* gnu/packages/patches/gawk-fts-test.patch: New file.
* gnu/packages/gawk.scm (gawk)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
Ludovic Courtès 2016-01-14 10:42:08 +01:00
parent ca7ef4d418
commit 76002e54f2
3 changed files with 56 additions and 2 deletions

View File

@ -467,6 +467,7 @@ dist_patch_DATA = \
gnu/packages/patches/flint-ldconfig.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/freeimage-CVE-2015-0852.patch \
gnu/packages/patches/gawk-fts-test.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@ -19,6 +19,7 @@
(define-module (gnu packages gawk)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages libsigsegv)
#:use-module (guix packages)
@ -34,7 +35,8 @@
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
(base32 "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"))))
(base32 "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"))
(patches (list (search-patch "gawk-fts-test.patch")))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; test suite fails in parallel

View File

@ -0,0 +1,51 @@
This is upstream commit c9a018c. We have observed random failures of
this test on i686 that seem related to load.
2015-05-21 Arnold D. Robbins <arnold@skeeve.com>
* fts.awk: Really remove atime from the output.
This avoids spurious failures on heavily loaded systems.
diff --git a/test/fts.awk b/test/fts.awk
index b1df060..dea5b68 100644
--- a/test/fts.awk
+++ b/test/fts.awk
@@ -50,6 +50,11 @@ function sort_traverse(data, sorted, i)
{
asorti(data, sorted)
for (i = 1; i in sorted; i++) {
+ # 5/2015: skip for atime, since there can
+ # occasionally be small differences.
+ if (sorted[i] == "atime")
+ continue
+
indent()
printf("%s --> %s\n", sorted[i], data[sorted[i]]) > output
}
@@ -63,17 +68,20 @@ function traverse(data, i)
printf("%s:\n", i) > output
Level++
- if (("mtime" in data[i]) && ! isarray(data[i][mtime])) {
+ if (("mtime" in data[i]) && ! isarray(data[i]["mtime"])) {
sort_traverse(data[i])
} else {
traverse(data[i])
}
Level--
- } else if (data[i] != "atime") {
- # 4/2015: skip for atime, since there can
- # occasionally be small differences.
- indent()
- printf("%s --> %s\n", i, data[i]) > output
+# } else {
+# JUNK = 1
+# if (i != "atime") {
+# # 4/2015: skip for atime, since there can
+# # occasionally be small differences.
+# indent()
+# printf("%s --> %s\n", i, data[i]) > output
+# }
}
}
}