Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README
There are many conceivable ways to organize the spec files. A graphical
representation of the Rubinius directories is shown below. This structure is
based on the Ruby language as well as the major components of a Ruby
implementation. The goal is to maintain locality by grouping related specs.

There are two primary divisions of the specs in the spec directory:
	1. specs for the Ruby language, which includes the Ruby core and standard
	   libraries;
	2. specs for the Rubinius system and its extensions to the Ruby core and
	   standard libraries.

spec
 |-- compiler
 |-- core
 |    +-- array
 |    +-- bignum
 |    +-- breakpoint
 |    +-- bytearray
 |    +-- ...
 |-- kernel
 |-- language
 |-- library
 |-- parser
 |-- ruby
 |    +-- 1.8
 |          +-- core
 |                + -- array
 |                + -- bignum
 |                + -- binding
 |                + -- class
 |                + -- ...
 |                + -- time
 |                + -- true
 |                + -- unboundmethod
 |          +-- fixtures
 |          +-- language
 |          +-- library
 |                + -- enumerator
 |                + -- ...
 |                + -- time
 |                + -- yaml
 |-- capi
 |     +-- ext
 +-- tags

The specs for the reference implementation of the Ruby language (MRI) are
under @spec/ruby@. Presently, these are mostly focused on version 1.8.x and
there is only the 1.8 subdirectory. However, as specs are written for version
1.9, those specs will be placed in a parallel tree under the 1.9 subdirectory.
In the spec files under @spec/ruby@, there are also specs for other Ruby
implementations where these implementations comply with or deviate from MRI
(again, the reference implementation for Ruby).

All the spec directories except for spec/ruby are for Rubinius specific code.
Under spec/core, spec/language, and spec/libraries, there are specs for how
Rubinius extends or significantly deviates from MRI.

In general, there is no goal to unify spec/core, spec/language, and
spec/libraries with the parallel directories under spec/ruby/. These
directories serve different purposes.

For more information, please refer to:
  http://rubinius.lighthouseapp.com/projects/5089/specs-overview
Something went wrong with that request. Please try again.