public
Description: Rubinius, the Ruby VM
Homepage: http://rubini.us
Clone URL: git://github.com/evanphx/rubinius.git
dgtized (author)
Thu Jul 09 11:49:07 -0700 2009
commit  a0bd2026fb8c8039a7efcfa5fc159bf7eca299d8
tree    e363b0269bc7c5f54dd272d8a4260c011f0d420f
parent  046e04f2008c4de85c9f7d57be5f40d11db072a4
rubinius / spec
name age message
..
file README Mon Feb 18 16:47:23 -0800 2008 Deprecate #setup, #teardown in specs; use #befo... [brixen]
directory capi/ Loading commit data...
directory compiler/
directory core/
directory custom/
directory debugger/ Wed Aug 20 15:45:35 -0700 2008 Rsync'd spec dir from master. [brixen]
file default.mspec
directory frozen/
file full.mspec
directory language/ Wed Jan 02 00:49:45 -0800 2008 Moved CI excludes files from .spec dirs to spec... [brixen]
directory library/ Mon Jun 22 11:47:51 -0700 2009 Removed RbYAML. [brixen]
directory profiles/ Wed Aug 20 15:45:35 -0700 2008 Rsync'd spec dir from master. [brixen]
file spec_helper.rb Thu Mar 19 12:20:27 -0700 2009 Add CI tags for failing const lookup specs. [brixen]
directory tags/
spec/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
 |-- subtend
 |     +-- 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