[rspec-users] RSpec2 collides with Runt but why ?

Rob Westgeest rob.westgeest at gmail.com
Fri Mar 18 17:57:50 EDT 2011


Hi,

A project of mine is using Runt expressions to match dates. When
upgraded my rake tasks to 2.5.1 (from 1.3.0) it get this

/usr/bin/ruby1.8 -S rspec spec/delivery_spec.rb spec/reporter_spec.rb
spec/mysql_dump_spec.rb spec/string_ext_spec.rb spec/
backup_configuration_spec.rb spec/postgres_dump_spec.rb spec/
system_command_spec.rb spec/archive_spec.rb spec/
configuration_dsl_spec.rb spec/mailer_spec.rb spec/backup_spec.rb spec/
intake/runt_spec.rb spec/intake/date_spec.rb
/var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/
configuration.rb:393: warning: toplevel constant VERSION referenced by
Runt::Spec::VERSION
/var/lib/gems/1.8/gems/diff-lcs-1.1.2/lib/diff/lcs.rb:16: Diff is not
a module (TypeError)
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /var/lib/gems/1.8/gems/rspec-expectations-2.5.0/lib/rspec/
expectations/differ.rb:1
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /var/lib/gems/1.8/gems/rspec-expectations-2.5.0/lib/rspec/
expectations.rb:9
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/expecting/
with_rspec.rb:1
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/
configuration.rb:173:in `expectation_frameworks'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/
configuration.rb:380:in `configure_expectation_framework'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/
command_line.rb:20:in `run'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:
55:in `run_in_process'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:
46:in `run'
	from /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:
10:in `autorun'
	from /var/lib/gems/1.8/bin/rspec:19
....

So it seams that Runt::Spec collides with the old Spec namespace
checking code (there's no VERSION constant in Runt::Spec) and the
Runt::Diff class in collides with the Diff module from diff-lcs. This
should not be the case as both Spec and Diff in Runt are namespaced
Runt.

I don't really understand all the magic going on in RSpec but i
believe RSpec is to blame here. Am i right?

Cheers

Rob


More information about the rspec-users mailing list