Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 61 lines (55 sloc) 1.939 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
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
 | +-- command_line
 | +-- 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@. 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.