tork 18.2.4 → 19.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/HISTORY.markdown +65 -0
  2. data/README.markdown +60 -298
  3. data/bin/tork +99 -62
  4. data/bin/tork-driver +124 -25
  5. data/bin/tork-engine +45 -23
  6. data/bin/tork-herald +5 -5
  7. data/bin/tork-master +79 -32
  8. data/bin/tork-notify +70 -0
  9. data/bin/tork-remote +80 -0
  10. data/lib/tork/cliapp.rb +73 -0
  11. data/lib/tork/config.rb +14 -97
  12. data/lib/tork/config/coverage/master.rb +29 -0
  13. data/lib/tork/config/coverage/worker.rb +1 -0
  14. data/lib/tork/config/cucumber/driver.rb +11 -0
  15. data/lib/tork/config/cucumber/worker.rb +14 -0
  16. data/lib/tork/config/default/config.rb +5 -0
  17. data/lib/tork/config/dotlog/onfork.rb +2 -0
  18. data/lib/tork/config/factory_girl/onfork.rb +2 -0
  19. data/lib/tork/config/factory_girl/worker.rb +1 -0
  20. data/lib/tork/config/logdir/onfork.rb +4 -0
  21. data/lib/tork/config/parallel_tests/worker.rb +4 -0
  22. data/lib/tork/config/rails/driver.rb +15 -0
  23. data/lib/tork/config/rails/master.rb +12 -0
  24. data/lib/tork/config/rails/worker.rb +21 -0
  25. data/lib/tork/config/spec/driver.rb +17 -0
  26. data/lib/tork/config/spec/master.rb +3 -0
  27. data/lib/tork/config/spec/worker.rb +3 -0
  28. data/lib/tork/config/test/driver.rb +17 -0
  29. data/lib/tork/config/test/master.rb +3 -0
  30. data/lib/tork/config/test/worker.rb +23 -0
  31. data/lib/tork/driver.rb +68 -36
  32. data/lib/tork/engine.rb +57 -44
  33. data/lib/tork/master.rb +34 -34
  34. data/lib/tork/server.rb +118 -17
  35. data/lib/tork/version.rb +1 -1
  36. data/man/man1/tork-driver.1 +165 -37
  37. data/man/man1/tork-engine.1 +50 -32
  38. data/man/man1/tork-herald.1 +5 -8
  39. data/man/man1/tork-master.1 +95 -42
  40. data/man/man1/tork-notify.1 +27 -0
  41. data/man/man1/tork-remote.1 +38 -0
  42. data/man/man1/tork.1 +116 -8
  43. data/tork.gemspec +3 -3
  44. metadata +36 -25
  45. data/lib/tork/client.rb +0 -53
  46. data/lib/tork/config/coverage.rb +0 -40
  47. data/lib/tork/config/cucumber.rb +0 -32
  48. data/lib/tork/config/dotlog.rb +0 -8
  49. data/lib/tork/config/factory_girl.rb +0 -10
  50. data/lib/tork/config/logdir.rb +0 -10
  51. data/lib/tork/config/notify.rb +0 -34
  52. data/lib/tork/config/parallel_tests.rb +0 -9
  53. data/lib/tork/config/rails.rb +0 -39
@@ -1,4 +1,4 @@
1
- .TH TORK\-ENGINE 1 2012\-10\-10 18.2.4
1
+ .TH TORK\-ENGINE 1 2012\-10\-17 19.0.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-engine \- wraps
@@ -9,30 +9,34 @@ with bookkeeping
9
9
  \fB\fCtork-engine\fR [\fIOPTION\fP]...
10
10
  .SH DESCRIPTION
11
11
  .PP
12
- This program tells
12
+ This program uses
13
13
  .BR tork-master (1)
14
- to run your tests and keeps track of test
15
- results. It reads the following single\-line commands (JSON arrays) from its
16
- standard input stream and performs the respective actions as described below.
17
- It also funnels the standard output stream of
18
- .BR tork-master (1)
19
- into its own.
14
+ to run tests and keeps track of the results.
15
+ .PP
16
+ This program can be controlled remotely by multiple
17
+ .BR tork-remote (1)
18
+ instances.
19
+ .SS Input
20
+ .PP
21
+ This program reads the following commands, which are single\-line JSON arrays,
22
+ from stdin and performs the actions described respectively.
20
23
  .TP
21
- \fB\fC["reabsorb_overhead",\fR \fIpaths\fP\fB\fC,\fR \fIfiles\fP\fB\fC]\fR
22
- Stops any test files that are currently running, reabsorbs the given test
23
- execution overhead, and resumes running those interrupted test files. See
24
- the "load" command in
25
- .BR tork-master (1)
26
- for more information.
24
+ \fB\fC["reabsorb_overhead"]\fR
25
+ Stops any test files that are currently running, reabsorbs the test
26
+ execution overhead, and then re\-runs those stopped test files.
27
27
  .TP
28
- \fB\fC["run_test_file"\fR, \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC]\fR
29
- Runs tests that correspond to the given \fIline_numbers\fP array in the given
30
- \fItest_file\fP. If \fIline_numbers\fP is \fB\fCnull\fR, then only those lines that have
31
- changed since the last time the \fItest_file\fP was run will be substituted. If
32
- \fIline_numbers\fP is an empty array, then the entire \fItest_file\fP will be run.
28
+ \fB\fC["run_test_file"\fR, \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP...\fB\fC]\fR
29
+ Runs tests that correspond to the given sequence of \fIline_numbers\fP in the
30
+ given \fItest_file\fP. If no \fIline_numbers\fP are given, then only those lines
31
+ that have changed since the last run of \fItest_file\fP will be substituted.
32
+ If any \fIline_numbers\fP are zero, then the entire \fItest_file\fP will be run.
33
33
  .TP
34
- \fB\fC["stop_running_test_files"]\fR
35
- Stops any test files that are currently running.
34
+ \fB\fC["run_test_files"\fR, \fItest\fIfiles\fPwith\fIoptional\fPline_numbers\fP\fB\fC]\fR
35
+ Calls the \fB\fCrun_test_file\fR command once for each item in the given array.
36
+ .TP
37
+ \fB\fC["stop_running_test_files"\fR, \fIsignal\fP\fB\fC]\fR
38
+ Stops test files that are currently running by sending the given \fIsignal\fP
39
+ (optional; defaults to "SIGTERM") to their respective worker processes.
36
40
  .TP
37
41
  \fB\fC["rerun_passed_test_files"]\fR
38
42
  Runs all test files that have passed during their most recent run.
@@ -42,25 +46,39 @@ Runs all test files that have failed during their most recent run.
42
46
  .TP
43
47
  \fB\fC["quit"]\fR
44
48
  Stops all tests that are currently running and exits.
49
+ .SS Output
50
+ .PP
51
+ This program prints the following messages, which are single\-line JSON arrays,
52
+ to stdout.
53
+ .TP
54
+ \fB\fC["pass_now_fail",\fR \fItest_file\fP\fB\fC,\fR \fImessage\fP\fB\fC]\fR
55
+ A previously passing \fItest_file\fP has now failed. See \fImessage\fP for details.
56
+ .TP
57
+ \fB\fC["fail_now_pass",\fR \fItest_file\fP\fB\fC,\fR \fImessage\fP\fB\fC]\fR
58
+ A previously failing \fItest_file\fP has now passed. See \fImessage\fP for details.
59
+ .TP
60
+ \fI...\fP
61
+ Messages from
62
+ .BR tork-master (1)
63
+ are also reproduced here.
45
64
  .SH OPTIONS
46
65
  .TP
47
66
  \fB\fC-h\fR, \fB\fC--help\fR
48
67
  Show this help manual.
49
68
  .SH FILES
50
69
  .TP
51
- \fI.tork.rb\fP
52
- Optional Ruby script for configuring
53
- .BR tork (1).
54
- .SH ENVIRONMENT
70
+ \fI.tork/config.rb\fP
71
+ Optional Ruby script that is loaded inside the driver process on startup.
72
+ It can read and change the \fB\fCENV['TORK_CONFIGS']\fR environment variable.
55
73
  .TP
56
- \fB\fCTORK_CONFIGS\fR
57
- A single\-line JSON array containing paths to actual files or names of
58
- helper libraries in the tork/config/ namespace of Ruby's load path.
59
- These configuration files are loaded just before \fI.tork.rb\fP is loaded.
74
+ \fI.tork/engine.rb\fP
75
+ Optional Ruby script that is loaded inside the master process on startup.
76
+ .SH ENVIRONMENT
77
+ .PP
78
+ See
79
+ .BR tork (1).
60
80
  .SH SEE ALSO
61
81
  .PP
62
82
  .BR tork (1),
63
- .BR tork-herald (1),
64
- .BR tork-driver (1),
65
- .BR tork-engine (1),
83
+ .BR tork-remote (1),
66
84
  .BR tork-master (1)
@@ -1,4 +1,4 @@
1
- .TH TORK\-HERALD 1 2012\-10\-10 18.2.4
1
+ .TH TORK\-HERALD 1 2012\-10\-17 19.0.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-herald \- reports modified files
@@ -7,9 +7,9 @@ tork\-herald \- reports modified files
7
7
  \fB\fCtork-herald\fR [\fIOPTION\fP]...
8
8
  .SH DESCRIPTION
9
9
  .PP
10
- This program monitors the current working directory and prints relative paths
11
- of modified files in batches of single\-line JSON arrays to the standard output
12
- stream.
10
+ This program monitors the current working directory and all those below it
11
+ recursively. When any files therein are modified, it prints their relative
12
+ paths in a single\-line JSON array to stdout.
13
13
  .SH OPTIONS
14
14
  .TP
15
15
  \fB\fC-h\fR, \fB\fC--help\fR
@@ -17,7 +17,4 @@ Show this help manual.
17
17
  .SH SEE ALSO
18
18
  .PP
19
19
  .BR tork (1),
20
- .BR tork-herald (1),
21
- .BR tork-driver (1),
22
- .BR tork-engine (1),
23
- .BR tork-master (1)
20
+ .BR tork-driver (1)
@@ -1,4 +1,4 @@
1
- .TH TORK\-MASTER 1 2012\-10\-10 18.2.4
1
+ .TH TORK\-MASTER 1 2012\-10\-17 19.0.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-master \- absorbs overhead and runs tests
@@ -7,60 +7,113 @@ tork\-master \- absorbs overhead and runs tests
7
7
  \fB\fCtork-master\fR [\fIOPTION\fP]...
8
8
  .SH DESCRIPTION
9
9
  .PP
10
- This program absorbs the test execution overhead and forks to run your tests.
11
- It reads the following single\-line commands (JSON arrays) from its standard
12
- input stream and performs the respective actions as described below.
13
- .TP
14
- \fB\fC["load",\fR \fIpaths\fP\fB\fC,\fR \fIfiles\fP\fB\fC]\fR
15
- Adds the given array of \fIpaths\fP to Ruby's $LOAD_PATH, loads the given array
16
- of \fIfiles\fP after removing their ".rb" file extension if present, and prints
17
- the given command line to the standard output stream.
10
+ This program absorbs your Ruby application's test execution overhead once and
11
+ simply
12
+ .BR fork (3)s
13
+ worker processses to run your tests thereafter. As a result,
14
+ your tests run faster because they no longer spend any time absorbing the test
15
+ execution overhead: worker processes simply inherit the overhead when forked.
16
+ .PP
17
+ This program can be controlled remotely by multiple
18
+ .BR tork-remote (1)
19
+ instances.
20
+ .SS Input
21
+ .PP
22
+ This program reads the following commands, which are single\-line JSON arrays,
23
+ from stdin and performs the actions described respectively.
18
24
  .TP
19
25
  \fB\fC["test",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC]\fR
20
- Runs the given \fItest_file\fP in a forked child process while instructing your
21
- chosen unit testing framework (loaded by your test execution overhead) to
22
- only run those tests that are defined on the given array of \fIline_numbers\fP.
23
- .IP
24
- Prints the following status messages to the standard output stream. The
25
- standard output and error streams of the forked child process are captured
26
- in the \fIlog_file\fP specified in these status messages.
27
- .RS
28
- .IP \(bu 2
29
- Test is running:
30
- \fB\fC["test",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC]\fR
31
- .IP \(bu 2
32
- Test has passed:
33
- \fB\fC["pass",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC,\fR \fIexit_code\fP\fB\fC,\fR \fIexit_info\fP\fB\fC]\fR
34
- .IP \(bu 2
35
- Test has failed:
36
- \fB\fC["fail",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC,\fR \fIexit_code\fP\fB\fC,\fR \fIexit_info\fP\fB\fC]\fR
37
- .RE
26
+ Forks a worker process to run tests that correspond to the given
27
+ \fIline_numbers\fP in the given \fItest_file\fP. If \fIline_numbers\fP is empty, then
28
+ the entire \fItest_file\fP will be run.
38
29
  .TP
39
- \fB\fC["stop"]\fR
40
- Stops all tests that are currently running and prints the given command line
41
- to the standard output stream.
30
+ \fB\fC["stop",\fR \fIsignal\fP\fB\fC]\fR
31
+ Stops all tests that are currently running by sending the given \fIsignal\fP
32
+ (optional; defaults to "SIGTERM") to their respective worker processes.
42
33
  .TP
43
34
  \fB\fC["quit"]\fR
44
35
  Stops all tests that are currently running and exits.
36
+ .SS Output
37
+ .PP
38
+ This program prints the following messages, which are single\-line JSON arrays,
39
+ to stdout.
40
+ .TP
41
+ \fB\fC["absorb"]\fR
42
+ Test execution overhead has been absorbed. We are ready for testing!
43
+ .TP
44
+ \fB\fC["test",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC]\fR
45
+ Test has begun running. Its output (both stdout and stderr) is being
46
+ captured into \fIlog_file\fP in real time, so you can watch it with \fB\fCtail -f\fR.
47
+ .TP
48
+ \fB\fC["pass",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC,\fR \fIexit_code\fP\fB\fC,\fR \fIexit_info\fP\fB\fC]\fR
49
+ Test has passed.
50
+ .TP
51
+ \fB\fC["fail",\fR \fItest_file\fP\fB\fC,\fR \fIline_numbers\fP\fB\fC,\fR \fIlog_file\fP\fB\fC,\fR \fIworker_number\fP\fB\fC,\fR \fIexit_code\fP\fB\fC,\fR \fIexit_info\fP\fB\fC]\fR
52
+ Test has failed.
45
53
  .SH OPTIONS
46
54
  .TP
47
55
  \fB\fC-h\fR, \fB\fC--help\fR
48
56
  Show this help manual.
49
57
  .SH FILES
50
58
  .TP
51
- \fI.tork.rb\fP
52
- Optional Ruby script for configuring
53
- .BR tork (1).
54
- .SH ENVIRONMENT
59
+ \fI.tork/config.rb\fP
60
+ Optional Ruby script that is loaded inside the driver process on startup.
61
+ It can read and change the \fB\fCENV['TORK_CONFIGS']\fR environment variable.
62
+ .TP
63
+ \fI.tork/master.rb\fP
64
+ Optional Ruby script that is loaded inside the master process on startup.
65
+ It can read and change the following variables.
66
+ .PP
67
+ .RS
55
68
  .TP
56
- \fB\fCTORK_CONFIGS\fR
57
- A single\-line JSON array containing paths to actual files or names of
58
- helper libraries in the tork/config/ namespace of Ruby's load path.
59
- These configuration files are loaded just before \fI.tork.rb\fP is loaded.
69
+ \fB\fCTork::Master::MAX_CONCURRENT_WORKERS\fR
70
+ Maximum number of worker processes that are allowed to be running
71
+ simultaneously at any given time. The default value is either the
72
+ number of processors detected on your system or 1 if detection failed.
73
+ .RE
74
+ .TP
75
+ \fI.tork/onfork.rb\fP
76
+ Optional Ruby script that is loaded inside the master process just before a
77
+ worker process is forked. It can read and change the following variables.
78
+ .PP
79
+ .RS
80
+ .TP
81
+ \fB\fC$tork_test_file\fR
82
+ Path of the test file that will be run by the worker process.
83
+ .TP
84
+ \fB\fC$tork_line_numbers\fR
85
+ Array of line numbers in the test file that were requested to be run.
86
+ .TP
87
+ \fB\fC$tork_log_file\fR
88
+ Path of the log file that will hold the output of the worker process.
89
+ .TP
90
+ \fB\fC$tork_worker_number\fR
91
+ Sequence number of the worker process that will be forked shortly.
92
+ .RE
93
+ .TP
94
+ \fI.tork/worker.rb\fP
95
+ Optional Ruby script that is loaded inside a worker process just after
96
+ it is forked. It can read and change the following variables.
97
+ .PP
98
+ .RS
99
+ .TP
100
+ \fB\fC$tork_test_file\fR
101
+ Path of the test file that will be run by this worker process.
102
+ .TP
103
+ \fB\fC$tork_line_numbers\fR
104
+ Array of line numbers in the test file that were requested to be run.
105
+ .TP
106
+ \fB\fC$tork_log_file\fR
107
+ Path of the log file that will hold the output of this worker process.
108
+ .TP
109
+ \fB\fC$tork_worker_number\fR
110
+ Sequence number of this worker process.
111
+ .RE
112
+ .SH ENVIRONMENT
113
+ .PP
114
+ See
115
+ .BR tork (1).
60
116
  .SH SEE ALSO
61
117
  .PP
62
118
  .BR tork (1),
63
- .BR tork-herald (1),
64
- .BR tork-driver (1),
65
- .BR tork-engine (1),
66
- .BR tork-master (1)
119
+ .BR tork-remote (1)
@@ -0,0 +1,27 @@
1
+ .TH TORK\-NOTIFY 1 2012\-10\-17 19.0.0
2
+ .SH NAME
3
+ .PP
4
+ tork\-notify \- notifies you of test status changes
5
+ .SH SYNOPSIS
6
+ .PP
7
+ \fB\fCtork-notify\fR [\fIOPTION\fP]...
8
+ .SH DESCRIPTION
9
+ .PP
10
+ This program serves as an example of how to receive and process messages sent
11
+ by the various programs in the
12
+ .BR tork (1)
13
+ suite. It notifies you when previously
14
+ passing tests fail (or vice versa) through libnotify, xmessage, or growl. If
15
+ none are available on your system, then the notification is printed to stdout.
16
+ .SH OPTIONS
17
+ .TP
18
+ \fB\fC-h\fR, \fB\fC--help\fR
19
+ Show this help manual.
20
+ .SH EXIT STATUS
21
+ .PP
22
+ See
23
+ .BR tork-remote (1).
24
+ .SH SEE ALSO
25
+ .PP
26
+ .BR tork-remote (1),
27
+ .BR tork-engine (1)
@@ -0,0 +1,38 @@
1
+ .TH TORK\-REMOTE 1 2012\-09\-26 18.2.3
2
+ .SH NAME
3
+ .PP
4
+ tork\-remote \- controls
5
+ .BR tork (1)
6
+ programs
7
+ .SH SYNOPSIS
8
+ .PP
9
+ \fB\fCtork-remote\fR [\fIOPTION\fP]... \fIPROGRAM\fP
10
+ .SH DESCRIPTION
11
+ .PP
12
+ This program sends single\-line JSON messages read from its stdin to the given
13
+ \fIPROGRAM\fP which is already running in the same working directory as this one.
14
+ .PP
15
+ If lines read from stdin are not single\-line JSON messages, then they are
16
+ split into an array of words, using the same word\-splitting algorithm as
17
+ .BR sh (1),
18
+ before being sent to the \fIPROGRAM\fP as a single\-line JSON message.
19
+ .PP
20
+ If the \fIPROGRAM\fP sends any messages in response, then they are printed to
21
+ stdout if they are valid single\-line JSON messages or to stderr otherwise.
22
+ .SH OPTIONS
23
+ .TP
24
+ \fB\fC-h\fR, \fB\fC--help\fR
25
+ Show this help manual.
26
+ .SH EXIT STATUS
27
+ .TP
28
+ 1
29
+ Could not connect to the \fIPROGRAM\fP.
30
+ .TP
31
+ 2
32
+ Lost connection to the \fIPROGRAM\fP.
33
+ .SH SEE ALSO
34
+ .PP
35
+ .BR tork (1),
36
+ .BR tork-driver (1),
37
+ .BR tork-engine (1),
38
+ .BR tork-master (1)
data/man/man1/tork.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH TORK 1 2012\-10\-10 18.2.4
1
+ .TH TORK 1 2012\-10\-17 19.0.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork \- Continuous testing tool for Ruby
@@ -8,19 +8,127 @@ tork \- Continuous testing tool for Ruby
8
8
  .SH DESCRIPTION
9
9
  .PP
10
10
  This program is a simple command\-line user interface for
11
- .BR tork-driver (1).
12
- It
13
- loads the given \fICONFIG\fP files (which are either paths to actual files or
14
- names of helper libraries in the tork/config/ namespace of Ruby's load path)
15
- and then waits for you to supply interactive commands on its stdin. You may
11
+ .BR tork-driver (1).
12
+ .PP
13
+ First, it applies the given \fICONFIG\fP values, which are either (1) paths to
14
+ directories that contain configuration files or (2) names of configuration
15
+ helpers listed in the description of the \fB\fCTORK_CONFIGS\fR environment variable.
16
+ .PP
17
+ Next, it waits for you to supply interactive commands either (1) directly on
18
+ its stdin or (2) remotely through
19
+ .BR tork-remote (1).
20
+ From then onward, you may
16
21
  press the ENTER key (supplying no command) to see a menu of accepted commands.
22
+ .PP
23
+ Some interactive commands accept additional arguments, described as follows.
24
+ .TP
25
+ \fB\fCt\fR \fItest_file\fP [\fIline_number\fP]...
26
+ Runs the given \fItest_file\fP while only running those tests that are defined
27
+ on the given list of \fIline_number\fPs. If no \fIline_number\fPs are given, then
28
+ only those tests that have changed since the last run of the \fItest_file\fP
29
+ will now be run.
30
+ .TP
31
+ \fB\fCs\fR [\fIsignal\fP]
32
+ Stops test files that are currently running by sending the given \fIsignal\fP
33
+ (optional; defaults to \fB\fCSIGTERM\fR) to their respective worker processes.
34
+ .PP
35
+ This program can be controlled remotely by multiple
36
+ .BR tork-remote (1)
37
+ instances.
17
38
  .SH OPTIONS
18
39
  .TP
19
40
  \fB\fC-h\fR, \fB\fC--help\fR
20
41
  Show this help manual.
42
+ .SH FILES
43
+ .TP
44
+ \fI.tork/config.rb\fP
45
+ Optional Ruby script that is loaded inside the driver process on startup.
46
+ It can read and change the \fB\fCENV['TORK_CONFIGS']\fR environment variable.
47
+ .SH ENVIRONMENT
48
+ .TP
49
+ \fB\fCTORK_CONFIGS\fR
50
+ Colon\-separated (:) list of either paths to directories that contain
51
+ configuration files or names of the following configuration helpers.
52
+ If this variable is not set, then its value is assumed to be "default".
53
+ .PP
54
+ .RS
55
+ .TP
56
+ \fB\fCdefault\fR
57
+ Loads the following configuration helpers (as appropriate) if your
58
+ current working directory appears to utilize what they configure.
59
+ See below for complete descriptions of these configuration helpers.
60
+ .RS
61
+ .IP \(bu 2
62
+ rails
63
+ .IP \(bu 2
64
+ test
65
+ .IP \(bu 2
66
+ spec
67
+ .IP \(bu 2
68
+ cucumber
69
+ .IP \(bu 2
70
+ factory_girl
71
+ .RE
72
+ .TP
73
+ \fB\fCdotlog\fR
74
+ Hides log files by prefixing their names with a period (dot).
75
+ .TP
76
+ \fB\fClogdir\fR
77
+ Keeps log files away from your tests, in the \fB\fClog/\fR directory.
78
+ .TP
79
+ \fB\fCcoverage\fR
80
+ Measures C0 code coverage under Ruby 1.9 and dumps a hash in YAML
81
+ format at the end of your log file containing every Ruby script that
82
+ was loaded from the current working directory or any of its descendant
83
+ directories (the key) mapped to the following information (the value):
84
+ .PP
85
+ .RS
86
+ .TP
87
+ \fB\fC:grade\fR
88
+ Percentage of source lines that were C0 covered.
89
+ .TP
90
+ \fB\fC:nsloc\fR
91
+ Total number of source lines of code in the file.
92
+ .TP
93
+ \fB\fC:holes\fR
94
+ Line numbers of source lines that were not covered.
95
+ .RE
96
+ .TP
97
+ \fB\fCtest\fR
98
+ Supports the Test::Unit standard library.
99
+ .PP
100
+ \fB\fCspec\fR
101
+ Supports the RSpec
102
+ .UR http://rspec.info
103
+ .UE
104
+ testing framework.
105
+ .PP
106
+ \fB\fCcucumber\fR
107
+ Supports the Cucumber
108
+ .UR https://cukes.info
109
+ .UE
110
+ testing framework.
111
+ .PP
112
+ \fB\fCrails\fR
113
+ Supports the Ruby on Rails
114
+ .UR http://rubyonrails.org
115
+ .UE
116
+ web framework.
117
+ .PP
118
+ \fB\fCfactory_girl\fR
119
+ Supports the factory_girl
120
+ .UR https://github.com/thoughtbot/factory_girl
121
+ .UE
122
+ testing library.
123
+ .PP
124
+ \fB\fCparallel_tests\fR
125
+ Supports the parallel_tests
126
+ .UR https://github.com/grosser/parallel_tests
127
+ .UE
128
+ testing library.
129
+ .RE
21
130
  .SH SEE ALSO
22
131
  .PP
23
132
  .BR tork (1),
24
133
  .BR tork-driver (1),
25
- .BR tork-master (1),
26
- .BR tork-herald (1)
134
+ .BR tork-master (1)