true.should be_true end it "should be another example" do true.should be_true end
end
I’m not familiar enough with the rspec code to get to the bottom of
this, but I did enough drilling to find its related to the new
backtrace based strategy for
Spec::SpecParser#spec_name_for(file, line_number). Putting a
print statement inside
Spec::Example::ExampleGroupMethods#registration_backtrace I get the
following which shows that the target spec file isn’t even in the
backtrace from jruby.
def registration_backtrace
backtrace = eval(“caller”, @registration_binding_block)
puts "backtrace: #{backtrace.join("\n")}"
backtrace
end
ruby $GEM_HOME/bin/spec -l 2 $HOME/tmp/linenumber_spec.rb
backtrace: /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/
example/example_group_methods.rb:27:ininitialize' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/extensions/ class.rb:9:in
new’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/extensions/
class.rb:9:insubclass' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/example/ example_group_methods.rb:66:in
create_nested_example_group’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/example/
example_group_methods.rb:53:indescribe' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/example/ example_group_factory.rb:53:in
create_example_group’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/extensions/
main.rb:27:indescribe' /home/jis/compsvc/lenny/tmp/linenumber_spec.rb:1 /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ example_group_runner.rb:14:in
load’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
example_group_runner.rb:14:inload_files' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ example_group_runner.rb:13:in
each’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
example_group_runner.rb:13:inload_files' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ options.rb:98:in
run_examples’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
command_line.rb:10:inrun' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/bin/spec:4 /Users/Shared/RubyGems/1.8/bin/spec:19:in
load’
/Users/Shared/RubyGems/1.8/bin/spec:19
jruby-1.1.4/bin/jruby $GEM_HOME/bin/spec -l 2 $HOME/tmp/
linenumber_spec.rb
backtrace: /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/
extensions/class.rb:9:ineval' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/example/ example_group_methods.rb:203:in
registration_backtrace’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
spec_parser.rb:35:inconsider_example_groups_for_best_match' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ spec_parser.rb:15:in
spec_name_for’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
spec_parser.rb:14:ineach' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ spec_parser.rb:14:in
spec_name_for’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
options.rb:302:inset_spec_from_line_number' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/ options.rb:114:in
run_examples’
/Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/lib/spec/runner/
command_line.rb:10:inrun' /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/bin/spec:4 /Users/Shared/RubyGems/1.8/gems/rspec-1.1.11/bin/spec:19:in
load’
/Users/Shared/RubyGems/1.8/bin/spec:19