-
There are actually 4 core test suites:
a)
org.jruby.test.MainTestSuite, a suite of pure-java tests;b)
org.jruby.test.TestUnitTestSuite, which runs a suite of files named one-per-line intest/jruby_index(and othertest/*_indexfiles). Note: some are commented out.c)
Rubyspecs, a recent point-in-time copy of RubySpec project. The specs are written inrspecformat and aim to test conformance of JRuby against the Ruby specification.d) MRI's own tests, synced periodically. The tests are run with
rake test:mri19and known failing tests are marked as such in excludes files undertest/externals/ruby1.9/excludes. -
If you'd like to contribute new tests, we'd prefer you write them via the
rubyspecsproject. If the tests are very specific to JRuby (like Java Integration) we prefer writingrspecs under ourspecsdirectory. -
We're also interested in running tests for other ruby software suites; if you want to grab your favorite ruby software and run its own tests under JRuby and report to the mailing list at
dev@jruby.codehaus.org, that would be great. -
Please file any and all patches in Github issues
Using ant, type
ant test
The three test suites should be run in order.
To run rubyspecs, type
ant spec
A slightly shorter run we run frequently is:
ant spec-short
The rubyspecs will be fetched over the net, and then executed.
To run an individual test:
- run
ant install-dev-gemswhich will installbin/rspecfor use. - run
ant compile-testto compile the java fixtures (you don't need to wait for the tests to finish) then test as normal withbin/rspec spec/path-to-spec