• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 15 years ago
  • Updated about 15 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Run your tests in parallel processes
Tickle
======

Tickle spawns multiple processes and tries running your test suite in parallel for reducing the time taken to run them. Thanks to http://github.com/grosser/parallel_specs for the concept.

Setup
=====

To install :

	$ script/plugin install git://github.com/lifo/tickle.git

Example
=======

To run all tests :

	$ rake tickle # This will use 3 processes by default

To run all tests using 2 processes :

	$ rake tickle[2]

To only run unit tests :

	$ rake tickle:units

To run unit tests in 4 parallel processes :
	
	$ rake tickle:units[4]
	
tickle:functionals and tickle:integration should work as expected.

Tuning
======

For best results, use tickle with Ruby Enterprise Edition and Twitter's GC settings :

- http://www.rubyenterpriseedition.com/
- http://blog.evanweaver.com/articles/2009/04/09/ruby-gc-tuning/

Database Setup
==============

If you're NOT USING transactional fixtures, you'll need to create 'N' new databases. Where 'N' is the maximum number of parallel processes you want to run.

Assuming you want to run 2 proccesses, you'll need to provide test_1 and test_2 config settings in database.yml :

test_1:
  adapter: mysql
  encoding: utf8
  database: myapp_test1
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

test_2:
  adapter: mysql
  encoding: utf8
  database: myapp_test2
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

Copyright (c) 2009 Pratik Naik, released under the MIT license