-
Notifications
You must be signed in to change notification settings - Fork 7
/
README
67 lines (44 loc) · 1.43 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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