Subject: [bug#39120] [PATCH 09/12] gnu: ruby-tzinfo: Skip safe tests.

From: Christopher Baines <[email-masked]>
Date: Mon, 13 Jan 2020 22:53:33 +0000

The safe tests attempt to run with Ruby 2.6, but these tests fail if the build
takes place within /tmp, as the Ruby LOAD_PATH then includes /tmp, which is
world writable.

* gnu/packages/ruby.scm (ruby-tzinfo)[arguments]: Add skip-safe-tests phase.
---
 gnu/packages/ruby.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b39769acaa..088b975a22 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4072,6 +4072,16 @@ utilities for Ruby.")
         (base32
          "09dpbrih054mn42flbbcdpzk2727mzfvjrgqb12zdafhx7p9rrzp"))))
     (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'skip-safe-tests
+           (lambda _
+             (substitute* "test/test_utils.rb"
+               (("def safe_test\\(options = \\{\\}\\)")
+                 "def safe_test(options = {})
+      skip('The Guix build environment has an unsafe load path')"))
+             #t)))))
     (propagated-inputs
      `(("ruby-thread-safe" ,ruby-thread-safe)))
     (synopsis "Time zone library for Ruby")
-- 
2.24.1