The Rubinius project generally uses TDD/BDD-style executable specifications to drive development. The Rubinius 'spec' directory is conceptually divided into two parts:
Failing specs are tagged so that the CI process always runs a known good set of specs. This enables easily confirming that changes to Rubinius code do not cause regressions.
Use the following workflow when adding specs and code to Rubinius:
rakecommand to ensure that all the CI specs pass.