This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| 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 specs in parallel, to use multiple CPUs and speedup test runtime.
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
For each environment, create the databases
mysql -u root -> create database xxx_test2;
Run like hell :D
rake spec:parallel:prepare[2] #db:reset for each database
rake spec:parallel[1] --> 86 seconds
rake spec:parallel --> 47 seconds (default = 2)
rake spec:parallel[4] --> 26 seconds
...
Example output
2 processes for 210 specs, ~ 105 specs per process
... test output ...
Took 29.925333 seconds
TIPS
./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 "spec:parallel:prepare[3]"
TODO
- find out how many CPUs the user has here
- grab the 'xxx examples ..' line and display them after all tests have finished
Authors
inspired by pivotal labs
Contributors
- Joakim Kolsjö -- joakim.kolsjo<$at$>gmail.com
Michael Grosser
grosser.michael@gmail.com
Hereby placed under public domain, do what you want, just do not hold me accountable...








