diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | test/-ext-/float/test_nextafter.rb | 13 |
2 files changed, 17 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Sat Mar 5 07:36:27 2016 Rei Odaira <Rei.Odaira@gmail.com> + + * test/-ext-/float/test_nextafter.rb: In AIX, + nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, + but they should return -0.0 and +0.0, respectively. This is + a known bug in nextafter(3) on AIX, so skip related tests. + Sat Mar 5 07:14:10 2016 Rei Odaira <Rei.Odaira@gmail.com> * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine): diff --git a/test/-ext-/float/test_nextafter.rb b/test/-ext-/float/test_nextafter.rb index c131d1e413..636f803fac 100644 --- a/test/-ext-/float/test_nextafter.rb +++ b/test/-ext-/float/test_nextafter.rb @@ -46,9 +46,16 @@ class TestFloatExt < Test::Unit::TestCase if v1 == 0 s1 = 1.0/v1 < 0 ? "negative-zero" : "positive-zero" s2 = 1.0/v2 < 0 ? "negative-zero" : "positive-zero" - assert_equal(s1, s2, - "Bug::Float.missing_nextafter(#{'%a' % n1}, #{'%a' % n2}) = #{'%a' % v1} != " + - "#{'%a' % v2} = Bug::Float.system_nextafter(#{'%a' % n1}, #{'%a' % n2})") + begin + assert_equal(s1, s2, + "Bug::Float.missing_nextafter(#{'%a' % n1}, #{'%a' % n2}) = #{'%a' % v1} != " + + "#{'%a' % v2} = Bug::Float.system_nextafter(#{'%a' % n1}, #{'%a' % n2})") + rescue Minitest::Assertion + if /aix/ =~ RUBY_PLATFORM + skip "Known bug in nextafter(3) on AIX" + end + raise $! + end end end } |