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.
This commit is contained in:
Maxim Cournoyer 2023-04-11 21:35:54 -04:00
parent 3ab983d630
commit 99c468b064
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -3694,29 +3694,16 @@ (define-public ruby-rubyzip
(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 tests compare zipped files with data test files; since the
;; zip files do not have their shebangs patched, the data files
;; compared with 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")