summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-01-11 11:02:13 +0100
committerMathieu Othacehe <othacehe@gnu.org>2021-01-11 11:18:54 +0100
commita8650a70ab70120a3136366180e32b8812df99c2 (patch)
tree31936c608e4273ebb6992f31d0aa4751e969a789
parent31ebecf73dadb51ccc72053f54dee36c93a2d0ab (diff)
downloadguix-a8650a70ab70120a3136366180e32b8812df99c2.tar.gz
gnu: guile: Fix tests on emulated architectures.
The stack overflow test limits the virtual memory size using setrlimit with
RLIMIT_AS argument. This is ignored when using QEMU transparent emulation,
causing the test to crash.

* gnu/packages/patches/guile-2.2-skip-so-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile.scm (guile-2.2): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/guile.scm3
-rw-r--r--gnu/packages/patches/guile-2.2-skip-so-test.patch23
3 files changed, 26 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 742454f1f9..b4ffbd3a81 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1123,6 +1123,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
+  %D%/packages/patches/guile-2.2-skip-so-test.patch             \
   %D%/packages/patches/guile-default-utf8.patch			\
   %D%/packages/patches/guile-2.2-default-utf8.patch		\
   %D%/packages/patches/guile-relocatable.patch			\
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 442f49cbcb..d023ac7760 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -245,7 +245,8 @@ without requiring the source code to be rewritten.")
                 "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))
               (modules '((guix build utils)))
               (patches (search-patches
-                        "guile-2.2-skip-oom-test.patch"))
+                        "guile-2.2-skip-oom-test.patch"
+                        "guile-2.2-skip-so-test.patch"))
 
               ;; Remove the pre-built object files.  Instead, build everything
               ;; from source, at the expense of significantly longer build
diff --git a/gnu/packages/patches/guile-2.2-skip-so-test.patch b/gnu/packages/patches/guile-2.2-skip-so-test.patch
new file mode 100644
index 0000000000..e7c2594e91
--- /dev/null
+++ b/gnu/packages/patches/guile-2.2-skip-so-test.patch
@@ -0,0 +1,23 @@
+Skip 'test-stack-overflow' that crashes when using QEMU transparent emulation.
+
+--- a/test-suite/standalone/Makefile.in	1970-01-01 01:00:01.000000000 +0100
++++ b/test-suite/standalone/Makefile.in	2021-01-11 10:59:31.606269449 +0100
+@@ -102,8 +102,7 @@
+ 	test-scm-to-latin1-string$(EXEEXT) test-scm-values$(EXEEXT) \
+ 	test-scm-c-bind-keyword-arguments$(EXEEXT) \
+ 	test-srfi-4$(EXEEXT) $(am__append_6) $(am__EXEEXT_1) \
+-	test-smob-mark$(EXEEXT) test-smob-mark-race$(EXEEXT) \
+-	test-stack-overflow
++	test-smob-mark$(EXEEXT) test-smob-mark-race$(EXEEXT)
+ check_PROGRAMS = test-num2integral$(EXEEXT) test-round$(EXEEXT) \
+ 	test-foreign-object-c$(EXEEXT) test-list$(EXEEXT) \
+ 	test-unwind$(EXEEXT) test-conversion$(EXEEXT) \
+@@ -1938,7 +1937,7 @@
+ 	test-command-line-encoding test-command-line-encoding2 \
+ 	test-language test-guild-compile $(am__append_3) \
+ 	test-foreign-object-scm test-fast-slot-ref test-mb-regexp \
+-	test-use-srfi $(am__append_5) test-stack-overflow
++	test-use-srfi $(am__append_5)
+ BUILT_SOURCES = $(am__append_2)
+ EXTRA_DIST = test-import-order-a.scm test-import-order-b.scm \
+ 	test-import-order-c.scm test-import-order-d.scm \