I'd like to propse the following  change into the Ruby packaging guidelines.
The testrb utility is deprecated and is not present in newer Ruby versions. The testrb utility should not be used during %check.
Instead of testrb, users should call ruby directly in the %check section, like so:
ruby -Ilib -e 'Dir.glob "./test/test_*.rb", &method(:require)'
You may need to adjust -Ilib to be -Ilib:test, or you may need to use a slightly different matching pattern for test_*.rb, etc. Packagers are expected to use the right pattern for each gem.
Please note that there might necessary also changes to Test::UNIT chapter:
We discussed this at this weeks meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-01-08/fpc.2015-01-08-17.01.txt), summary is:
I am afraid the macro wouldn't be much better, since you very often need to adjust:
And I believe that the testrb was removed in Ruby 2.2 since it did not fulfilled exactly the same expectations you have from the macro. This is still definitely better then using something like find and xarg, which people were doing quite often. Ruby developers typically tends to execute the test suite using Rake, but that on the other hand typically require more build dependencies.
BTW this applies not just to Ruby 2.2 and F21, but also to packages which are using MiniTest 5.x (which we have in F21 already), since testrb supports only MiniTest 4.x. Most of the packages went through this change already.
The Ruby guidelines have been updated to account for the removal of the testrb utility. https://fedoraproject.org/wiki/Packaging:Ruby
Metadata Update from @vondruch:
- Issue assigned to tibbs
to comment on this ticket.