How our libraries stack up against the specs

I re-implemented parts of the Rubinius test suite harness to use
features that are implemented in IronRuby. The good news is that we’re
using the specs as written without any changes at all.

The spec suite driver currently looks at Array, Hash and String only.

If I run the driver under MRI, I see 17 failures out of 743 specs; only
one failure is expected. The other 16 failures are due the fact that I
couldn’t implement that part of the test suite harness without using
features that IronRuby doesn’t have today. So that’s not a bad baseline
start.

If I run the same spec suite under IronRuby, we see 457 failures out of
743, for a pass rate of 38%. If we omit String, which is the least
implemented of these types, our pass rate for Array and Hash rises to
58% (149 fail out of 353).

Some of the failures are obviously due to features that aren’t
implemented at all (mostly in String). Some of them are due to a class
of language features that aren’t implemented (e.g. taint). Some are due
to known DLR bugs like the one that Martin is currently consumed with
fixing. The remainder are real bugs in our implementation.

The spec harness is a fairly sophisticated Ruby program. The team should
be proud of getting the language to this state so quickly!

I’m attaching the test dump to this mail for the curious. The shelveset
that contains this stuff should be ready to review tomorrow and will be
pushed out to SVN right after that.

Thanks,
-John

Does anyone know an easier way of getting the Rubinius source than
installing cygwin, getting the git source code, compiling git…

What a pain! I’m sure git is fantastic, but you can’t store your
portable
RVM on a non-portable source manager!

I really want to look at these tests. I grabbed the most recent tarball
I
could find, but the tests John included aren’t in it (presumably because
it’s too old). The tests seem to have undergone a major
re-organization.

Goto Google Code Archive - Long-term storage for Google Code Project Hosting. and download and
install
http://msysgit.googlecode.com/files/Git-1.5.3-preview20071019.exe

This should provide you will just about everything you need to get up
and
running using Git.

-mark

Eric N.:

I really want to look at these tests. I grabbed the most recent
tarball I could find, but the tests John included aren’t in it
(presumably because it’s too old). The tests seem to have undergone a
major re-organization.

On my list of things to do is refactor where the specs live. Right now
they’re mixed into our existing \Tests directory. In the future the
entire Rubinius \specs directory will be self-contained as a peer to
\Tests in IronRuby. This should make it much simpler to have a script
that syncs the Rubinius test suite with IronRuby.

Thanks,
-John

That is exactly what I was looking for. If anybody else is
interested,
after you install git take a look at the commands on this page:
http://rubini.us/pages/using-git

Thanks Mark!
Eric

I used the following:

http://code.fallingsnow.net/svn/rubinius/trunk

Cheers, Wayne.

Eric N. wrote:

Does anyone know an easier way of getting the Rubinius source than
installing cygwin, getting the git source code, compiling git…

What a pain! I’m sure git is fantastic, but you can’t store your
portable RVM on a non-portable source manager!

I really want to look at these tests. I grabbed the most recent tarball
I could find, but the tests John included aren’t in it (presumably
because it’s too old). The tests seem to have undergone a major
re-organization.

There’s an SVN mirror somewhere…I forget the location. Ask Evan.

  • Charlie

Wayne K.:

I used the following:

http://code.fallingsnow.net/svn/rubinius/trunk

This is a really old snapshot of their repository. I believe this was
the state prior to the migration to GIT.

-John

Charles Oliver N. wrote:

http://rubini.us/svn/rubinius/trunk/spec/

This should remain up-to-date with git master.

Blast it all, nevermind. The mirroring process died some time ago and
it’s never been re-wired. Annoying.

  • Charlie

On Wed, 24 Oct 2007 17:56:41 -0600, Charles Oliver N.
[email protected] wrote:

There’s an SVN mirror somewhere…I forget the location. Ask Evan.

http://mdavid.googlecode.com/svn/vendor/


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

John L. (DLR) wrote:

Wayne K.:

I used the following:

http://code.fallingsnow.net/svn/rubinius/trunk

This is a really old snapshot of their repository. I believe this was the state prior to the migration to GIT.

I found the current address:

http://rubini.us/svn/rubinius/trunk/spec/

This should remain up-to-date with git master.

  • Charlie