Flatware is a distributed cucumber runner.
ZeroMQ ~> 2.1
Add this to your Gemfile:
and `bundle install`.
To run your entire suite with the default cucumber options, just:
If you'd like to limit the number of forked workers, you can pass the 'w' flag:
flatware -w 3
Typical Usage in a Rails App
Add the following to your config/database.yml:
test: database: foo_test
test: database: foo_test<%=ENV['TEST_ENV_NUMBER']%>
Run the following:
rake db:setup # if not already done flatware fan rake db:test:prepare
Now you are ready to rock:
Reliable enough to use as part of your Continuous Integration system
Always accounts for every feature you ask it to run
Use heuristics to run your slowest tests first
speak Cucumber's DRB protocol; if you know how to use Spork you know how to use Flatware
Fully test at an integration level. Don't be afraid to change the code. If you break it you'll know.
Couple as loosely as possible, and only to the most stable/public bits of Cucumber.
Projects define their own preperation scripts
Only distribute to local cores (for now)
Only handle cucumber
Depend on a dedicated messaging library
Be acountable for completed work; provide progress report regardless of completing the suite.
Flatware is tested with aruba. In order to get a demo cucumber project you can add the `@no-clobber` tag to `features/flatware.feature` and run the test with `cucumber features/flatware.feature`. Now you should have a `./tmp/aruba` directory. CD there and `flatware` will be in your path so you can tinker away.
The excellent ZeroMQ guide: zguide.zeromq.org/page:all
Contributing to Flatware
Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
Fork the project
Start a feature/bugfix branch
Commit and push until you are happy with your contribution
Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright © 2011-2012 Brian Dunn. See LICENSE.txt for further details.