Announcement (2017-05-07): www.ruby-forum.com is now read-only since I
unfortunately do not have the time to support and maintain the forum any
more. Please see rubyonrails.org/community and ruby-lang.org/en/community
for other Rails- und Ruby-related community platforms.

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

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?

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

I wasn't really sure where to start.
Running a rake compile leaves the system alone, it's actually when you
open the projects in visual studio (which I needed to do earlier to
compile a release build).
Note: I have my code in c:\dev\ironruby on this box. there's no trunk
subfolder, so this may have something to do with all those ....\..\..
\..\..\.\.\...\'s that are in the csproj files
The security warning dialog comes up telling me it may be unsafe, and
asking to load the project for browsing, or to load normally.
I tell it to load the project normally (I trust you guys, awwww), and
it then creates these folders. Note that the only thing that was
present previously was my c:\dev
c:\build\release
c:\Merlin\Main\Bin\FxCop
c:\dev\Bin\FxCop
Note: At this point, all I've done is tell VS to load
microsoft.scripting.core.dll
It then prompts me again if I trust it to load
microsoft.scripting.extensionattribute.dll, which doesn't create any
extra directories that I can find
This is not something I realised visual studio could actually even do,
so perhaps I'm not the right person to provide a patch for it...
Moving on, I now switch to release config, and hit compile. This now
works with no additional hackery in svn r168 (Thanks John!)
However, I now also have
c:\Tools\Nessie\Nessie\bin\IronRuby.dll
c:\build\debug
IIRC compiling from VS in debug mode produces even more littering too.
Thanks, Orion

It appears that rspec has a broken gemspec. It's not installing
spicycode-rcov, syntax, and possibly more.
JD
________________________________________
From: removed_email_address@domain.invalid
[removed_email_address@domain.invalid] On Behalf Of John L. (IRONRUBY)
[removed_email_address@domain.invalid]
Sent: Tuesday, October 21, 2008 10:40 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
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: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:37 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
The nested defined? bug is logged here:
http://rubyforge.org/tracker/index.php?func=detail...
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=1...http://rubyforge.org/tracker/?group_id=4359&atid=1...
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 D. 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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:04 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
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 H. 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 H.
<removed_email_address@domain.invalid><mailto:removed_email_address@domain.invalid>
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?

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

Here's another test if you are using gems. It should work with ir
test_spec.rb
JD
________________________________________
From: removed_email_address@domain.invalid
[removed_email_address@domain.invalid] On Behalf Of Orion E.
[removed_email_address@domain.invalid]
Sent: Tuesday, October 21, 2008 11:07 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
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 L. (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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:37 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
The nested defined? bug is logged here:
http://rubyforge.org/tracker/index.php?func=detail...
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=1...http://rubyforge.org/tracker/?group_id=4359&atid=1...
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 D. 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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:04 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
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 H. 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 H.
<removed_email_address@domain.invalid><mailto:removed_email_address@domain.invalid>
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?

John, for the record, you have to add github as a source for
spicycode-rcov (gem sources -a http://gems.github.com).
JD
________________________________________
From: removed_email_address@domain.invalid
[removed_email_address@domain.invalid] On Behalf Of Jim D.
[removed_email_address@domain.invalid]
Sent: Tuesday, October 21, 2008 11:10 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
Here's another test if you are using gems. It should work with ir
test_spec.rb
JD
________________________________________
From: removed_email_address@domain.invalid
[removed_email_address@domain.invalid] On Behalf Of Orion E.
[removed_email_address@domain.invalid]
Sent: Tuesday, October 21, 2008 11:07 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
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 L. (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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:37 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
The nested defined? bug is logged here:
http://rubyforge.org/tracker/index.php?func=detail...
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=1...http://rubyforge.org/tracker/?group_id=4359&atid=1...
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 D. 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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:04 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
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 H. 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 H.
<removed_email_address@domain.invalid><mailto:removed_email_address@domain.invalid>
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?

Great - I have it working now on my machine.
I'm seeing 0.45s or so as the net time (excluding startup) for the tests
if I run using the -X:Interpret flag. Can you try running with that flag
enabled on your machine and let me know how quickly it runs?
Thanks,
-John
From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 11:07 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
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 L. (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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:37 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
The nested defined? bug is logged here:
http://rubyforge.org/tracker/index.php?func=detail...
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=1...http://rubyforge.org/tracker/?group_id=4359&atid=1...
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 D. 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:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
[mailto:removed_email_address@domain.invalid] On Behalf Of Orion E.
Sent: Tuesday, October 21, 2008 7:04 PM
To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
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 H. 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 H.
<removed_email_address@domain.invalid><mailto:removed_email_address@domain.invalid>
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?

I'm not on the same machine as earlier - the previous machine was my
work desktop PC running vista
This one is running windows XP under vmware on a macbook
Running with -X:Interpret I see 0.78 seconds on repeated runs (0.79 on
the first)
Without it I see 1.95 seconds (2.05 on the first run)
I didn't know about -X:Interpret...
So what exactly does it do differently, and if it's so much faster,
why isn't it the default?

-X:Interpret forces execution to always go through the DLR interpreter
rather than through the DLR compilation engine.
This trades-off faster startup for decreased throughput.
We have a number of different strategies that we're exploring to improve
things:
1) Ahead of time cached pre-compilation to native x86 via ngen
2) Mixed mode DLR interpreter and DLR compiler. We'll start off
interpreting and compile the 'hot' code paths dynamically at runtime.
3) Mixed mode Ruby interpreter and DLR compiler. We can improve perf
even more by writing a Ruby specific interpreter and avoiding the tree
transform from the Ruby AST to DLR trees for the interpreted code paths.
We really haven't done any performance tuning of note on IronRuby so
far. We're focusing on getting the language correct; performance will
come after we stabilize the language.
Thanks,
-John

Nice work guys!! Pleased that I won't be having to use a hacked
version of r156 :)
One of the problems you mentioned (pretty errors due to backtrace)
will cause the story runner in 1.1.4 to blow up and throw an
exception, but as that is now Cucumber I don't know if we will have
the same issues. Have you tried Cucumber yet?
Ben
On Wed, Oct 22, 2008 at 8:01 AM, John L. (IRONRUBY)

I'll try cucumber tonight when i get home.
I'm trying to build a little rails app with rspec etc.
What's the status on a .NET based active record adapter?
I've been thinking that it might be necessary to write an adapter that
creates the correct .NET provider and dispatches the calls through that
layer.
Either as a part of ruby-dbd or as adapters to ActiveRecord..
dbd gives the advantage that you can use it everywhere then.
any thoughts?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim

Iâ€™ve attached an adapter against MSSQL that I use for testing. This
adapter is buggy and incomplete and was cobbled together from many
sources. Absolutely nothing about it is guaranteed, but someone may
find some use in it.
From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Ivan Porto
Carrero
Sent: Wednesday, October 22, 2008 1:08 AM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] Cucumber / RSpec Story Runner
I'll try cucumber tonight when i get home.
I'm trying to build a little rails app with rspec etc.
What's the status on a .NET based active record adapter?
I've been thinking that it might be necessary to write an adapter that
creates the correct .NET provider and dispatches the calls through that
layer.
Either as a part of ruby-dbd or as adapters to ActiveRecord..
dbd gives the advantage that you can use it everywhere then.
any thoughts?
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
On Wed, Oct 22, 2008 at 9:56 AM, Ben H.
<removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>>
wrote:
Nice work guys!! Pleased that I won't be having to use a hacked
version of r156 :)
One of the problems you mentioned (pretty errors due to backtrace)
will cause the story runner in 1.1.4 to blow up and throw an
exception, but as that is now Cucumber I don't know if we will have
the same issues. Have you tried Cucumber yet?
Ben
On Wed, Oct 22, 2008 at 8:01 AM, John L. (IRONRUBY)
<removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>>
wrote:
> We really haven't done any performance tuning of note on IronRuby so far. We're focusing
on getting the language correct; performance will come after we stabilize the language.
>> To: removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>>> I didn't know about -X:Interpret...>>>> To:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
>> class Vehicle>> end>>>> On 22/10/2008, at 6:40 PM, John L. (IRONRUBY) wrote:>> From:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
>> 3>>>> This will only cause rspec to lose the line number - you also have to>> I'll add a rake task to compile release. Can you try to isolate those>> and it appears to work (I only have a simple test, but hey).>> and it seemed to work.>> module ActiveSupport; end>> C:\development\irtest>ruby rspectest.rb>> Just playing with VS now to see if I can build a release version and>>>> On Fri, Oct 17, 2008 at 2:53 PM, Curt H.>> From:
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
>> Cucumber to write executable feature documentation for my .NET code.>> 'rake-0.8.3/lib/rake'"), but some work just fine (eg.>> -->>>> Web Application Developer>>>> removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>>>
<mailto:removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>>
>> _______________________________________________>
_______________________________________________
Ironruby-core mailing list
removed_email_address@domain.invalid<mailto:removed_email_address@domain.invalid>
http://rubyforge.org/mailman/listinfo/ironruby-core

Oh, I remember I had problems with cucumber due to require needing to
have .rb on the end
(http://rubyforge.org/tracker/?group_id=4359&atid=1...).
For example, this line - load 'cucumber'
E:\IronRuby\r156\src\IronRuby.Libraries\Builtins\KernelOps.cs:380:in
`load': no such file to load -- cucumber (LoadError
)
from :0
Command I was using was: E:\IronRuby\r156\build\debug>ir
"c:\ruby\bin\cucumber" -r
"E:\IronRuby\r156\cucumber\examples\calculator\features\steps\
calculator_steps.rb"
"E:\IronRuby\r156\cucumber\examples\calculator\features\addition.feature"
I made a change (load 'cucumber.rb'), but now i'm getting You must gem
install win32console to get coloured output on this ruby platform
(i386-mswin32) but no output :( I guess I need to do something
else....

Well, this is how Cucumber has implement the code, as such there must
be something different. Something is happening, i'm just not sure
what, but there is a problem still with IronRuby.
The file i'm looking at is "c:\ruby\bin\cucumber" - maybe its
different due to rubygems...
Without it, i'm not sure how else to run Cucumber. For example, this
also fails to output anything:
E:\IronRuby\r156\build\debug>ir "c:\ruby\bin\cucumber" --help
This also fails:
E:\IronRuby\r156\build\debug>ir
"C:\ruby\lib\ruby\gems\1.8\gems\cucumber-0.1.8\lib\cucumber.rb" --help
ir "c:/ruby/bin/cucumber" --help
However, this works:
C:/Ruby/bin/ruby.exe "c:/ruby/bin/cucumber" --help
On Wed, Oct 22, 2008 at 8:56 PM, Orion E.

After a lot of experimentation and hacking, I was able to get Cucumber
to work with IronRuby (mostly). I was not able to get the Cucumber
output in ANSI color, but it works out fine in black and white. I also
had to disable the functionality in Cucumber that prints the source file
and line of code associated with each step. Finally, I had to re-wire
the way expectations are propagated from specification failures. I have
posted the instructions to get Cucumber working with IronRuby here:
http://www.patrickgannon.net/archive/2008/10/23/bd...
Thanks,
Pat Gannon