On Sat, 12 Jan 2019 21:33:53 -0800
Jeremy Evans <[email protected]> wrote:
> I think was able to fix both JIT issues.
Your new tarball from Sun, 13 Jan, fixes the JIT problems on my
powerpc machine. "MJIT: CC defaults to /usr/bin/cc"
Old result, broken JIT:
Finished tests in 6145.605596s, 3.2864 tests/s, 371.8192 assertions/s.
20197 tests, 2285054 assertions, 64 failures, 16 errors, 112 skips
New result, fixed JIT:
Finished tests in 6827.563384s, 2.9582 tests/s, 334.5004 assertions/s.
20197 tests, 2283823 assertions, 14 failures, 15 errors, 111 skips
(I failed to clean my old ruby26 binary and the TEST_DEPENDS
reinstalled the old one. The JIT tests passed, so they must have been
testing the new binary, not the old one.)
I saw 2 failures that weren't DES crypt or SSL:
8) Failure:
Fiddle::TestImport#test_gettimeofday [/usr/ports/pobj/ruby-2.6.0/ruby-2.6.0/test
/fiddle/test_import.rb:126]:
Failed assertion, no message given.
I looked at test/fiddle/test_import.rb and it declares Timeval with
"long tv_sec", which has the correct 64 bits on amd64 and the wrong
32 bits on powerpc. I typically run the tests on amd64, so I didn't
see this failure until now. The test is wrong so we can ignore it.
12) Failure:
TestEnumerable#test_sum [/usr/ports/pobj/ruby-2.6.0/ruby-2.6.0/test/ruby/test_en
um.rb:1065]:
<Infinity> expected but was
<NaN>.
test/ruby/test_enum.rb does `k.new(+Float::INFINITY, 0.0).sum` where
k#each yields Float::INFINITY then 0.0. I can reproduce the wrong NaN
in both irb25 and irb26 on powerpc:
irb(main):045:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.sum
=> NaN
irb(main):046:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.reduce(:+)
=> Infinity
irb(main):047:0> Enumerator.new{|y| y << Float::INFINITY << 0.0}.to_a.sum
=> Infinity
Trying the same 3 lines on amd64: irb25 gives NaN, Infinity, NaN;
irb from ruby 2.7.0dev (2019-01-13 trunk 66808) gives the correct
Infinity, Infinity, Infinity. Therefore, Enumerable#sum has some
Float problem on powerpc, but Ruby 2.6 isn't worse than 2.5.
--
George Koehler <[email protected]>