Software:RubySpec

From HandWiki
Short description: Specification tests for the Ruby programming language
RubySpec
Written inRuby
TypeRuby programming language specifications tests

The RubySpec project aimed to write a complete executable specification for the Ruby programming language. This project contains specs that describe Ruby language syntax and standard library classes. The project contains two main components:

  • the RubySpec sources
  • the MSpec framework

The RubySpec test suite captured most of 1.8.6/1.8.7/1.9 behavior as a reference conformance tool. Ruby MRI 1.9.2 passed over 99% of RubySpec,[1] while version 2.2.0 crashed on one of the tests.[2]

History

The RubySpec tests were initially created in 2006 for the Rubinius project, with significant contribution from the JRuby project.[3] It is now used in other Ruby implementation projects such as IronRuby.[4] The RubySpec project was discontinued at the end of 2014 due to a lack of uptake from mainstream ruby developers.[2]

It was later revived by Benoit Daloze as "The Ruby Spec Suite", and is as of 2023-08-15 actively maintained at https://github.com/ruby/spec.

References

  1. "Ruby 1.9.2 is released". http://www.ruby-lang.org/en/news/2010/08/18/ruby-1-9.2-released/. Retrieved 2010-10-23. 
  2. 2.0 2.1 "Matz's Ruby Developers Don't Use RubySpec and It's Hurting Ruby". http://rubini.us/2014/12/31/matz-s-ruby-developers-don-t-use-rubyspec/. Retrieved 2015-01-13. 
  3. "RubySpec". http://www.rubyspec.org/. Retrieved 2010-10-23. "The project began as part of Rubinius (now sponsored by Engine Yard) and most of the work was done by contributors to Rubinius, with significant contribution by JRuby collaborators. Engine Yard has provided extensive financial support for this project, employing Evan Phoenix since June 2007 and several more full-time developers since January 2008. See History for more details of the project's timeline." 
  4. "RubySpec". https://github.com/ironruby/ironruby/wiki/RubySpec. Retrieved 2010-10-23. "The IronRuby GIT repo includes a copy of the RubySpec tests, including the MSpec test framework, under External.LCA_RESTRICTED\Languages\IronRuby\mspec. This makes it easy to modify existing tests or write new tests, and fix the bugs in the IronRuby sources, all in a single commit to the IronRuby repo."