You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2017/03/28 14:42:41 UTC

[jira] [Updated] (AVRO-1516) Unit test failure in Ruby 2.0 and above

     [ https://issues.apache.org/jira/browse/AVRO-1516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sean Busbey updated AVRO-1516:
------------------------------
    Fix Version/s: 1.8.2
                   1.9.0
                   1.7.8

> Unit test failure in Ruby 2.0 and above
> ---------------------------------------
>
>                 Key: AVRO-1516
>                 URL: https://issues.apache.org/jira/browse/AVRO-1516
>             Project: Avro
>          Issue Type: Test
>          Components: ruby
>    Affects Versions: 1.7.6
>            Reporter: Martin Kleppmann
>             Fix For: 1.7.8, 1.9.0, 1.8.2
>
>
> The following unit test fails when run with Ruby 2.0 and above:
> {noformat}
> $ bundle exec rake test
> /Users/mkleppma/.rubies/ruby-2.0.0-p195/bin/ruby -I"lib:ext:bin:test" -I"/Users/mkleppma/.gem/ruby/2.0.0/gems/rake-10.3.1/lib" "/Users/mkleppma/.gem/ruby/2.0.0/gems/rake-10.3.1/lib/rake/rake_test_loader.rb" "test/test_datafile.rb" "test/test_help.rb" "test/test_io.rb" "test/test_protocol.rb" "test/test_schema.rb" "test/test_socket_transport.rb"
> Run options:
> # Running tests:
> [30/41] TestIO#test_union = 0.00 s
>   1) Failure:
> test_union(TestIO) [/Users/mkleppma/Applications/avro/lang/ruby/test/test_io.rb:339]:
> <-3372032630846393039> expected but was
> <-3.372032630846393e+18>.
> Finished tests in 0.346139s, 118.4495 tests/s, 2207.2058 assertions/s.
> 41 tests, 764 assertions, 1 failures, 0 errors, 0 skips
> ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]
> rake aborted!
> Command failed with status (1): [ruby -I"lib:ext:bin:test" -I"/Users/mkleppma/.gem/ruby/2.0.0/gems/rake-10.3.1/lib" "/Users/mkleppma/.gem/ruby/2.0.0/gems/rake-10.3.1/lib/rake/rake_test_loader.rb" "test/test_datafile.rb" "test/test_help.rb" "test/test_io.rb" "test/test_protocol.rb" "test/test_schema.rb" "test/test_socket_transport.rb" ]
> /Users/mkleppma/.gem/ruby/2.0.0/gems/echoe-4.6.5/lib/echoe.rb:749:in `block in define_tasks'
> Tasks: TOP => test_inner
> (See full trace by running task with --trace)
> {noformat}
> Brief investigation suggests that this isn't a bug in Avro, but just a badly written test. The test is comparing -3372032630846393039 and -3372032630846393000.0, which Ruby 1.9 and below consider to be equal, but Ruby 2.0 and above consider to be non-equal.
> Our tests shouldn't be relying on such edge cases of type coercion.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)