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:
parent
ca7ef4d418
commit
76002e54f2
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
+# }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue