Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 63 lines (57 sloc) 2.225 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 62 63
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.