Sure. Here's the entire contents of the ruby file

$LOAD_PATH << 'c:/dev/rspec/lib'

require 'spec'

module ActiveSupport; end # workaround ironruby defined? bug

class Vehicle
  def initialize(people)
    @people = people
  end
  attr_accessor :people
end

describe Vehicle do
  it "should assign people using the constructor" do
    car = Vehicle.new(['orion', 'john', 'jim'])
    car.should have(3).people
  end
end

Note I'm not using gems or anything else like that. To replicate this you'd basically do this:

svn checkout ironruby 168 into c:\dev\ironruby

rake compile

git clone rspec straight from github, and stick it in c:\dev\rspec

edit c:\dev\rspec\lib\spec\extensions\main.rb and fix the call to File.expand_path

spin up a command prompt and set PATH=blahblah so it can see the ironruby binaries that got build previously

ir rspectest.rb



On 22/10/2008, at 6:40 PM, John Lam (IRONRUBY) wrote:

Orion – can you supply us with your rspectest.rb file?

I was just hacking around with rspec 1.1.9 here, and it’s blowing up with a bunch of dependencies on startup.

Thanks,
-John

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ] On Behalf Of Orion Edwards
Sent: Tuesday, October 21, 2008 7:37 PM
To: [email protected]
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner

The nested defined? bug is logged here:

http://rubyforge.org/tracker/index.php?func=detail&aid=22503&group_id=4359&atid=16798

The 'caller' one is actually 2 bugs, both of which have been logged by ben hall already

http://rubyforge.org/tracker/?group_id=4359&atid=16798&func=detail&aid=22315
http://rubyforge.org/tracker/?group_id=4359&atid=16798&func=detail&aid=22348

For those interested in running rspec right now, a better fix is to replace line 26 of main.rb with args.last[:spec_path] = File.expand_path( caller(0) [1].split(':').first )

This will only cause rspec to lose the line number - you also have to run ir with the -D flag, or it doesn't include the path at all.

As far as my quick-hack investigation shows me, rspec only uses this data for showing friendly error messages, rather than any core logic, so perhaps it's not super-critical. It would be nice to run it unpatched tho, IronRuby is looking incredibly close to doing that :-)


Jim Deville wrote:
I’ll add a rake task to compile release. Can you try to isolate those cases and file bugs? The second one is pretty easy, but I’d like to have tracking on both of them.

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ] On Behalf Of Orion Edwards
Sent: Tuesday, October 21, 2008 7:04 PM
To: [email protected]
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner

I just ran rspec 1.1.9 (straight from github) on IronRuby build 167, and it appears to work (I only have a simple test, but hey).

I only had to make 2 changes:

rspec\lib\spec\extensions\main.rb:26 is
args.last[:spec_path] = File.expand_path(caller(0)[1])
IronRuby still doesn't seem to handle caller quite the same as MRI. I have no idea what that code is for, but I replaced it with this as a quick hack
args.last[:spec_path] = "."
and it seemed to work.

I encountered another problem using the 'have' matcher - rspec does this if inflector = (defined?(ActiveSupport::Inflector) ? ActiveSupport::Inflector : (defined?(Inflector) ? Inflector : nil)) IronRuby throws uninitialized constant Object::ActiveSupport, whereas MRI just returns nil - it looks like IR isn't handling defined? on nested things properly yet.

To work around this I just put
module ActiveSupport; end
at the top of my ruby file to get around the nested module issue.

And presto!
C:\development\irtest>ir rspectest.rb
.

Finished in 2.072133 seconds

1 example, 0 failures

C:\development\irtest>ruby rspectest.rb
.

Finished in 0.053 seconds

1 example, 0 failures

The only problem now is that 2.07 seconds is somewhat larger than 0.053... I am using the debug build of ir though, as that's what rake:compile seems to give me.

Just playing with VS now to see if I can build a release version and try that

Ben Hall wrote:
Hi,

To get rspec to work you will need to modify the actual Ironruby
source.  I've raised bugs to get the changes required fixed, however I
did this based on 1.1.4, I think Cucumber will have a whole load more
bugs attached as it has more dependencies.

I know for a fact you won't be able to run Cucumber unmodified due to
existing bugs around gems.  (for example, gem needing .rb at the end
of the file to be able to find it)

However, I haven't had chance to take a closer look.

Ben



On Fri, Oct 17, 2008 at 2:53 PM, Curt Hagenlocher <[EMAIL PROTECTED]> wrote:

If you explicitly set the GEM_PATH before requiring gems, you should be able to use gems that are already present. I haven't tried any other gem operations.

I assume you're running with the latest source?

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ] On Behalf Of Pat Gannon
Sent: Friday, October 17, 2008 1:30 AM
To: [email protected]
Subject: [Ironruby-core] Cucumber / RSpec Story Runner

Has anyone tried to get Cucumber (or it's predecessor: the RSpec story
runner) to work with IronRuby?  I have not had any luck thus far (I am
extremely new to Ruby), and I would really like to be able to use
Cucumber to write executable feature documentation for my .NET code.

http://github.com/aslakhellesoy/cucumber/wikis

I copied it under the "lib" directory, as well as several of its
dependencies, but when I try to do "require
'cucumber-0.1.7/lib/cucumber'", ir (interactive ruby) fails with a stack
overflow.  The same thing happens when I try to require some its
dependencies manually (eg. "require 'hoe-1.8.0/lib/hoe'" and "require
'rake-0.8.3/lib/rake'"), but some work just fine (eg. "require
'polyglot-0.2.3/lib/polyglot'" and "require
'treetop-1.2.4/lib/treetop'").

I also tried to get gem working to aide me in this process, but I had
problems with that too.  Has anyone got gem working with IronRuby?

Thanks in advance!
Pat Gannon
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core


_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core


--
Orion Edwards
Web Application Developer

T: +64 7 859 2120
F: +64 7 859 2320
E: [EMAIL PROTECTED]

Open2view.com
The Real Estate Website

<image001.jpg>




_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core


--
Orion Edwards
Web Application Developer

T: +64 7 859 2120
F: +64 7 859 2320
E: [EMAIL PROTECTED]

Open2view.com
The Real Estate Website

<image001.jpg>
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to