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.master
parent
ca7ef4d418
commit
76002e54f2
|
@ -467,6 +467,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/flint-ldconfig.patch \
|
gnu/packages/patches/flint-ldconfig.patch \
|
||||||
gnu/packages/patches/fltk-shared-lib-defines.patch \
|
gnu/packages/patches/fltk-shared-lib-defines.patch \
|
||||||
gnu/packages/patches/freeimage-CVE-2015-0852.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/gawk-shell.patch \
|
||||||
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
|
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||||
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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>
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
(define-module (gnu packages gawk)
|
(define-module (gnu packages gawk)
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages libsigsegv)
|
#:use-module (gnu packages libsigsegv)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
|
@ -34,7 +35,8 @@
|
||||||
(uri (string-append "mirror://gnu/gawk/gawk-" version
|
(uri (string-append "mirror://gnu/gawk/gawk-" version
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"))))
|
(base32 "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"))
|
||||||
|
(patches (list (search-patch "gawk-fts-test.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:parallel-tests? #f ; test suite fails in parallel
|
`(#: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
|
||||||
|
+# }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue