Skip to content

lifo/tickle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Run your tests in parallel processes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages