Skip to content

avoid TypeError when exiting

gitlab-qa-bot requested to merge github/fork/paddor/master into master

Created by: paddor

I'm developing a binding based on FFI, and frequently the C library asserts. That's okay. But then, instead of just reporting that failure, rspec crashes with a TypeError while exiting:

[...]
  #configure
    with support for UDP broadcasts
      sends correct message to actor
    no support for UDP broadcasts
      raises
  #publish
    with data
      sends correct message to actor
    with data too long
      raises
  #silence
Assertion failed: (self->handle), function zsock_new_checked, file src/zsock.c, line 69.
/Users/paddor/.rubies/ruby-2.3.0/bin/ruby -I/Users/paddor/.gem/ruby/2.3.0/gems/rspec-support-3.4.1/lib:/Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/lib /Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
rake aborted!
TypeError: no implicit conversion from nil to integer
/Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/rake_task.rb:84:in `exit'
/Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/rake_task.rb:84:in `run_task'
/Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/rake_task.rb:96:in `block (2 levels) in define'
/Users/paddor/.gem/ruby/2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/rake_task.rb:94:in `block in define'
Tasks: TOP => default => spec
(See full trace by running task with --trace)

This leads to confusion when not used to seeing this failure. This PR solves this annoyance.

Merge request reports