Because setting the option makes some tests stable that are currently randomly
failing with error on especially s390x and aarch64.
We observed the failing tests are calling `assert_in_out_err` method
calling `invoke_ruby` calling method.
Then when the `th_stdout.join(timeout)` or `th_stderr.join(timeout)` returns
`nil` as thread timeout in `invoke_ruby` method, it causes the error. [1][2]
The `test_timeout_scale` macro is to set the environment variable
`RUBY_TEST_TIMEOUT_SCALE` to increase the timeout in `apply_timeout_scale`
method as <new timeout> = <timeout> * <timeout scale>.
As an example, `TestBugReporter#test_bug_reporter_add` test's
maximum thread timeout was 56+ seconds for the default timeout 10 seconds. [3]
In this case setting `RUBY_TEST_TIMEOUT_SCALE=6` (6 * 10 = 60) is good enough
for 56+ seconds.
[1] https://github.com/ruby/ruby/blob/v2_7_1/tool/lib/envutil.rb#L149
[2] https://bugs.ruby-lang.org/issues/16492#note-8
[3] https://bugs.ruby-lang.org/issues/16492#note-4
Related: rhbz#1947938
This is needed to compile zlib support. I think it is by accident available in the original buildroot, but not in mine.
I think it is better to explicitly name it.
Related: rhbz#1688758
- Add macros to edit files lists in .gemspec
- Make %%gemspec_{add,remove}_dep modify .gemspec provided by %%setup macro.
- Don't force libraries used to build Ruby to its dependencies.
- Re-enable GMP dependency.
- Update to Ruby 2.5.1.
- Conflict requirement needs to generate dependency.
- Revert "Use --with-setjmp-type=setjmp on aarch64 to work around gcc issue (#1545239)"
- Merge a difference between rawhide and f28.
The macros need to be udpated, since RPM 4.14+ can expand .gem files and
also also provide %{gem_name}.gemspec file used to rebuild the gem.
However, the .gemspec file is not in current directory, but directly in
%{_builddir}.
If there is only conflict requirement, this still menas that there is
dependency on that package and appropriate requirement must be generated
(rhbz#1561487)
If there is only conflict requirement, this still menas that there is
dependency on that package and appropriate requirement must be generated
(rhbz#1561487)