From: Tanaka Akira Date: 2008-04-30T22:50:32+09:00 Subject: Re: Action Item: RubySpec failures on Ruby 1.8.7 In article <3454c9680804250053v671572fk9c5c9b4ab42c7c8d@mail.gmail.com>, "Vladimir Sizikov" writes: > It should absolutely not need Rubinius. It's just that Rubinius is the > default target to test, if no other implementation is specified via > -t. I see. > I'm really not sure what's wrong in your case, since I downloaded the > very same bundle and the very same command line worked for me just > fine... Maybe, you have the ruby-1.8 defined in some "funny" way? I found that the problem is my "ruby" command is ruby-1.9. I tried "ruby-1.8 bin/mspec ..." but it doesn't help because bin/mspec invokes mspec/bin/mspec which has "#!/usr/bin/env ruby" line. So ruby-1.9 is run anyway. I need to use rubyspec as follows: % ruby-1.8 mspec/bin/mspec -t ruby-1.8.6p111 spec/ruby/1.8 This works. I investigated why rubyspec doesn't work with ruby-1.9. It is caused by consume? method: --- mspec/lib/mspec/utils/options.rb- 2008-04-30 22:46:37.000000000 +0900 +++ mspec/lib/mspec/utils/options.rb 2008-04-30 22:47:11.000000000 +0900 @@ -16,7 +16,7 @@ class OptionParser class Switch def consume?(opt) - if opt == short.to_s or opt == long.to_s + if short.include?(opt) or long.include?(opt) return arg ? 2 : 1 elsif opt[0..1] == short.to_s and opt.size > 2 return 1 -- Tanaka Akira