summaryrefslogtreecommitdiff
path: root/gnu/packages/rust.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-03-08 22:07:15 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-05-07 19:29:20 +0300
commit9ac27d1b82c8f2d837630afa8796147575015170 (patch)
tree9756a0360e8e9fc27158679dd3dc7dab20132c35 /gnu/packages/rust.scm
parentb9873d6c6720072035571a0039b7ddb3b6eb4e76 (diff)
gnu: rust: Fix test suite on some architectures.
* gnu/packages/rust.scm (rust)[arguments]: In the custom 'patch-process-tests phase rewrite the logic for skipping some tests so that it doesn't cause errors on aarch64-linux or riscv64-linux.
Diffstat (limited to 'gnu/packages/rust.scm')
-rw-r--r--gnu/packages/rust.scm10
1 files changed, 4 insertions, 6 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6672197f31..c3a581308b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -760,13 +760,11 @@ safety and thread safety guarantees.")
(substitute* "library/std/src/process/tests.rs"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
+ ;; The three tests which are known to fail upstream on QEMU
+ ;; emulation on aarch64 and riscv64 also fail on x86_64 in Guix's
+ ;; build system. Skip them on all builds.
(substitute* "library/std/src/sys/unix/process/process_common/tests.rs"
- (("fn test_process_mask")
- "#[ignore]\nfn test_process_mask")
- (("fn test_process_group_posix_spawn")
- "#[ignore]\nfn test_process_group_posix_spawn")
- (("fn test_process_group_no_posix_spawn")
- "#[ignore]\nfn test_process_group_no_posix_spawn")))))
+ (("target_arch = \"arm\",") "target_os = \"linux\",")))))
(add-after 'unpack 'disable-interrupt-tests
(lambda _
;; This test hangs in the build container; disable it.