summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-11 21:35:54 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-11 21:35:54 -0400
commitf32c98c36711c1817ba7269337d9e22215282179 (patch)
treee6f930379cbcc3ca22cca0203912057db60e83f4 /gnu/packages/ruby.scm
parent5842d69824f7235ce89401cc15a1fce4dcb3ce00 (diff)
gnu: ruby-rubyzip: Re-instate all tests.
* gnu/packages/ruby.scm (ruby-rubyzip) [arguments]: Do not patch ruby shebang in the patch-tests phase. Remove the disable-problematic-tests phase. Add the unpatch-some-source-shebangs phase.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm31
1 files changed, 9 insertions, 22 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0777d12095..acc8dc1af8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3694,29 +3694,16 @@ Ruby Gems.")
(add-before 'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/gentestfiles.rb"
- (("/usr/bin/zip") (which "zip")))
- (substitute* "test/input_stream_test.rb"
- (("/usr/bin/env ruby") (which "ruby")))))
- (add-before 'check 'disable-problematic-tests
+ (("/usr/bin/zip") (which "zip")))))
+ (add-after 'patch-source-shebangs 'unpatch-some-source-shebangs
(lambda _
- (let-syntax ((skip-tests
- (syntax-rules ()
- ((_ file test ...)
- (substitute* file
- (((string-append "def " test ".*") all)
- (string-append
- all " skip('fails on guix')\n")) ...)))))
- ;; The test failures were reported here:
- ;; https://github.com/rubyzip/rubyzip/issues/552.
- (skip-tests "test/stored_support_test.rb"
- "test_read")
- (skip-tests "test/stored_support_test.rb"
- "test_encrypted_read")
- (skip-tests "test/output_stream_test.rb"
- "test_put_next_entry_using_zip_entry_creates_\
-entries_with_correct_timestamps")
- (skip-tests "test/file_options_test.rb"
- "test_restore_times_true")))))))
+ ;; The test compare zipped files with data test files; since the
+ ;; zip files do not have their shebangs patched, the data files
+ ;; compared to their extracted version must also be left
+ ;; un-patched.
+ (substitute* (find-files "test/data" "\\.(txt|rb)$")
+ (((which "ruby"))
+ "/usr/bin/env ruby")))))))
(native-inputs
(list bundler ruby-simplecov zip unzip))
(synopsis "Ruby module is for reading and writing zip files")