summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-01-14 10:42:08 +0100
committerLudovic Courtès <ludo@gnu.org>2016-01-14 10:43:08 +0100
commit76002e54f2280f5a6416438c513aab14ecddb138 (patch)
tree43e1633848f41e9c9f26162c0b73e4491b2ce634 /gnu/packages/patches
parentca7ef4d41854218c6e6910e1b7d9224382252c58 (diff)
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.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/gawk-fts-test.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/patches/gawk-fts-test.patch b/gnu/packages/patches/gawk-fts-test.patch
new file mode 100644
index 0000000000..de1f5c431c
--- /dev/null
+++ b/gnu/packages/patches/gawk-fts-test.patch
@@ -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
++# }
+ }
+ }
+ }