SVN Revsion 70

I just pushed out our latest SVN release. Included is the Socket
contribution from Terence L. (thanks!).

Other highlights of this release (for folks building libraries) are:

An implementation of IO that implements console and file operations.
STDOUT, STDIN, STDERR are all implemented now.

An updated test running infrastructure that supports running specs
individually. Here are some examples:

  1. Run all IO specs:

rake spec io

  1. Run a specific IO spec (seek):

rake spec io seek

  1. Run a specific IO spec with a different reporter, fail, which dumps
    stack traces only for the failed specs.

rake spec io seek fail

  1. Run all IO specs with the fail reporter:

rake spec io - fail

The specs also support exclusions as well - see the .spec/* files for
each type for examples. It’s probably a good idea to drive all specs to
zero failures using exclusions. The next piece of work we’re going to do
is exactly this so that we can use the specs to detect regressions in
our SNAP testing harness (this is the farm of machines that we use to
run IronRuby on all supported configurations / platforms).

Thanks,
-John

John L. wrote:

An updated test running infrastructure that supports running specs
individually.

and

The next piece of work we’re going to do is exactly this so that we can
use the specs to detect regressions in our SNAP testing harness (this is
the
farm of machines that we use to run IronRuby on all supported
configurations
/ platforms).

I notice from the rake file that the :test_libs task is going to become
obsolete soon. From the look of this email, it seems that all tests
written
in Ruby are now basically Rubinius specs. Is this the case? What
happens
if we right our own specs for IronRuby? Do we have to get them included
in
the Rubinius specs in order that they filter down to the IronRuby
codebase?

Cheers,
Pete

Peter Bacon D.:

I notice from the rake file that the :test_libs task is going to become
obsolete soon. From the look of this email, it seems that all tests
written
in Ruby are now basically Rubinius specs. Is this the case? What
happens
if we right our own specs for IronRuby? Do we have to get them
included in
the Rubinius specs in order that they filter down to the IronRuby
codebase?

The library tests will be rubinius specs. However, we will continue to
use lower-level test harnesses for testing the language.

I’m working with Brian F. to figure out what to do about integrating
changes back into the rubinius specs (which will have their own home
sometime soon). I’ve already checked in additional specs for IO into our
tree.

I think it should be fine to continue to work on our additions in
parallel and then RI those changes back into the ruby spec tree once it
gets spun up.

Thanks,
-John