# Forum: IronRuby Re: test .net code with ruby BDD libraries

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.
on 2009-02-10 16:45
Hi Ivan,

It is a very good documentation of what we have now. I have been playing
with Ironruby and becon couldn't make it work. I am going to give it a

Thanks for the help.

--- On Tue, 2/10/09, Ivan Porto C. <removed_email_address@domain.invalid> wrote:

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries
Date: Tuesday, February 10, 2009, 1:41 AM

Hi Claudio

What I did was the following:

I cloned ironruby from git
then i build it using rake

I use this .cmd file in the git root folder which is C:\tools\ironruby
in my case

@ECHO OFF

cd merlin/main/Languages/Ruby
ECHO "compiling debug version"
rake compile
cd ../../../..
ECHO "All done"

I then change the line in ir.exe.config that sets the paths to read like
this:

<set language="Ruby" option="LibraryPaths"
value="..\..\Languages\Ruby\libs;..\..\..\External\Languages\Ruby\redist-libs\ruby\site_ruby\1.8;..\..\..\External\Languages\Ruby\redist-libs\ruby\site_ruby;..\..\..\External\Languages\Ruby\redist-libs\ruby\1.8"
/>

C:\tools\ironruby\Merlin\Main\Languages\Ruby\Scripts to the PATH

That should get ironruby gems to work you can test it by doing igem
--version or igem env

At this point rubygems seems to be broken in ironruby I get an error

+ C:\Users\Ivan Porto C.
Â» igem install bacon -V --backtrace --debug

GET 200 OK:
http://gems.rubyforge.org/quick/Marshal.4.8/bacon-...
ERROR:Â  While executing gem ... (TypeError)
Â Â Â  allocator undefined for Zlib::Inflate

Â Â Â Â Â Â Â
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Zlib\zlib.cs:517:in
inflate'
Â Â Â Â Â Â Â  rubygems.rb:395:in inflate'
Â Â Â Â Â Â Â  spec_fetcher.rb:77:in fetch_spec'
Â Â Â Â Â Â Â  spec_fetcher.rb:64:in fetch'

Â Â Â Â Â Â Â
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:700:in
each'
Â Â Â Â Â Â Â
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\Enumerable.cs:88:in
map'

Â Â Â Â Â Â Â  spec_fetcher.rb:61:in fetch'
Â Â Â Â Â Â Â  dependency_installer.rb:75:in find_gems_with_sources'
Â Â Â Â Â Â Â  dependency_installer.rb:162:in find_spec_by_name_and_version'
Â Â Â Â Â Â Â  dependency_installer.rb:206:in install'

Â Â Â Â Â Â Â  install_command.rb:70:in execute'
Â Â Â Â Â Â Â
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:700:in
each'
Â Â Â Â Â Â Â  install_command.rb:45:in execute'

Â Â Â Â Â Â Â  command.rb:129:in invoke'
Â Â Â Â Â Â Â  command_manager.rb:86:in process_args'
Â Â Â Â Â Â Â  command_manager.rb:74:in run'
Â Â Â Â Â Â Â  gem_runner.rb:25:in run'
Â Â Â Â Â Â Â  :0

so to make bacon work you install it with MRI.

Then you can copy the folder bacon-1.1.0 from the folders gems, doc,
specification in C:\ruby\lib\ruby\gems\1.8
to the folders gems, doc, specification in
C:\tools\ironruby\merlin\external\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8

When I did that I could do:

+ C:\Users\Ivan Porto C.
Â» ir
IronRuby 1.0.0.0 on .NET 2.0.50727.3053

>>> require 'rubygems'

=> true
>>> require 'bacon'
=> true

On Mon, Feb 9, 2009 at 10:56 PM, Jimmy S.

Sounds like rubygems isn't working correctly on your setup
of IronRuby. It's complaining about not finding rbconfig, which gems
needs to load. It doesn't have anything to do with bacon, so for now

Â

We don't have good documentation about how to get gems
working in custom build of IronRuby, but that's something I'll be
adding shortly. Ivan has gone down the path of getting this set up
maybe he can give you some pointers. Ivan?

Â

~js

Â

From:
Maccari

Sent: Monday, February 09, 2009 1:19 PM

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Â

This works but I would understand why require
'bacon' does not.

Â

Â

[mailto:removed_email_address@domain.invalid] On Behalf Of Stefan D.

Sent: lunedÃ¬ 9 febbraio 2009 20.32

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Â

You can just
require the file with its full path.Â

Â

>>>
require 'C:\Ruby\lib\ruby\gems\1.8\gems\bacon-1.1.0\lib\bacon.rb'

Â

2009/2/9 Claudio

Hi
Ivan,

now
I get this error L

Â

C:\Projects\IronRuby>ir

IronRuby
1.0.0.0 on .NET 2.0.50727.3053

Â

>>>
require 'rubygems'

IronRuby.Libraries:0:in
require': no such file to load -- rbconfig (LoadError)

Â Â Â Â Â Â Â
from :0

Â Â Â Â Â Â Â
from IronRuby.Libraries:0:in require'

Â Â Â Â Â Â Â
from :0

Â

>>>Â

Â

Thanks

Claudio

Â

On Behalf Of Ivan Porto C.

Sent: domenica 8 febbraio 2009 18.50

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Â

Hi Claudio

try this:

require 'rubygems'

require 'bacon'

On Sun, Feb 8, 2009 at 6:22 PM,
wrote:

Hi
Jimmy,

Â

I
would try bacon cause it looks simple but I can't get it working.

I
installed bacon using gem and now is located in
C:\ruby\lib\ruby\gems\1.8\gems\bacon-1.1.0

I edited
my ir.exe.config file as follow

Â

<options>

Â Â Â Â Â
<set language="Ruby" option="LibraryPaths"
value="c:\ruby\lib\ruby\site_ruby\1.8\;c:\ruby\lib\ruby\site_ruby\;c:\ruby\lib\ruby\1.8\;c:\ruby\lib\ruby\gems\1.8\gems\"
/>

Â Â Â
</options>

Â

But
I get this error

Â

C:\Projects\IronRuby>ir.exe

IronRuby
1.0.0.0 on .NET 2.0.50727.3053

Â

>>>
require 'bacon'

IronRuby.Libraries:0:in
require': no such file to load -- bacon (LoadError)

Â Â Â Â Â Â Â
from :0

Â

>>>Â

Â

What'sÂ
wrong ?

Thanks

Claudio

Â

On Behalf Of Jimmy S.

Sent: sabato 7 febbraio 2009 21.14

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Â

I've using bacon (http://github.com/chneukirchen/bacon)Â to test C#
Silverlight code, and it works great on the desktop as well. It's
definitely
the smallest of the bdd libraries, and feels fastest, but I've got no
data to
support that (yet).

Â

http://blog.jimmy.schementi.com/2009/01/dynamic-la...

Â

However,
don't expect any mocking libraries to work. You can't mockÂ C# types, and
have those changes be visible to other C# code. We need to write a ruby
wrapper
around existing C# mocking libraries, so let me know if anyone is
interested in
doing so.

Â

~js

Â

On Behalf Of Thibaut BarrÃ¨re [removed_email_address@domain.invalid]

Sent: Saturday, February 07, 2009 10:10 AM

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Hi,Â

Has someone already try to test .net code with
ruby DBB library?

If the answer is yes, is there somewhere a
sample/post/article of this work?

Did not use RSpec yet (as it was
reported to be slow), but MSpec (BDD) and Test::Unit (can be BDD too)
did the
trick.

Â

Check out this for a few hints and
thoughts:Â http://blog.logeek.fr/2008/12/1/thoughts-on-ironru...

Â

cheers,

Â

-- Thibaut

Â

Claudio

Â

Â

Claudio M.

http://testdrivendevelopment.wordpress.com/

Â

"I have the simplest taste. I am always
satisfied with the best"- Oscar Wilde

Â

Â

Â

Â

Â

_______________________________________________

Ironruby-core mailing list

http://rubyforge.org/mailman/listinfo/ironruby-core

Â

_______________________________________________

Ironruby-core mailing list

http://rubyforge.org/mailman/listinfo/ironruby-core

Â

_______________________________________________

Ironruby-core mailing list

http://rubyforge.org/mailman/listinfo/ironruby-core

Â

_______________________________________________

Ironruby-core mailing list

http://rubyforge.org/mailman/listinfo/ironruby-core

-----Inline Attachment Follows-----
on 2009-02-11 00:17
Yep, igem install doesn't work currently, Tomas said he'd look at it. In
the meantime:

Â·         Point rubygems at c:\path\to\ruby-1.8.6\lib\ruby\gems (rather
than ironruby\gems) by changing
c:\path\to\ruby1.8.6\lib\ruby\site_ruby\1.8\rubygems\defaults.rb#15 to:

File.join ConfigMap[:libdir], 'ruby', 'gems',

Then "igem list --local" will show the same gems that "gem list --local"
sees. So for now, install gems with "gem", but you can then use them
from IronRuby.

~js

Nair
Sent: Tuesday, February 10, 2009 5:50 AM
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Hi Ivan,

It is a very good documentation of what we have now. I have been playing
with Ironruby and becon couldn't make it work. I am going to give it a

Thanks for the help.

--- On Tue, 2/10/09, Ivan Porto C. <removed_email_address@domain.invalid> wrote:

Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries
Date: Tuesday, February 10, 2009, 1:41 AM
Hi Claudio

What I did was the following:

I cloned ironruby from git
then i build it using rake

I use this .cmd file in the git root folder which is C:\tools\ironruby
in my case

@ECHO OFF
cd merlin/main/Languages/Ruby
ECHO "compiling debug version"
rake compile
cd ../../../..
ECHO "All done"

I then change the line in ir.exe.config that sets the paths to read like
this:

<set language="Ruby" option="LibraryPaths"
value="..\..\Languages\Ruby\libs;..\..\..\External\Languages\Ruby\redist-libs\ruby\site_ruby\1.8;..\..\..\External\Languages\Ruby\redist-libs\ruby\site_ruby;..\..\..\External\Languages\Ruby\redist-libs\ruby\1.8"
/>

C:\tools\ironruby\Merlin\Main\Languages\Ruby\Scripts to the PATH

That should get ironruby gems to work you can test it by doing igem
--version or igem env

At this point rubygems seems to be broken in ironruby I get an error

+ C:\Users\Ivan Porto C.
Â» igem install bacon -V --backtrace --debug
GET 200 OK:
http://gems.rubyforge.org/quick/Marshal.4.8/bacon-...
ERROR:  While executing gem ... (TypeError)
allocator undefined for Zlib::Inflate
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Zlib\zlib.cs:517:in
inflate'
rubygems.rb:395:in inflate'
spec_fetcher.rb:77:in fetch_spec'
spec_fetcher.rb:64:in fetch'
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:700:in
each'
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\Enumerable.cs:88:in
map'
spec_fetcher.rb:61:in fetch'
dependency_installer.rb:75:in find_gems_with_sources'
dependency_installer.rb:162:in find_spec_by_name_and_version'
dependency_installer.rb:206:in install'
install_command.rb:70:in execute'
c:\tools\ironruby\merlin\main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:700:in
each'
install_command.rb:45:in execute'
command.rb:129:in invoke'
command_manager.rb:86:in process_args'
command_manager.rb:74:in run'
gem_runner.rb:25:in run'
:0

so to make bacon work you install it with MRI.
Then you can copy the folder bacon-1.1.0 from the folders gems, doc,
specification in C:\ruby\lib\ruby\gems\1.8
to the folders gems, doc, specification in
C:\tools\ironruby\merlin\external\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8

When I did that I could do:

+ C:\Users\Ivan Porto C.
Â» ir
IronRuby 1.0.0.0 on .NET 2.0.50727.3053

>>> require 'rubygems'
=> true
>>> require 'bacon'
=> true

On Mon, Feb 9, 2009 at 10:56 PM, Jimmy S.
wrote:

Sounds like rubygems isn't working correctly on your setup of IronRuby.
It doesn't have anything to do with bacon, so for now avoid loading it
as a gem.

We don't have good documentation about how to get gems working in custom
build of IronRuby, but that's something I'll be adding shortly. Ivan has
gone down the path of getting this set up already, so maybe he can give
you some pointers. Ivan?

~js

From:
On Behalf Of Claudio M.
Sent: Monday, February 09, 2009 1:19 PM

To:
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

This works but I would understand why require 'bacon' does not.

From:
On Behalf Of Stefan D.
Sent: lunedÃ¬ 9 febbraio 2009 20.32
To:
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

You can just require the file with its full path.

>>> require 'C:\Ruby\lib\ruby\gems\1.8\gems\bacon-1.1.0\lib\bacon.rb'

2009/2/9 Claudio M.

Hi Ivan,

now I get this error :(

C:\Projects\IronRuby>ir

IronRuby 1.0.0.0 on .NET 2.0.50727.3053

>>> require 'rubygems'

IronRuby.Libraries:0:in require': no such file to load -- rbconfig

from :0

from IronRuby.Libraries:0:in require'

from :0

>>>

Thanks

Claudio

From:
On Behalf Of Ivan Porto C.
Sent: domenica 8 febbraio 2009 18.50

To:
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Hi Claudio

try this:

require 'rubygems'
require 'bacon'

On Sun, Feb 8, 2009 at 6:22 PM, Claudio M.
wrote:

Hi Jimmy,

I would try bacon cause it looks simple but I can't get it working.

I installed bacon using gem and now is located in
C:\ruby\lib\ruby\gems\1.8\gems\bacon-1.1.0

I edited my ir.exe.config file as follow

<options>

<set language="Ruby" option="LibraryPaths"
value="c:\ruby\lib\ruby\site_ruby\1.8\;c:\ruby\lib\ruby\site_ruby\;c:\ruby\lib\ruby\1.8\;c:\ruby\lib\ruby\gems\1.8\gems\"
/>

</options>

But I get this error

C:\Projects\IronRuby>ir.exe

IronRuby 1.0.0.0 on .NET 2.0.50727.3053

>>> require 'bacon'

IronRuby.Libraries:0:in require': no such file to load -- bacon

from :0

>>>

What's  wrong ?

Thanks

Claudio

From:
On Behalf Of Jimmy S.
Sent: sabato 7 febbraio 2009 21.14

To:
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

I've using bacon (http://github.com/chneukirchen/bacon) to test C#
Silverlight code, and it works great on the desktop as well. It's
definitely the smallest of the bdd libraries, and feels fastest, but
I've got no data to support that (yet).

http://blog.jimmy.schementi.com/2009/01/dynamic-la...

However, don't expect any mocking libraries to work. You can't mock C#
types, and have those changes be visible to other C# code. We need to
write a ruby wrapper around existing C# mocking libraries, so let me
know if anyone is interested in doing so.

~js

________________________________

From:
On Behalf Of Thibaut BarrÃ¨re
Sent: Saturday, February 07, 2009 10:10 AM
To:
Subject: Re: [Ironruby-core] test .net code with ruby BDD libraries

Hi,

Has someone already try to test .net code with ruby DBB library?

If the answer is yes, is there somewhere a sample/post/article of this
work?

Did not use RSpec yet (as it was reported to be slow), but MSpec (BDD)
and Test::Unit (can be BDD too) did the trick.

Check out this for a few hints and thoughts:
http://blog.logeek.fr/2008/12/1/thoughts-on-ironru...

cheers,

-- Thibaut

Claudio

Claudio M.

http://testdrivendevelopment.wordpress.com/

"I have the simplest taste. I am always satisfied with the best"- Oscar
Wilde

_______________________________________________
Ironruby-core mailing list
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
http://rubyforge.org/mailman/listinfo/ironruby-core

-----Inline Attachment Follows-----
This topic is locked and can not be replied to.