Skip to content
This repository

A Vagrant/Chef script to set up a VirtualBox ready to run the complete Rails Test Suite

branch: master
README.mdown

Rails Test Box (Alpha)

This repo will help you to set up everything you need to get the Rails Test Suite running in an isolated environment. It does not require you to set up mysql, postgresql, etc., it will do that for you within a VirtualBox thanks to Vagrant. The good thing is that it uses RVM which makes it even possible to run the test suite against different versions of Ruby. This repositories contains everything you need to be a Rails Core contributor in no-time. And the good thing is you can keep using your favorite IDE, because the rails directory is shared!

After you have ran through the instructions below you'll be able to run the complete Rails Test Suite.

Quickstart

If you are only interested in getting the Box up and running quickly copy the commands from this gist. This will skip all the compiling time and the only thing you pretty much have to wait for is downloading the box.

Setup from 'scratch'

First install Virtualbox

Clone this repository

git clone git://github.com/jeroenvandijk/rails_test_box.git
cd rails_test_box
git submodule update --init

Install necessary gems:

bundle install

If you don't have a base box yet you might want to use the base box of the Vagrant guys (Thank you!)

bundle exec vagrant box add base http://files.vagrantup.com/base.box

Set up the box

bundle exec vagrant up

Wait a while until your box is ready and start running the tests:

bundle exec vagrant ssh
cd rails
rake

Everything should pass. Now you can start patching Rails and run the tests again. See http://guides.rails.info/contributing_to_rails.html for more info.

A clean box

When you have wrecked your box or if you just want to update everything without worrying if something would conflict, you can do the following in the directory where you did the original checkout of this box:

bundle exec vagrant destroy
git pull
git submodule update
bundle exec vagrant up

Running against different versions of Ruby

Credits

  • Jeroen van Dijk for initiating
  • Josh Kalderimis: for assistence
  • Mitchell Hashimoto and John Bender for bringing Vagrant: on the table
  • Opscode for developing Chef for provisioning
  • Wayne E. Seguin for creating RVM that makes installing different version of Ruby a breeze

Contributors

Jeroen van Dijk

License

The MIT License

Copyright (c) 2010 Jeroen van Dijk

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Something went wrong with that request. Please try again.