tchandy / parallel_specs forked from grosser/parallel_specs
- Source
- Commits
- Network (11)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
commit ce94543424d80cc710c4094a4b4fa58c81e757b4
tree f2d9224d21a2380f1c0f7144b963e77e49c58906
parent 0731f4bfdb96fd520c7e338eadce760a6a0cb6b5
tree f2d9224d21a2380f1c0f7144b963e77e49c58906
parent 0731f4bfdb96fd520c7e338eadce760a6a0cb6b5
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu Jun 04 00:18:17 -0700 2009 | |
| |
README.markdown | ||
| |
Rakefile | Sun May 17 22:52:33 -0700 2009 | |
| |
lib/ | ||
| |
spec/ | ||
| |
tasks/ |
README.markdown
Rake tasks to run tests or specs in parallel, to use multiple CPUs and speedup test runtime. more documentation and great illustrations
Setup
script/plugin install git://github.com/grosser/parallel_specs.git
Add <%= ENV['TEST_ENV_NUMBER'] %> to the database name for the test environment in config/database.yml,
it is '' for process 1, and '2' for process 2.
test:
adapter: mysql
database: xxx_test<%= ENV['TEST_ENV_NUMBER'] %>
username: root
Create the databases
mysql -u root
create database xxx_test; #should normally exist...
create database xxx_test2;
...
Run like hell :D
rake parallel:prepare[2] #db:reset for 2 databases
rake parallel:spec[1] --> 1 cpu --> 86 seconds
#OR for Test::Unit
rake parallel:test[1]
rake parallel:spec --> 2 cpus --> 47 seconds
rake parallel:spec[4] --> 4 cpus --> 26 seconds
...
Just some subfolders please (e.g. set up one integration server to check each subfolder)
rake parallel:spec[2,models]
rake parallel:test[2,something/else]
partial paths are OK too...
rake parallel:test[2,functional] == rake parallel:test[2,fun]
Example output
2 processes for 210 specs, ~ 105 specs per process
... test output ...
Results:
877 examples, 0 failures, 11 pending
843 examples, 0 failures, 1 pending
Took 29.925333 seconds
TIPS
- 'script/spec_server' or spork do not work in parallel
./script/generate rspecif you are running rspec from gems (this plugin uses script/spec which may fail if rspec files are outdated)- with zsh this would be
rake "parallel:prepare[3]"
TODO
- find out how many CPUs the user has here
- build parallel:bootstrap idea/basics
Authors
inspired by pivotal labs
Contributors
- Joakim Kolsjö -- joakim.kolsjo<$at$>gmail.com
- Jason Morrison -- jason.p.morrison<$at$>gmail.com
Michael Grosser
grosser.michael@gmail.com
Hereby placed under public domain, do what you want, just do not hold me accountable...

