* e.g., `--require` specified in SPEC_OPTS will be merged with `--require` specified in `.rspec` * Fixes #594
- Most of the time users don't use DRB. This'll speed up the start time a bit by not unnecessarily loading it when it's not used. - Apparently jruby 1.7.0-preview1 loads the delegate library when DRB is loaded . This causes expectations on delegate objects to fail because `should` never gets added to them. By delaying when delegate gets loaded, it allows a user to load `rspec/expectations` and then `delegate` and ensure it works.  rspec/rspec-expectations#148 (comment)  The backtrace at the point delegate is loaded: /Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:1:in `require' /Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:1:in `(root)' /Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:57:in `require' /Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:57:in `(root)' /Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `require' /Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `(root)' /Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `(root)' file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:1:in `(root)' file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:19:in `require' file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:19:in `require_relative' /Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core.rb:4:in `require' /Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core.rb:4:in `require_rspec' /Users/myron/.rvm/gems/jruby-head/bin/rspec:23:in `load' /Users/myron/.rvm/gems/jruby-head/bin/rspec:23:in `(root)'
…lock. - Closes #615.
`subject` already memoizes the value
* Fix specs. The `should_receive(:message).with(/.../)` wasn't working as expected...it passed even if the message text didn't match the regex. I figured out that it was because of the fact that the error was being raised within the example-under-test, which already had two errors and was simply printing (or, previously, silencing) the extra error. The solution is to capture the reported message using a stub implementation, and then assert on it after running the example. * The added context ("in an after hook") for 2nd errors happening in an after hook wasn't being included in the printed message. This is fixed now.
When an example raises an error and an after or around hook also raises an error, the 2nd error was being silenced, since `set_exception` was a no-op when the exception was already set. Silencing errors is bad, so we should print the error instead. See https://github.com/myronmarston/vcr/issues/167#issuecomment-5814249 for the issue that triggered this change.
travis-ci will be supporting multiple OS's in the future.