Revision 45 up on SVN

I fixed the Rakefile and pushed up Revision 45 to Subversion today. This
gives you the latest bits as of this morning from my desktop here in
Redmond.

Of note in this release is the AstRewriter that Martin wrote. This fixes
many of the code gen bugs that no doubt folks ran into in testing
IronRuby (we sure hit it a lot).

This release also integrates some of the latest Rubinius specs into the
source tree. You can run the specs via “rake specs”. Right now we’re at
1032 examples, 565 failures. It’s time to start taking a hard look at
those failures so that we can improve the quality of the 3 core types
(Array, Hash, String) that it is testing.

Am now working integrating the community submissions into our source
code. My apologies for the delay - there were random procedural issues
that we’re hoping will be fixed soon. The biggest change is the way that
we’re splitting out the libraries. Hopefully sometime tomorrow we’ll
have the libraries checkin done on our end which will refactor most if
not all of the libraries code into IronRuby.Libraries.dll. That will
make it much easier for folks to work on the libraries.

Thanks,
-John

On 10/23/07, John L. (DLR) [email protected] wrote:

This release also integrates some of the latest Rubinius specs into the
source tree. You can run the specs via “rake specs”. Right now we’re at 1032
examples, 565 failures. It’s time to start taking a hard look at those
failures so that we can improve the quality of the 3 core types (Array,
Hash, String) that it is testing.

Are there such specs for the entire core library? I’ve implemented the
StringScanner class but wasn’t particularly looking forward to working
out
all the tests.

http://hagenlocher.org/software/StringScanner.cs.txt

This should be complete – with the exception of get_byte (which is
currently identical to getch) and StringScanner::Error (which I wasn’t
sure
how to define). I’m also not sure how to add this code in such a way
that a
“require ‘strscan’” is needed to make it available.

We’re going to need a better way of “signing up” for specific libraries;
I’d
be looking at the IO and File classes if I weren’t convinced that there
weren’t half a dozen other people doing the same :).

We’re going to need a better way of “signing up” for specific libraries;
I’d be looking at the IO and File >classes if I weren’t convinced that
there
weren’t half a dozen other people doing the same :).

I don’t know if there are half a dozen people looking at it, but I’ve
got
most of the static methods implemented. :slight_smile:

-Eric

Eric N.:

We’re going to need a better way of “signing up” for specific
libraries; I’d be looking at the IO and File >classes if I weren’t
convinced that there weren’t half a dozen other people doing the same
:).

I don’t know if there are half a dozen people looking at it, but I’ve
got most of the static methods implemented. :slight_smile:

I did a quick edit to the wiki. Can folks sign up for the libraries that
they’re working on here?

http://ironruby.rubyforge.org/wiki/wiki.pl?Core

Thanks,
-John

Curt H.:

Are there such specs for the entire core library? I’ve implemented
the StringScanner class but wasn’t particularly looking forward to
working out all the tests.

I did a quick look through the Rubinius test suite and I didn’t find any
tests for StringScanner.

http://hagenlocher.org/software/StringScanner.cs.txt

This should be complete – with the exception of get_byte (which is
currently identical to getch) and StringScanner::Error (which I wasn’t
sure how to define). I’m also not sure how to add this code in such a
way that a “require ‘strscan’” is needed to make it available.

I took a quick look - it’s looking good! Hopefully sometime this week
(it was going to be Monday but various random infrastructure things are
delaying the checkin) we’ll finish our library refactoring and I’ll push
out the new layout to SVN.

Thanks,
-John

John L. (DLR) wrote:

Curt H.:

Are there such specs for the entire core library? I’ve implemented
the StringScanner class but wasn’t particularly looking forward to
working out all the tests.

I did a quick look through the Rubinius test suite and I didn’t find any tests for StringScanner.

We have one:

http://svn.codehaus.org/jruby/trunk/jruby/test/testStringScan.rb

JRuby source is licensed under the MIT-like CPL, so that shouldn’t be a
problem.

JRuby’s test suite is probably the largest one available right now, but
it’s a mix of our own minirunit and test/unit tests, MRI’s tests, Daniel
Berger’s tests, Rubinius’s specs, Rubicon, and BFTS. Ideally I’d love to
see the various implementations cooperate on the test suites; so if
there’s tests coming out of the IronRuby project, it would be nice to
have them available. Are they in SVN? (I admit, I haven’t looked).

  • Charlie

On 10/24/07, Charles Oliver N. [email protected] wrote:

JRuby’s test suite is probably the largest one available right now, but
it’s a mix of our own minirunit and test/unit tests, MRI’s tests, Daniel
Berger’s tests, Rubinius’s specs, Rubicon, and BFTS. Ideally I’d love to
see the various implementations cooperate on the test suites; so if
there’s tests coming out of the IronRuby project, it would be nice to
have them available. Are they in SVN? (I admit, I haven’t looked).

Yes, the IronRuby tests are in SVN. They all appear to be implemented
with
rspec.

I got test/unit-based tests for strscan emailed to me privately, and
your
tests use minirunit. I imagine that a single agreed-upon standard format
would be a nice place to start such cooperation :).

On 10/24/07, Charles Oliver N. [email protected] wrote:

John L. (DLR) wrote:

I did a quick look through the Rubinius test suite and I didn’t find any
tests for StringScanner.

We have one:

http://svn.codehaus.org/jruby/trunk/jruby/test/testStringScan.rb

IronRuby will need a little work before it can handle minirunit,
apparently
:). The first issue I ran into was “undefined local variable or method
`caller’ for main:Object”.

On the plus side, I’ve already found a bunch of things that needed
fixing in
my code. Or should that be “the minus side”…

Curt H. wrote:

IronRuby will need a little work before it can handle minirunit,
apparently :). The first issue I ran into was “undefined local variable
or method `caller’ for main:Object”.

On the plus side, I’ve already found a bunch of things that needed
fixing in my code. Or should that be “the minus side”…

Feel free to port the test to rspec/mspec and contribute it back…we’d
prefer not to have any minirunit tests anymore.

  • Charlie

Charles Oliver N.:

see the various implementations cooperate on the test suites; so if
there’s tests coming out of the IronRuby project, it would be nice to
have them available. Are they in SVN? (I admit, I haven’t looked).

Yes - they’re under the tests\ironruby directory. Today the Rubinius
specs are mixed in with our own tests but I’m going to pull them out
into their own directory to make it easier to sync with Rubinius.

You can see some of the control flow tests that Haibo wrote by looking
under tests\ironruby\compat.

Thanks,
-John