tork 19.9.0 → 19.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db7c9496a3b8d6e14495d3cf7697adbed44650d5
4
- data.tar.gz: 1aac8ca254bc58ebe2561f7aeeef8eb7a7ee672c
3
+ metadata.gz: 512ecc2d69c35abf27ba74a4a822f11f5634812b
4
+ data.tar.gz: 2c1b4b208439b4fc324b6132d746ed29ade7683f
5
5
  SHA512:
6
- metadata.gz: a730b6a80141971a6c8eee69fa45aed9ff464ea23a4d0c85b4a91241f8e60ae7cdc3f1c05e23d0348fea55fb227784c007d4ea0d785d95ead7a52b798ae684dc
7
- data.tar.gz: 12e0de85fbb9ca6b2075251068979b78e945e22d0b85f42c121211d9018ee4ae308476bf5a189e0b078449fbc1001c1d74c7a0fb7a68ac1d126237ed9046662d
6
+ metadata.gz: 8f0514635279570470d853251fc4f5dee2d1a6beb2fdea19de5f7591ee696c7d3fc7a24be125fe24ec2f5dab58165b3e27fc9c3edb6ea283a16dcffc40046c4d
7
+ data.tar.gz: c4d7fb52be969f1b03f6cf31cf30f53875e1a9a0fd3c00d4db518877e65c274af87fa3ffd07fdf52f1d8cc6adc354d6209986ac0904a58b6c5604192b11f245f
@@ -1,3 +1,34 @@
1
+ ## Version 19.10.0 (2014-08-06)
2
+
3
+ This release improves responsiveness and adds a command to list failed files.
4
+
5
+ ### Minor:
6
+
7
+ * tork-engine(1): list most recently ran test files in `:idle` event. This
8
+ allows tork(1) to summarize a run after tests finish running, as follows:
9
+
10
+ tork: 10 tested, 10 passed, 0 failed
11
+
12
+ * tork-engine(1): add `list_failed_test_files` command that lists all test
13
+ files that have failed during their most recent run.
14
+
15
+ tork(1): add `l` key (bound to the `list_failed_test_files` command).
16
+
17
+ Thanks to Chris Scharf for contributing this feature in issue-60:
18
+ https://github.com/sunaku/tork/pull/60
19
+
20
+ ### Patch:
21
+
22
+ * tork/config: auto-detect `$TORK_CONFIGS` values only once per session.
23
+ This makes Tork load configuration helpers faster on slow file-systems.
24
+
25
+ * Use block-form of Dir.glob() to react more quickly on slow file-systems.
26
+ This makes tork-driver(1)'s `run_all_test_files` command more responsive.
27
+
28
+ ### Other:
29
+
30
+ * Align error/help message wording with manual pages.
31
+
1
32
  ## Version 19.9.0 (2014-07-17)
2
33
 
3
34
  ### Minor:
data/bin/tork CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK 1 2014-07-17 19.9.0
4
+ # TORK 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-DRIVER 1 2014-07-17 19.9.0
4
+ # TORK-DRIVER 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-ENGINE 1 2014-07-17 19.9.0
4
+ # TORK-ENGINE 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -48,6 +48,9 @@ them. For example, the line `a "b c"` is split into the `["a", "b c"]` array.
48
48
  `["rerun_failed_test_files"]`
49
49
  Runs all test files that have failed during their most recent run.
50
50
 
51
+ `["list_failed_test_files"]`
52
+ Lists all test files that have failed during their most recent run.
53
+
51
54
  `["quit"]`
52
55
  Stops all tests that are currently running and exits.
53
56
 
@@ -56,8 +59,10 @@ them. For example, the line `a "b c"` is split into the `["a", "b c"]` array.
56
59
  This program prints the following messages, which are single-line JSON arrays,
57
60
  to stdout.
58
61
 
59
- `["idle"]`
60
- All tests have finished running and no tests are queued for running either.
62
+ `["idle",` *ran_test_files*`,` *passed_test_files*`,` *failed_test_files*`]`
63
+ All queued tests have finished running and no new tests have been queued.
64
+ In particular, *ran_test_files* test files have run, *passed_test_files*
65
+ test files have passed, and *failed_test_files* test files have failed.
61
66
 
62
67
  `["pass_now_fail",` *test_file*`,` *message*`]`
63
68
  A previously passing *test_file* has now failed. See *message* for details.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-HERALD 1 2014-07-17 19.9.0
4
+ # TORK-HERALD 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-MASTER 1 2014-07-17 19.9.0
4
+ # TORK-MASTER 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-NOTIFY 1 2014-07-17 19.9.0
4
+ # TORK-NOTIFY 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-RUNNER 1 2014-07-17 19.9.0
4
+ # TORK-RUNNER 1 2014-08-06 19.10.0
5
5
 
6
6
  ## NAME
7
7
 
@@ -52,6 +52,10 @@ protected
52
52
  end
53
53
 
54
54
  tell @clients, message, false
55
+
56
+ when :idle
57
+ tested, passed, failed = details.map(&:length)
58
+ tell @clients, "#{tested} tested, #{passed} passed, #{failed} failed"
55
59
  end
56
60
  else
57
61
  key = message.shift.lstrip[0,1].downcase
@@ -74,6 +78,7 @@ private
74
78
  'k' => [:stop_running_test_files, :SIGKILL],
75
79
  'p' => :rerun_passed_test_files,
76
80
  'f' => :rerun_failed_test_files,
81
+ 'l' => :list_failed_test_files,
77
82
  'o' => :reabsorb_overhead,
78
83
  'q' => :quit,
79
84
  }
@@ -83,10 +88,11 @@ private
83
88
  Type a then ENTER to run all test files.
84
89
  Type t then SPACE then a filename then ENTER to run a specific test file.
85
90
  Type s then ENTER to stop currently running test files.
86
- Type k then ENTER to stop currently running test files with SIGKILL.
87
- Type p then ENTER to re-run passing test files.
88
- Type f then ENTER to re-run failing test files.
89
- Type o then ENTER to reabsorb test execution overhead.
91
+ Type k then ENTER to kill currently running test files.
92
+ Type p then ENTER to re-run currently passing test files.
93
+ Type f then ENTER to re-run currently failing test files.
94
+ Type l then ENTER to list currently failing test files.
95
+ Type o then ENTER to re-absorb test execution overhead.
90
96
  Type h then ENTER to see this help message.
91
97
  Type q then ENTER to quit.
92
98
  HELP
@@ -9,9 +9,14 @@ module Tork
9
9
  dirs = search_path.to_s.strip.split(/:+/).reject(&:empty?).uniq.
10
10
  map {|dir| [dir, __FILE__.sub(/\.rb$/, "/#{dir}")] }.flatten
11
11
 
12
- Dir["{#{dirs.join(',')},.tork}/#{name}.rb"].each {|script| load script }
12
+ Dir.glob("{#{dirs.join(',')},.tork}/#{name}.rb") {|script| load script }
13
13
  end
14
14
  end
15
15
 
16
16
  ENV['TORK_CONFIGS'] ||= String.new.freeze # ENV values come frozen by default
17
17
  Tork.config :config, '*'
18
+
19
+ unless ENV['TORK_CONFIGS_DETECTED'] =~ /\S/
20
+ ENV['TORK_CONFIGS_DETECTED'] = $0
21
+ Tork.config :detect, '*'
22
+ end
@@ -1,4 +1,2 @@
1
1
  $tork_config_spec_glob = '**/{spec_*,*_spec}.rb'
2
2
  $tork_config_spec_grep = %r{.*(\bspec_[^/]+|[^/]+_spec)\.rb$}
3
-
4
- ENV['TORK_CONFIGS'] += ':spec' if Dir['spec/', $tork_config_spec_glob].any?
@@ -0,0 +1 @@
1
+ ENV['TORK_CONFIGS'] += ':spec' if Dir['spec/', $tork_config_spec_glob].any?
@@ -6,5 +6,3 @@ labels_grep = '(' + labels.join('|') + ')'
6
6
 
7
7
  $tork_config_test_glob = "**/{#{labels_glob}_*,*_#{labels_glob}}.rb"
8
8
  $tork_config_test_grep = %r{.*(\b#{labels_grep}_[^/]+|[^/]+_#{labels_grep})\.rb$}
9
-
10
- ENV['TORK_CONFIGS'] += ':test' if Dir['test/', $tork_config_test_glob].any?
@@ -0,0 +1 @@
1
+ ENV['TORK_CONFIGS'] += ':test' if Dir['test/', $tork_config_test_glob].any?
@@ -26,12 +26,13 @@ class Driver < Server
26
26
  end
27
27
 
28
28
  def run_all_test_files
29
- all_test_files = Dir[*ALL_TEST_FILE_GLOBS]
30
- if all_test_files.empty?
31
- tell @client, 'There are no test files to run.'
32
- else
33
- run_non_overhead_test_files all_test_files
29
+ test_files_found = false
30
+ Dir.glob(*ALL_TEST_FILE_GLOBS) do |test_file|
31
+ next if overhead_file? test_file
32
+ run_test_file test_file
33
+ test_files_found = true
34
34
  end
35
+ tell @client, 'There are no test files to run.' unless test_files_found
35
36
  end
36
37
 
37
38
  # accept and delegate tork-engine(1) commands
@@ -89,7 +90,7 @@ private
89
90
  def find_dependent_test_files source_file, results=Set.new
90
91
  TEST_FILE_GLOBBERS.each do |regexp, globber|
91
92
  if regexp =~ source_file and globs = globber.call($~)
92
- Dir[*globs].each do |dependent_file|
93
+ Dir.glob(*globs) do |dependent_file|
93
94
  if results.add? dependent_file
94
95
  find_dependent_test_files dependent_file, results
95
96
  end
@@ -10,10 +10,12 @@ class Engine < Server
10
10
  super
11
11
  Tork.config :engine
12
12
 
13
- @running_test_files = Set.new
13
+ @lines_by_file = {}
14
14
  @passed_test_files = Set.new
15
15
  @failed_test_files = Set.new
16
- @lines_by_file = {}
16
+ @running_test_files = Set.new
17
+ @recently_passed_test_files = Set.new
18
+ @recently_failed_test_files = Set.new
17
19
  end
18
20
 
19
21
  def loop
@@ -51,7 +53,7 @@ class Engine < Server
51
53
 
52
54
  def stop_running_test_files signal=nil
53
55
  if @running_test_files.empty?
54
- tell @client, 'There are no test files currently running.'
56
+ tell @client, 'There are no running test files to stop.'
55
57
  else
56
58
  send @master, [:stop, signal].compact
57
59
  @running_test_files.clear
@@ -60,7 +62,7 @@ class Engine < Server
60
62
 
61
63
  def rerun_passed_test_files
62
64
  if @passed_test_files.empty?
63
- tell @client, 'There are no passing test files to re-run.'
65
+ tell @client, 'There are no passed test files to re-run.'
64
66
  else
65
67
  run_test_files @passed_test_files
66
68
  end
@@ -68,12 +70,20 @@ class Engine < Server
68
70
 
69
71
  def rerun_failed_test_files
70
72
  if @failed_test_files.empty?
71
- tell @client, 'There are no failing test files to re-run.'
73
+ tell @client, 'There are no failed test files to re-run.'
72
74
  else
73
75
  run_test_files @failed_test_files
74
76
  end
75
77
  end
76
78
 
79
+ def list_failed_test_files
80
+ if @failed_test_files.empty?
81
+ tell @client, 'There are no failed test files to list.'
82
+ else
83
+ tell @client, @failed_test_files.sort, false
84
+ end
85
+ end
86
+
77
87
  protected
78
88
 
79
89
  def recv client, message
@@ -87,19 +97,30 @@ protected
87
97
  @running_test_files.delete file
88
98
 
89
99
  if event_sym == :fail
100
+ @recently_failed_test_files.add file
90
101
  was_pass = @passed_test_files.delete? file
91
102
  now_fail = @failed_test_files.add? file
92
103
  send @clients, [:pass_now_fail, file, message] if was_pass and now_fail
93
104
 
94
105
  elsif line_numbers.empty?
95
106
  # only whole test file runs should qualify as pass
107
+ @recently_passed_test_files.add file
96
108
  was_fail = @failed_test_files.delete? file
97
109
  now_pass = @passed_test_files.add? file
98
110
  send @clients, [:fail_now_pass, file, message] if was_fail and now_pass
99
111
  end
100
112
 
101
113
  # notify user when all test files have finished running
102
- send @clients, [:idle] if @running_test_files.empty?
114
+ if @running_test_files.empty?
115
+ passed = @recently_passed_test_files.to_a
116
+ @recently_passed_test_files.clear
117
+
118
+ failed = @recently_failed_test_files.to_a
119
+ @recently_failed_test_files.clear
120
+
121
+ tested = passed + failed
122
+ send @clients, [:idle, tested, passed, failed]
123
+ end
103
124
  end
104
125
 
105
126
  else
@@ -1,3 +1,3 @@
1
1
  module Tork
2
- VERSION = "19.9.0"
2
+ VERSION = "19.10.0"
3
3
  end
@@ -7,7 +7,28 @@
7
7
  <link rel="stylesheet" href="../style.css"/>
8
8
  <!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
9
9
  </head>
10
- <body><div class="navbar"><div class="navbar-inner"><span class="brand"><a href="../index.html#man0">man0</a>/VERSION</span></div></div><div class="container-fluid"><h2 id="version-19-9-0-2014-07-17"><a name="version-19-9-0-2014-07-17" href="#version-19-9-0-2014-07-17" class="md2man-permalink" title="permalink"></a>Version 19.9.0 (2014-07-17)</h2><h3 id="minor"><a name="minor" href="#minor" class="md2man-permalink" title="permalink"></a>Minor:</h3>
10
+ <body><div class="navbar"><div class="navbar-inner"><span class="brand"><a href="../index.html#man0">man0</a>/VERSION</span></div></div><div class="container-fluid"><h2 id="version-19-10-0-2014-08-06"><a name="version-19-10-0-2014-08-06" href="#version-19-10-0-2014-08-06" class="md2man-permalink" title="permalink"></a>Version 19.10.0 (2014-08-06)</h2><p>This release improves responsiveness and adds a command to list failed files.</p><h3 id="minor"><a name="minor" href="#minor" class="md2man-permalink" title="permalink"></a>Minor:</h3>
11
+ <ul>
12
+ <li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: list most recently ran test files in <code>:idle</code> event. This
13
+ allows <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> to summarize a run after tests finish running, as follows:</p>
14
+ <pre><code>tork: 10 tested, 10 passed, 0 failed
15
+ </code></pre></li>
16
+ <li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: add <code>list_failed_test_files</code> command that lists all test
17
+ files that have failed during their most recent run.</p><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: add <code>l</code> key (bound to the <code>list_failed_test_files</code> command).</p><p>Thanks to Chris Scharf for contributing this feature in issue-60:
18
+ <a href="https://github.com/sunaku/tork/pull/60">https://github.com/sunaku/tork/pull/60</a></p></li>
19
+ </ul>
20
+ <h3 id="patch"><a name="patch" href="#patch" class="md2man-permalink" title="permalink"></a>Patch:</h3>
21
+ <ul>
22
+ <li><p>tork/config: auto-detect <code>$TORK_CONFIGS</code> values only once per session.
23
+ This makes Tork load configuration helpers faster on slow file-systems.</p></li>
24
+ <li><p>Use block-form of Dir.glob() to react more quickly on slow file-systems.
25
+ This makes <a class="md2man-reference" href="../man1/tork-driver.1.html">tork-driver(1)</a>&#39;s <code>run_all_test_files</code> command more responsive.</p></li>
26
+ </ul>
27
+ <h3 id="other"><a name="other" href="#other" class="md2man-permalink" title="permalink"></a>Other:</h3>
28
+ <ul>
29
+ <li>Align error/help message wording with manual pages.</li>
30
+ </ul>
31
+ <h2 id="version-19-9-0-2014-07-17"><a name="version-19-9-0-2014-07-17" href="#version-19-9-0-2014-07-17" class="md2man-permalink" title="permalink"></a>Version 19.9.0 (2014-07-17)</h2><h3 id="minor-1"><a name="minor-1" href="#minor-1" class="md2man-permalink" title="permalink"></a>Minor:</h3>
11
32
  <ul>
12
33
  <li><p>Add support for testing outside <code>test/</code> and <code>spec/</code> directories. This
13
34
  change lets you run test files directly from the current working directory
@@ -20,20 +41,20 @@ itself detect whether it is needed from inside its own <code>config.rb</code> fi
20
41
  <li><p>Censor Tork internals from test failure backtraces so that users can
21
42
  inspect them quickly to find where errors are arising in their code.</p></li>
22
43
  </ul>
23
- <h3 id="patch"><a name="patch" href="#patch" class="md2man-permalink" title="permalink"></a>Patch:</h3>
44
+ <h3 id="patch-1"><a name="patch-1" href="#patch-1" class="md2man-permalink" title="permalink"></a>Patch:</h3>
24
45
  <ul>
25
46
  <li>Only 1 worker was being used on a dual-core system.</li>
26
47
  </ul>
27
- <h3 id="other"><a name="other" href="#other" class="md2man-permalink" title="permalink"></a>Other:</h3>
48
+ <h3 id="other-1"><a name="other-1" href="#other-1" class="md2man-permalink" title="permalink"></a>Other:</h3>
28
49
  <ul>
29
50
  <li><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: use complete sentences in the help message.</li>
30
51
  </ul>
31
- <h2 id="version-19-8-2-2014-07-01"><a name="version-19-8-2-2014-07-01" href="#version-19-8-2-2014-07-01" class="md2man-permalink" title="permalink"></a>Version 19.8.2 (2014-07-01)</h2><p>This release adds support for RSpec 3+ in the <code>spec</code> configuration helper.</p><h3 id="patch-1"><a name="patch-1" href="#patch-1" class="md2man-permalink" title="permalink"></a>Patch:</h3>
52
+ <h2 id="version-19-8-2-2014-07-01"><a name="version-19-8-2-2014-07-01" href="#version-19-8-2-2014-07-01" class="md2man-permalink" title="permalink"></a>Version 19.8.2 (2014-07-01)</h2><p>This release adds support for RSpec 3+ in the <code>spec</code> configuration helper.</p><h3 id="patch-2"><a name="patch-2" href="#patch-2" class="md2man-permalink" title="permalink"></a>Patch:</h3>
32
53
  <ul>
33
54
  <li><p>GH-58: RSpec 3.0 removed <code>--line_number</code> command-line option.</p><p>Thanks to Jonathan Cairns for reporting this issue in GH-58:
34
55
  <a href="https://github.com/sunaku/tork/issues/58">https://github.com/sunaku/tork/issues/58</a></p></li>
35
56
  </ul>
36
- <h2 id="version-19-8-1-2014-06-28"><a name="version-19-8-1-2014-06-28" href="#version-19-8-1-2014-06-28" class="md2man-permalink" title="permalink"></a>Version 19.8.1 (2014-06-28)</h2><h3 id="patch-2"><a name="patch-2" href="#patch-2" class="md2man-permalink" title="permalink"></a>Patch:</h3>
57
+ <h2 id="version-19-8-1-2014-06-28"><a name="version-19-8-1-2014-06-28" href="#version-19-8-1-2014-06-28" class="md2man-permalink" title="permalink"></a>Version 19.8.1 (2014-06-28)</h2><h3 id="patch-3"><a name="patch-3" href="#patch-3" class="md2man-permalink" title="permalink"></a>Patch:</h3>
37
58
  <ul>
38
59
  <li><p><a class="md2man-reference" href="../man1/tork-driver.1.html">tork-driver(1)</a>: sanitize the file paths reported by <a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a>.</p><p>This allows a user to override <a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> with their own program
39
60
  that reports changed file paths in a less than ideal, but valid, way.
@@ -42,18 +63,18 @@ For example, with relative directory traversals and redundant slashes.</p></li>
42
63
  killed so it should be safe to delete it and start up a new server.</p></li>
43
64
  <li><p>tork/server: ensure that <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a> gets the same ARGV we did.</p></li>
44
65
  </ul>
45
- <h3 id="other-1"><a name="other-1" href="#other-1" class="md2man-permalink" title="permalink"></a>Other:</h3>
66
+ <h3 id="other-2"><a name="other-2" href="#other-2" class="md2man-permalink" title="permalink"></a>Other:</h3>
46
67
  <ul>
47
68
  <li><p>Rename <code>*.md</code> file extension to the full <code>*.markdown</code>.</p></li>
48
69
  <li><p>README: link to manuals index; demote package link.</p></li>
49
70
  </ul>
50
- <h2 id="version-19-8-0-2014-06-23"><a name="version-19-8-0-2014-06-23" href="#version-19-8-0-2014-06-23" class="md2man-permalink" title="permalink"></a>Version 19.8.0 (2014-06-23)</h2><h3 id="minor-1"><a name="minor-1" href="#minor-1" class="md2man-permalink" title="permalink"></a>Minor:</h3>
71
+ <h2 id="version-19-8-0-2014-06-23"><a name="version-19-8-0-2014-06-23" href="#version-19-8-0-2014-06-23" class="md2man-permalink" title="permalink"></a>Version 19.8.0 (2014-06-23)</h2><h3 id="minor-2"><a name="minor-2" href="#minor-2" class="md2man-permalink" title="permalink"></a>Minor:</h3>
51
72
  <ul>
52
73
  <li><p>Add <code>bundler</code> configuration helper to load a bundle into <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>.</p><p>This lets you run Tork inside any application that uses Bundler without
53
74
  having to first add Tork to its <code>Gemfile</code> and then <code>bundle install</code> it.
54
75
  In fact, installing the Tork gem <em>outside</em> of the bundle is sufficient.</p><p>Try it: go into a bundled application and call <code>tork</code> to run its tests!</p></li>
55
76
  </ul>
56
- <h3 id="patch-3"><a name="patch-3" href="#patch-3" class="md2man-permalink" title="permalink"></a>Patch:</h3>
77
+ <h3 id="patch-4"><a name="patch-4" href="#patch-4" class="md2man-permalink" title="permalink"></a>Patch:</h3>
57
78
  <ul>
58
79
  <li><p>Server: fix crash when Fixnum is sent as a message.</p>
59
80
  <pre><code>lib/tork/server.rb:45:in `block (2 levels) in loop&#39;:
@@ -75,31 +96,31 @@ JSON::ParserError: A JSON text must at least contain two octets!
75
96
  from /usr/bin/irb:11:in `&lt;main&gt;&#39;
76
97
  </code></pre></li>
77
98
  </ul>
78
- <h3 id="other-2"><a name="other-2" href="#other-2" class="md2man-permalink" title="permalink"></a>Other:</h3>
99
+ <h3 id="other-3"><a name="other-3" href="#other-3" class="md2man-permalink" title="permalink"></a>Other:</h3>
79
100
  <ul>
80
101
  <li>Upgrade to md2man 3.0 for improved HTML manuals.</li>
81
102
  </ul>
82
- <h2 id="version-19-7-0-2014-03-04"><a name="version-19-7-0-2014-03-04" href="#version-19-7-0-2014-03-04" class="md2man-permalink" title="permalink"></a>Version 19.7.0 (2014-03-04)</h2><p>This release automatically re-runs failed tests after reabsorbing overhead.</p><h3 id="minor-2"><a name="minor-2" href="#minor-2" class="md2man-permalink" title="permalink"></a>Minor:</h3>
103
+ <h2 id="version-19-7-0-2014-03-04"><a name="version-19-7-0-2014-03-04" href="#version-19-7-0-2014-03-04" class="md2man-permalink" title="permalink"></a>Version 19.7.0 (2014-03-04)</h2><p>This release automatically re-runs failed tests after reabsorbing overhead.</p><h3 id="minor-3"><a name="minor-3" href="#minor-3" class="md2man-permalink" title="permalink"></a>Minor:</h3>
83
104
  <ul>
84
105
  <li><p>Re-run failed tests after reabsorbing overhead.</p><p>Thanks to Chris Scharf for <a href="https://github.com/sunaku/tork/pull/57">contributing this
85
106
  patch</a>.</p></li>
86
107
  </ul>
87
- <h2 id="version-19-6-1-2014-03-04"><a name="version-19-6-1-2014-03-04" href="#version-19-6-1-2014-03-04" class="md2man-permalink" title="permalink"></a>Version 19.6.1 (2014-03-04)</h2><p>This release improves support for old Rails versions.</p><h3 id="patch-4"><a name="patch-4" href="#patch-4" class="md2man-permalink" title="permalink"></a>Patch:</h3>
108
+ <h2 id="version-19-6-1-2014-03-04"><a name="version-19-6-1-2014-03-04" href="#version-19-6-1-2014-03-04" class="md2man-permalink" title="permalink"></a>Version 19.6.1 (2014-03-04)</h2><p>This release improves support for old Rails versions.</p><h3 id="patch-5"><a name="patch-5" href="#patch-5" class="md2man-permalink" title="permalink"></a>Patch:</h3>
88
109
  <ul>
89
110
  <li><p>Rails &lt; 3.1.0 does not have <code>connection_config()</code>.</p></li>
90
111
  <li><p><code>schema_cache()</code> is only defined in Rails &gt;= 4.</p></li>
91
112
  </ul>
92
- <h2 id="version-19-6-0-2014-01-02"><a name="version-19-6-0-2014-01-02" href="#version-19-6-0-2014-01-02" class="md2man-permalink" title="permalink"></a>Version 19.6.0 (2014-01-02)</h2><p>This release improves <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> responsiveness and fixes <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>.</p><h3 id="minor-3"><a name="minor-3" href="#minor-3" class="md2man-permalink" title="permalink"></a>Minor:</h3>
113
+ <h2 id="version-19-6-0-2014-01-02"><a name="version-19-6-0-2014-01-02" href="#version-19-6-0-2014-01-02" class="md2man-permalink" title="permalink"></a>Version 19.6.0 (2014-01-02)</h2><p>This release improves <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> responsiveness and fixes <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>.</p><h3 id="minor-4"><a name="minor-4" href="#minor-4" class="md2man-permalink" title="permalink"></a>Minor:</h3>
93
114
  <ul>
94
115
  <li><a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> now prints the percentage of completed tests to stderr.</li>
95
116
  </ul>
96
- <h3 id="patch-5"><a name="patch-5" href="#patch-5" class="md2man-permalink" title="permalink"></a>Patch:</h3>
117
+ <h3 id="patch-6"><a name="patch-6" href="#patch-6" class="md2man-permalink" title="permalink"></a>Patch:</h3>
97
118
  <ul>
98
119
  <li><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> emitted the <code>idle</code> event when tests were still running.</li>
99
120
  </ul>
100
121
  <h2 id="version-19-5-1-2013-12-02"><a name="version-19-5-1-2013-12-02" href="#version-19-5-1-2013-12-02" class="md2man-permalink" title="permalink"></a>Version 19.5.1 (2013-12-02)</h2><p>This release restores support for Capybara integration tests in the <code>rails</code>
101
122
  configuration helper, corrects the <code>idle</code> event in <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>, and fixes
102
- some minor bugs in <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> and <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>.</p><h3 id="patch-6"><a name="patch-6" href="#patch-6" class="md2man-permalink" title="permalink"></a>Patch:</h3>
123
+ some minor bugs in <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> and <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>.</p><h3 id="patch-7"><a name="patch-7" href="#patch-7" class="md2man-permalink" title="permalink"></a>Patch:</h3>
103
124
  <ul>
104
125
  <li><p>Rails: keep sub-Rails connected to in-memory SQLite3 test database.</p><p>When another Rails instance is started by Capybara, it sets up a new
105
126
  connection to the test database instead of re-using our in-memory DB.</p><p><a href="http://www.spacevatican.org/2012/8/18/threading-the-rat/">http://www.spacevatican.org/2012/8/18/threading-the-rat/</a></p></li>
@@ -109,7 +130,7 @@ connection to the test database instead of re-using our in-memory DB.</p><p><a h
109
130
  </ul>
110
131
  <h2 id="version-19-5-0-2013-11-30"><a name="version-19-5-0-2013-11-30" href="#version-19-5-0-2013-11-30" class="md2man-permalink" title="permalink"></a>Version 19.5.0 (2013-11-30)</h2><p>This release adds a <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> program for non-interactive test execution,
111
132
  makes connections to tork subprocesses self-healing, eliminates &quot;address
112
- already in use&quot; errors, and fixes bugs in <a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> and <a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a>.</p><h3 id="minor-4"><a name="minor-4" href="#minor-4" class="md2man-permalink" title="permalink"></a>Minor:</h3>
133
+ already in use&quot; errors, and fixes bugs in <a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> and <a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a>.</p><h3 id="minor-5"><a name="minor-5" href="#minor-5" class="md2man-permalink" title="permalink"></a>Minor:</h3>
113
134
  <ul>
114
135
  <li><p>Add <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> to run tests once, non-interactively, and then exit.</p><p>You can use <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> to run your test suite in one shot and then
115
136
  exit with a nonzero status if tests failed, similar to <code>rake test</code>.</p></li>
@@ -123,7 +144,7 @@ to re-use the former&#39;s resources to run your test suite non-interactively.</
123
144
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: show help message to clients upon connecting.</p></li>
124
145
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: tell user to input &#39;h&#39; key for help message.</p></li>
125
146
  </ul>
126
- <h3 id="patch-7"><a name="patch-7" href="#patch-7" class="md2man-permalink" title="permalink"></a>Patch:</h3>
147
+ <h3 id="patch-8"><a name="patch-8" href="#patch-8" class="md2man-permalink" title="permalink"></a>Patch:</h3>
127
148
  <ul>
128
149
  <li><p><a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a>: must pass mutable local variables into Thread.new.</p><p>The <code>icon</code> local variable would be overwritten (to nil sometimes)
129
150
  outside of the thread and cause the thread body to silently fail.</p><p>See <a href="http://stackoverflow.com/q/16745840">http://stackoverflow.com/q/16745840</a> for details.</p></li>
@@ -155,59 +176,59 @@ tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `&l
155
176
  </ul></li>
156
177
  <li><p><a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a>: downgrade to listen 1.x gem to maintain Ruby 1.8 support.</p></li>
157
178
  </ul>
158
- <h3 id="other-3"><a name="other-3" href="#other-3" class="md2man-permalink" title="permalink"></a>Other:</h3>
179
+ <h3 id="other-4"><a name="other-4" href="#other-4" class="md2man-permalink" title="permalink"></a>Other:</h3>
159
180
  <ul>
160
181
  <li><p>GH-56: specify license in gemspec for rubygems.org.</p></li>
161
182
  <li><p>Document <a class="md2man-reference">sh(1)</a> word splitting in manual pages of all tork servers.</p></li>
162
183
  <li><p>README: use <code>ps uf</code> to visualize process hierarchy.</p></li>
163
184
  </ul>
164
- <h2 id="version-19-4-0-2013-11-25"><a name="version-19-4-0-2013-11-25" href="#version-19-4-0-2013-11-25" class="md2man-permalink" title="permalink"></a>Version 19.4.0 (2013-11-25)</h2><h3 id="minor-5"><a name="minor-5" href="#minor-5" class="md2man-permalink" title="permalink"></a>Minor:</h3>
185
+ <h2 id="version-19-4-0-2013-11-25"><a name="version-19-4-0-2013-11-25" href="#version-19-4-0-2013-11-25" class="md2man-permalink" title="permalink"></a>Version 19.4.0 (2013-11-25)</h2><h3 id="minor-6"><a name="minor-6" href="#minor-6" class="md2man-permalink" title="permalink"></a>Minor:</h3>
165
186
  <ul>
166
187
  <li>The &quot;rails&quot; configuration helper now automatically sets up your test
167
188
  database for Tork&#39;s parallel testing system if your test database is
168
189
  SQLite3 and you are using Rails 3 or newer.</li>
169
190
  </ul>
170
- <h3 id="other-4"><a name="other-4" href="#other-4" class="md2man-permalink" title="permalink"></a>Other:</h3>
191
+ <h3 id="other-5"><a name="other-5" href="#other-5" class="md2man-permalink" title="permalink"></a>Other:</h3>
171
192
  <ul>
172
193
  <li><p>rails: remove unused capture of rescued exception</p></li>
173
194
  <li><p>coverage: document the use of Ruby 1.9 hash syntax</p></li>
174
195
  <li><p>rename <code>*.markdown</code> file extension to shorter <code>*.md</code></p></li>
175
196
  </ul>
176
- <h2 id="version-19-3-2-2013-10-29"><a name="version-19-3-2-2013-10-29" href="#version-19-3-2-2013-10-29" class="md2man-permalink" title="permalink"></a>Version 19.3.2 (2013-10-29)</h2><h3 id="other-5"><a name="other-5" href="#other-5" class="md2man-permalink" title="permalink"></a>Other:</h3>
197
+ <h2 id="version-19-3-2-2013-10-29"><a name="version-19-3-2-2013-10-29" href="#version-19-3-2-2013-10-29" class="md2man-permalink" title="permalink"></a>Version 19.3.2 (2013-10-29)</h2><h3 id="other-6"><a name="other-6" href="#other-6" class="md2man-permalink" title="permalink"></a>Other:</h3>
177
198
  <ul>
178
199
  <li><p>GH-55: upgrade listen &amp; rake gem dependencies.</p><p>Thanks to Matthew Albright for reporting this issue in GH-55:
179
200
  <a href="https://github.com/sunaku/tork/issues/55">https://github.com/sunaku/tork/issues/55</a></p></li>
180
201
  </ul>
181
- <h2 id="version-19-3-1-2013-06-07"><a name="version-19-3-1-2013-06-07" href="#version-19-3-1-2013-06-07" class="md2man-permalink" title="permalink"></a>Version 19.3.1 (2013-06-07)</h2><h3 id="patch-8"><a name="patch-8" href="#patch-8" class="md2man-permalink" title="permalink"></a>Patch:</h3>
202
+ <h2 id="version-19-3-1-2013-06-07"><a name="version-19-3-1-2013-06-07" href="#version-19-3-1-2013-06-07" class="md2man-permalink" title="permalink"></a>Version 19.3.1 (2013-06-07)</h2><h3 id="patch-9"><a name="patch-9" href="#patch-9" class="md2man-permalink" title="permalink"></a>Patch:</h3>
182
203
  <ul>
183
204
  <li><p>server: rescue from failed writes to asynchronously closed clients.</p><p>Thanks to Jonathan Cairns for reporting and fixing this bug in GH-53:
184
205
  <a href="https://github.com/sunaku/tork/issues/53">https://github.com/sunaku/tork/issues/53</a></p></li>
185
206
  </ul>
186
- <h3 id="other-6"><a name="other-6" href="#other-6" class="md2man-permalink" title="permalink"></a>Other:</h3>
207
+ <h3 id="other-7"><a name="other-7" href="#other-7" class="md2man-permalink" title="permalink"></a>Other:</h3>
187
208
  <ul>
188
209
  <li>Upgrade to md2man 2.0.</li>
189
210
  </ul>
190
- <h2 id="version-19-3-0-2013-05-05"><a name="version-19-3-0-2013-05-05" href="#version-19-3-0-2013-05-05" class="md2man-permalink" title="permalink"></a>Version 19.3.0 (2013-05-05)</h2><h3 id="minor-6"><a name="minor-6" href="#minor-6" class="md2man-permalink" title="permalink"></a>Minor:</h3>
211
+ <h2 id="version-19-3-0-2013-05-05"><a name="version-19-3-0-2013-05-05" href="#version-19-3-0-2013-05-05" class="md2man-permalink" title="permalink"></a>Version 19.3.0 (2013-05-05)</h2><h3 id="minor-7"><a name="minor-7" href="#minor-7" class="md2man-permalink" title="permalink"></a>Minor:</h3>
191
212
  <ul>
192
213
  <li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> now emits <code>[&quot;idle&quot;]</code> messages whenever all tests
193
214
  have finished running and no more tests are queued for running.</p><p>Thanks to Jonathan Cairns for requesting this feature in GH-50:
194
215
  <a href="https://github.com/sunaku/tork/issues/50">https://github.com/sunaku/tork/issues/50</a></p></li>
195
216
  </ul>
196
- <h3 id="other-7"><a name="other-7" href="#other-7" class="md2man-permalink" title="permalink"></a>Other:</h3>
217
+ <h3 id="other-8"><a name="other-8" href="#other-8" class="md2man-permalink" title="permalink"></a>Other:</h3>
197
218
  <ul>
198
219
  <li><p>add man/man0 subdir containing README and VERSION</p></li>
199
220
  <li><p>README: use manpage xrefs for linking in HTML mans</p></li>
200
221
  </ul>
201
222
  <h2 id="version-19-2-2-2013-05-04"><a name="version-19-2-2-2013-05-04" href="#version-19-2-2-2013-05-04" class="md2man-permalink" title="permalink"></a>Version 19.2.2 (2013-05-04)</h2><p>This release makes Tork resilient to <code>Errno::EADDRINUSE</code> errors that may occur
202
- sometimes, intermittently, when test execution overhead is being reabsorbed.</p><h3 id="patch-9"><a name="patch-9" href="#patch-9" class="md2man-permalink" title="permalink"></a>Patch:</h3>
223
+ sometimes, intermittently, when test execution overhead is being reabsorbed.</p><h3 id="patch-10"><a name="patch-10" href="#patch-10" class="md2man-permalink" title="permalink"></a>Patch:</h3>
203
224
  <ul>
204
225
  <li>server: retry until the socket opens successfully</li>
205
226
  </ul>
206
- <h3 id="other-8"><a name="other-8" href="#other-8" class="md2man-permalink" title="permalink"></a>Other:</h3>
227
+ <h3 id="other-9"><a name="other-9" href="#other-9" class="md2man-permalink" title="permalink"></a>Other:</h3>
207
228
  <ul>
208
229
  <li>include md2man rake tasks in developer&#39;s rakefile</li>
209
230
  </ul>
210
- <h2 id="version-19-2-1-2013-02-08"><a name="version-19-2-1-2013-02-08" href="#version-19-2-1-2013-02-08" class="md2man-permalink" title="permalink"></a>Version 19.2.1 (2013-02-08)</h2><h3 id="patch-10"><a name="patch-10" href="#patch-10" class="md2man-permalink" title="permalink"></a>Patch:</h3>
231
+ <h2 id="version-19-2-1-2013-02-08"><a name="version-19-2-1-2013-02-08" href="#version-19-2-1-2013-02-08" class="md2man-permalink" title="permalink"></a>Version 19.2.1 (2013-02-08)</h2><h3 id="patch-11"><a name="patch-11" href="#patch-11" class="md2man-permalink" title="permalink"></a>Patch:</h3>
211
232
  <ul>
212
233
  <li><p>GH-46: allow reassigning <code>$tork_*</code> variable values. Thanks to Joe
213
234
  Escalante for reminding me to fix this issue.</p></li>
@@ -215,40 +236,40 @@ Escalante for reminding me to fix this issue.</p></li>
215
236
  Thanks to Ryan Ahearn for fixing this issue and to Jonathan Cairns for
216
237
  reporting it.</p></li>
217
238
  </ul>
218
- <h2 id="version-19-2-0-2012-12-30"><a name="version-19-2-0-2012-12-30" href="#version-19-2-0-2012-12-30" class="md2man-permalink" title="permalink"></a>Version 19.2.0 (2012-12-30)</h2><h3 id="minor-7"><a name="minor-7" href="#minor-7" class="md2man-permalink" title="permalink"></a>Minor:</h3>
239
+ <h2 id="version-19-2-0-2012-12-30"><a name="version-19-2-0-2012-12-30" href="#version-19-2-0-2012-12-30" class="md2man-permalink" title="permalink"></a>Version 19.2.0 (2012-12-30)</h2><h3 id="minor-8"><a name="minor-8" href="#minor-8" class="md2man-permalink" title="permalink"></a>Minor:</h3>
219
240
  <ul>
220
241
  <li>Add &quot;devise&quot; configuration helper that adds support for testing Rails
221
242
  applications that use the Devise authentication framework. Thanks to Ryan
222
243
  Ahearn for this contribution.</li>
223
244
  </ul>
224
- <h3 id="patch-11"><a name="patch-11" href="#patch-11" class="md2man-permalink" title="permalink"></a>Patch:</h3>
245
+ <h3 id="patch-12"><a name="patch-12" href="#patch-12" class="md2man-permalink" title="permalink"></a>Patch:</h3>
225
246
  <ul>
226
247
  <li><p>gemspec: upgrade to <em>listen</em> 0.7.0 to fix issue #43. Thanks to Ryan
227
248
  Ahearn for reporting this issue and helping debug it, and to Thibaud
228
249
  Guillaume-Gentil for fixing this issue upstream in the <em>listen</em> library.</p></li>
229
250
  <li><p>Fix <code>undefined method &#39;path&#39; for nil</code> error on socket file removal.</p></li>
230
251
  </ul>
231
- <h2 id="version-19-1-0-2012-12-12"><a name="version-19-1-0-2012-12-12" href="#version-19-1-0-2012-12-12" class="md2man-permalink" title="permalink"></a>Version 19.1.0 (2012-12-12)</h2><h3 id="minor-8"><a name="minor-8" href="#minor-8" class="md2man-permalink" title="permalink"></a>Minor:</h3>
252
+ <h2 id="version-19-1-0-2012-12-12"><a name="version-19-1-0-2012-12-12" href="#version-19-1-0-2012-12-12" class="md2man-permalink" title="permalink"></a>Version 19.1.0 (2012-12-12)</h2><h3 id="minor-9"><a name="minor-9" href="#minor-9" class="md2man-permalink" title="permalink"></a>Minor:</h3>
232
253
  <ul>
233
254
  <li>tork-driver: don&#39;t run overhead files as test files</li>
234
255
  </ul>
235
- <h3 id="patch-12"><a name="patch-12" href="#patch-12" class="md2man-permalink" title="permalink"></a>Patch:</h3>
256
+ <h3 id="patch-13"><a name="patch-13" href="#patch-13" class="md2man-permalink" title="permalink"></a>Patch:</h3>
236
257
  <ul>
237
258
  <li><p>rails: run dependent tests when <code>app/views/*</code> change</p></li>
238
259
  <li><p>Clear FactoryGirl sequences and traits on fork in the <code>factory_girl</code>
239
260
  configuration helper. Thanks to Ryan Ahearn for this contribution.</p></li>
240
261
  <li><p>server: fix clean up of socket files upon exit</p></li>
241
262
  </ul>
242
- <h2 id="version-19-0-2-2012-11-07"><a name="version-19-0-2-2012-11-07" href="#version-19-0-2-2012-11-07" class="md2man-permalink" title="permalink"></a>Version 19.0.2 (2012-11-07)</h2><h3 id="patch-13"><a name="patch-13" href="#patch-13" class="md2man-permalink" title="permalink"></a>Patch:</h3>
263
+ <h2 id="version-19-0-2-2012-11-07"><a name="version-19-0-2-2012-11-07" href="#version-19-0-2-2012-11-07" class="md2man-permalink" title="permalink"></a>Version 19.0.2 (2012-11-07)</h2><h3 id="patch-14"><a name="patch-14" href="#patch-14" class="md2man-permalink" title="permalink"></a>Patch:</h3>
243
264
  <ul>
244
265
  <li><p>Monkeypatch <code>at_exit()</code> to fix RSpec and MiniTest:</p><p><a href="https://github.com/rspec/rspec-core/pull/720">https://github.com/rspec/rspec-core/pull/720</a></p><p><a href="https://github.com/seattlerb/minitest/pull/183">https://github.com/seattlerb/minitest/pull/183</a></p></li>
245
266
  </ul>
246
- <h3 id="other-9"><a name="other-9" href="#other-9" class="md2man-permalink" title="permalink"></a>Other:</h3>
267
+ <h3 id="other-10"><a name="other-10" href="#other-10" class="md2man-permalink" title="permalink"></a>Other:</h3>
247
268
  <ul>
248
269
  <li><p>README: document RSpec 2.9.0+ autorun skipping bug</p></li>
249
270
  <li><p>README: MiniTest 1.3.2+ also has autorun skip bug</p></li>
250
271
  </ul>
251
- <h2 id="version-19-0-1-2012-10-26"><a name="version-19-0-1-2012-10-26" href="#version-19-0-1-2012-10-26" class="md2man-permalink" title="permalink"></a>Version 19.0.1 (2012-10-26)</h2><h3 id="patch-14"><a name="patch-14" href="#patch-14" class="md2man-permalink" title="permalink"></a>Patch:</h3>
272
+ <h2 id="version-19-0-1-2012-10-26"><a name="version-19-0-1-2012-10-26" href="#version-19-0-1-2012-10-26" class="md2man-permalink" title="permalink"></a>Version 19.0.1 (2012-10-26)</h2><h3 id="patch-15"><a name="patch-15" href="#patch-15" class="md2man-permalink" title="permalink"></a>Patch:</h3>
252
273
  <ul>
253
274
  <li><p>Support testing projects that have both test/ and spec/ directories.</p><p>I assumed that users would only have either test/ or spec/ but not both.
254
275
  Do you know what happens when a test/ is run by RSpec or vice versa? :-)</p><p>Thanks to Kyle Peyton for reporting this issue.</p></li>
@@ -256,7 +277,7 @@ Do you know what happens when a test/ is run by RSpec or vice versa? :-)</p><p>T
256
277
  their spec/spec_helper.rb file because they use the <a class="md2man-reference">rspec(1)</a> executable
257
278
  to run their tests. This commit makes things Just Work for them again.</p></li>
258
279
  </ul>
259
- <h3 id="other-10"><a name="other-10" href="#other-10" class="md2man-permalink" title="permalink"></a>Other:</h3>
280
+ <h3 id="other-11"><a name="other-11" href="#other-11" class="md2man-permalink" title="permalink"></a>Other:</h3>
260
281
  <ul>
261
282
  <li><p>test whether input is JSON by actually parsing it</p></li>
262
283
  <li><p>server: use Set instead of Array for faster lookup</p></li>
@@ -284,7 +305,7 @@ must specify load paths and overhead files in the <code>.tork/master.rb</code> f
284
305
  <li><p>The <code>tork/client</code> library has been removed. The threaded IO and popen()
285
306
  wrappers that it provided have been replaced by the powerful IO.select().</p></li>
286
307
  </ul>
287
- <h3 id="minor-9"><a name="minor-9" href="#minor-9" class="md2man-permalink" title="permalink"></a>Minor:</h3>
308
+ <h3 id="minor-10"><a name="minor-10" href="#minor-10" class="md2man-permalink" title="permalink"></a>Minor:</h3>
288
309
  <ul>
289
310
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: allow user to specify arguments after command key</p></li>
290
311
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: add &#39;k&#39; to stop all currently running tests with SIGKILL</p></li>
@@ -296,30 +317,30 @@ made possible by the awesome power of IO.select() and UNIX domain sockets.</p></
296
317
  events to notify you about changes in a test file&#39;s pass/fail status.</p></li>
297
318
  <li><p>typing Control-D now breaks tork programs out of <code>Tork::Server#loop()</code></p></li>
298
319
  </ul>
299
- <h3 id="patch-15"><a name="patch-15" href="#patch-15" class="md2man-permalink" title="permalink"></a>Patch:</h3>
320
+ <h3 id="patch-16"><a name="patch-16" href="#patch-16" class="md2man-permalink" title="permalink"></a>Patch:</h3>
300
321
  <ul>
301
322
  <li><a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>: stop workers with SIGKILL when quitting</li>
302
323
  </ul>
303
- <h3 id="other-11"><a name="other-11" href="#other-11" class="md2man-permalink" title="permalink"></a>Other:</h3>
324
+ <h3 id="other-12"><a name="other-12" href="#other-12" class="md2man-permalink" title="permalink"></a>Other:</h3>
304
325
  <ul>
305
326
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: document parameters for <code>t</code> and <code>s</code> commands</p></li>
306
327
  <li><p>README: add tip about rlwrap for better interactive</p></li>
307
328
  <li><p>README: simplify watch command using pgrep &amp; xargs</p></li>
308
329
  <li><p>README: use standard bundle exec; no <code>--binstubs</code></p></li>
309
330
  </ul>
310
- <h2 id="version-18-2-4-2012-10-10"><a name="version-18-2-4-2012-10-10" href="#version-18-2-4-2012-10-10" class="md2man-permalink" title="permalink"></a>Version 18.2.4 (2012-10-10)</h2><h3 id="other-12"><a name="other-12" href="#other-12" class="md2man-permalink" title="permalink"></a>Other:</h3>
331
+ <h2 id="version-18-2-4-2012-10-10"><a name="version-18-2-4-2012-10-10" href="#version-18-2-4-2012-10-10" class="md2man-permalink" title="permalink"></a>Version 18.2.4 (2012-10-10)</h2><h3 id="other-13"><a name="other-13" href="#other-13" class="md2man-permalink" title="permalink"></a>Other:</h3>
311
332
  <ul>
312
333
  <li>GH-39: upgrade listen gem version to fix a bug in OSX.
313
334
  Thanks to Adam Grant for reporting this issue.</li>
314
335
  </ul>
315
- <h2 id="version-18-2-3-2012-09-26"><a name="version-18-2-3-2012-09-26" href="#version-18-2-3-2012-09-26" class="md2man-permalink" title="permalink"></a>Version 18.2.3 (2012-09-26)</h2><h3 id="patch-16"><a name="patch-16" href="#patch-16" class="md2man-permalink" title="permalink"></a>Patch:</h3>
336
+ <h2 id="version-18-2-3-2012-09-26"><a name="version-18-2-3-2012-09-26" href="#version-18-2-3-2012-09-26" class="md2man-permalink" title="permalink"></a>Version 18.2.3 (2012-09-26)</h2><h3 id="patch-17"><a name="patch-17" href="#patch-17" class="md2man-permalink" title="permalink"></a>Patch:</h3>
316
337
  <ul>
317
338
  <li><p>Restored support for building Tork from its gemspec under Ruby 1.8.
318
339
  Thanks to Ohno Shin&#39;ichi for reporting this issue and contributing a
319
340
  preliminary fix.</p></li>
320
341
  <li><p>Add resilience against failed command dispatch in <code>Tork::Server#loop()</code>.</p></li>
321
342
  </ul>
322
- <h3 id="other-13"><a name="other-13" href="#other-13" class="md2man-permalink" title="permalink"></a>Other:</h3>
343
+ <h3 id="other-14"><a name="other-14" href="#other-14" class="md2man-permalink" title="permalink"></a>Other:</h3>
323
344
  <ul>
324
345
  <li><p>It&#39;s not worth rescuing Interrupt only to exit silently.
325
346
  Let the user see stack traces when they press Control-C.</p></li>
@@ -327,7 +348,7 @@ Let the user see stack traces when they press Control-C.</p></li>
327
348
  replaced by reaping threads quite a few releases ago.</p></li>
328
349
  <li><p>Use $0 instead of hard-coding the program name.</p></li>
329
350
  </ul>
330
- <h2 id="version-18-2-2-2012-07-11"><a name="version-18-2-2-2012-07-11" href="#version-18-2-2-2012-07-11" class="md2man-permalink" title="permalink"></a>Version 18.2.2 (2012-07-11)</h2><h3 id="patch-17"><a name="patch-17" href="#patch-17" class="md2man-permalink" title="permalink"></a>Patch:</h3>
351
+ <h2 id="version-18-2-2-2012-07-11"><a name="version-18-2-2-2012-07-11" href="#version-18-2-2-2012-07-11" class="md2man-permalink" title="permalink"></a>Version 18.2.2 (2012-07-11)</h2><h3 id="patch-18"><a name="patch-18" href="#patch-18" class="md2man-permalink" title="permalink"></a>Patch:</h3>
331
352
  <ul>
332
353
  <li><p>GH-35: resume dispatched but not yet started tests.</p><p>After reabsorbing overhead, we need to resume previously dispatched test
333
354
  files that have not yet finished running. This includes the waiting set
@@ -335,17 +356,17 @@ files that have not yet finished running. This includes the waiting set
335
356
  and already started running). Otherwise, we encounter a bug where test
336
357
  files in the waiting set can NEVER be run again!</p></li>
337
358
  </ul>
338
- <h2 id="version-18-2-1-2012-07-05"><a name="version-18-2-1-2012-07-05" href="#version-18-2-1-2012-07-05" class="md2man-permalink" title="permalink"></a>Version 18.2.1 (2012-07-05)</h2><h3 id="patch-18"><a name="patch-18" href="#patch-18" class="md2man-permalink" title="permalink"></a>Patch:</h3>
359
+ <h2 id="version-18-2-1-2012-07-05"><a name="version-18-2-1-2012-07-05" href="#version-18-2-1-2012-07-05" class="md2man-permalink" title="permalink"></a>Version 18.2.1 (2012-07-05)</h2><h3 id="patch-19"><a name="patch-19" href="#patch-19" class="md2man-permalink" title="permalink"></a>Patch:</h3>
339
360
  <ul>
340
361
  <li>GH-37: switch from Guard::Listener to Listen gem.
341
362
  Thanks to Jesse Cooke for reporting this issue.</li>
342
363
  </ul>
343
- <h3 id="other-14"><a name="other-14" href="#other-14" class="md2man-permalink" title="permalink"></a>Other:</h3>
364
+ <h3 id="other-15"><a name="other-15" href="#other-15" class="md2man-permalink" title="permalink"></a>Other:</h3>
344
365
  <ul>
345
366
  <li><p>gemspec: need to provide .0 suffix for ~&gt; operator.</p></li>
346
367
  <li><p>gemspec: LICENSE file contains UTF-8 author names.</p></li>
347
368
  </ul>
348
- <h2 id="version-18-2-0-2012-03-27"><a name="version-18-2-0-2012-03-27" href="#version-18-2-0-2012-03-27" class="md2man-permalink" title="permalink"></a>Version 18.2.0 (2012-03-27)</h2><h3 id="minor-10"><a name="minor-10" href="#minor-10" class="md2man-permalink" title="permalink"></a>Minor:</h3>
369
+ <h2 id="version-18-2-0-2012-03-27"><a name="version-18-2-0-2012-03-27" href="#version-18-2-0-2012-03-27" class="md2man-permalink" title="permalink"></a>Version 18.2.0 (2012-03-27)</h2><h3 id="minor-11"><a name="minor-11" href="#minor-11" class="md2man-permalink" title="permalink"></a>Minor:</h3>
349
370
  <ul>
350
371
  <li>Emit warnings when commands cannot be performed. This improves the user
351
372
  experience by giving them immediate feedback. For example, if you issue
@@ -353,7 +374,7 @@ the &quot;rerun<em>failed</em>tests&quot; command and no tests have failed yet,
353
374
  now see a warning message that explains the situation. Thanks to
354
375
  NagaChaitanya Vellanki (@chaitanyav) for suggesting this change.</li>
355
376
  </ul>
356
- <h3 id="patch-19"><a name="patch-19" href="#patch-19" class="md2man-permalink" title="permalink"></a>Patch:</h3>
377
+ <h3 id="patch-20"><a name="patch-20" href="#patch-20" class="md2man-permalink" title="permalink"></a>Patch:</h3>
357
378
  <ul>
358
379
  <li><p>GH-32: Restore support for Selenium and Capybara by replacing the global
359
380
  SIGCHLD handler in <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> with individual threads, one per forked
@@ -361,7 +382,7 @@ worker process. Thanks to Bjørn Trondsen (@Sharagoz) for reporting this
361
382
  issue and verifying the fix.</p></li>
362
383
  <li><p>README: Recommend a newer fork of the &quot;memory<em>test</em>fix&quot; Rails plugin.</p></li>
363
384
  </ul>
364
- <h2 id="version-18-1-0-2012-02-26"><a name="version-18-1-0-2012-02-26" href="#version-18-1-0-2012-02-26" class="md2man-permalink" title="permalink"></a>Version 18.1.0 (2012-02-26)</h2><h3 id="minor-11"><a name="minor-11" href="#minor-11" class="md2man-permalink" title="permalink"></a>Minor:</h3>
385
+ <h2 id="version-18-1-0-2012-02-26"><a name="version-18-1-0-2012-02-26" href="#version-18-1-0-2012-02-26" class="md2man-permalink" title="permalink"></a>Version 18.1.0 (2012-02-26)</h2><h3 id="minor-12"><a name="minor-12" href="#minor-12" class="md2man-permalink" title="permalink"></a>Minor:</h3>
365
386
  <ul>
366
387
  <li><p>Add <code>tork/config/coverage</code> configuration helper for Ruby 1.9, which prints
367
388
  a coverage report at the end of your log file in YAML format. The report
@@ -378,7 +399,7 @@ that exist in or beneath the current working directory:</p>
378
399
  <li>If you&#39;re on Ruby 1.9, please use 1.9.3 or newer because 1.9.2 is
379
400
  known to segfault under RSpec and Rails. See GH-30 and GH-32.</li>
380
401
  </ul>
381
- <h3 id="patch-20"><a name="patch-20" href="#patch-20" class="md2man-permalink" title="permalink"></a>Patch:</h3>
402
+ <h3 id="patch-21"><a name="patch-21" href="#patch-21" class="md2man-permalink" title="permalink"></a>Patch:</h3>
382
403
  <ul>
383
404
  <li><p>GH-27: Cucumber features now run correctly under RSpec. Thanks to Scott
384
405
  Radcliff for reporting this issue and to David Burrows for solving it!</p></li>
@@ -401,12 +422,12 @@ Update your <code>Tork::Config::test_event_hooks</code> accordingly.</p></li>
401
422
  <li><p>tork/server: switch from modules to class inheritance.</p></li>
402
423
  <li><p>tork/config: switch to Struct to prevent misspellings.</p></li>
403
424
  </ul>
404
- <h3 id="minor-12"><a name="minor-12" href="#minor-12" class="md2man-permalink" title="permalink"></a>Minor:</h3>
425
+ <h3 id="minor-13"><a name="minor-13" href="#minor-13" class="md2man-permalink" title="permalink"></a>Minor:</h3>
405
426
  <ul>
406
427
  <li><p>tork-driver now recursively expands dependent test files while globbing.</p></li>
407
428
  <li><p>Extracted bookkeeping stuff from tork-driver into tork-engine component.</p></li>
408
429
  </ul>
409
- <h3 id="other-15"><a name="other-15" href="#other-15" class="md2man-permalink" title="permalink"></a>Other:</h3>
430
+ <h3 id="other-16"><a name="other-16" href="#other-16" class="md2man-permalink" title="permalink"></a>Other:</h3>
410
431
  <ul>
411
432
  <li><p>tork/config: do not reabsorb when .tork.rb
412
433
  changes. Since the configuration is loaded in
@@ -418,7 +439,7 @@ restart Tork if you change your configuration.</p></li>
418
439
  <li><p>GH-29: bump guard version requirement to v1 series.</p></li>
419
440
  <li><p>Improve documentation; revise markdown; clean up.</p></li>
420
441
  </ul>
421
- <h2 id="version-17-1-0-2012-01-30"><a name="version-17-1-0-2012-01-30" href="#version-17-1-0-2012-01-30" class="md2man-permalink" title="permalink"></a>Version 17.1.0 (2012-01-30)</h2><h3 id="minor-13"><a name="minor-13" href="#minor-13" class="md2man-permalink" title="permalink"></a>Minor:</h3>
442
+ <h2 id="version-17-1-0-2012-01-30"><a name="version-17-1-0-2012-01-30" href="#version-17-1-0-2012-01-30" class="md2man-permalink" title="permalink"></a>Version 17.1.0 (2012-01-30)</h2><h3 id="minor-14"><a name="minor-14" href="#minor-14" class="md2man-permalink" title="permalink"></a>Minor:</h3>
422
443
  <ul>
423
444
  <li><p>Added <code>Tork::Config.test_event_hooks</code> configuration option.</p></li>
424
445
  <li><p>Added <code>tork/config/notify</code> configuration helper for receiving
@@ -432,14 +453,14 @@ multiple globs in an array, in addition to just a single glob or <code>nil</code
432
453
  <li><p>Added support for the MiniTest convention of naming test files as
433
454
  <code>test/**/test_*.rb</code> and <code>spec/**/spec_*.rb</code>. (Jose Pablo Barrantes)</p></li>
434
455
  </ul>
435
- <h2 id="version-17-0-1-2012-01-29"><a name="version-17-0-1-2012-01-29" href="#version-17-0-1-2012-01-29" class="md2man-permalink" title="permalink"></a>Version 17.0.1 (2012-01-29)</h2><h3 id="patch-21"><a name="patch-21" href="#patch-21" class="md2man-permalink" title="permalink"></a>Patch:</h3>
456
+ <h2 id="version-17-0-1-2012-01-29"><a name="version-17-0-1-2012-01-29" href="#version-17-0-1-2012-01-29" class="md2man-permalink" title="permalink"></a>Version 17.0.1 (2012-01-29)</h2><h3 id="patch-22"><a name="patch-22" href="#patch-22" class="md2man-permalink" title="permalink"></a>Patch:</h3>
436
457
  <ul>
437
458
  <li><p><a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> <em>sometimes</em> reported changed test files twice.</p></li>
438
459
  <li><p>tork/driver: only whole test file runs should qualify as pass.</p></li>
439
460
  <li><p>tork/config/cucumber: only set ARGV for <code>*.feature</code> test files.</p></li>
440
461
  <li><p>Tork::Client::Transceiver needs to stop both TX &amp; RX loops.</p></li>
441
462
  </ul>
442
- <h3 id="other-16"><a name="other-16" href="#other-16" class="md2man-permalink" title="permalink"></a>Other:</h3>
463
+ <h3 id="other-17"><a name="other-17" href="#other-17" class="md2man-permalink" title="permalink"></a>Other:</h3>
443
464
  <ul>
444
465
  <li><p>tork/driver: store test file lists in Set, not Array.</p></li>
445
466
  <li><p>HISTORY: use single-word change-set descriptions.</p></li>
@@ -456,7 +477,7 @@ better reflect the order of items in <a class="md2man-reference" href="../man1/t
456
477
  <li>The new order is: test<em>file, line</em>numbers, log<em>file, worker</em>number.</li>
457
478
  </ul></li>
458
479
  </ul>
459
- <h3 id="minor-14"><a name="minor-14" href="#minor-14" class="md2man-permalink" title="permalink"></a>Minor:</h3>
480
+ <h3 id="minor-15"><a name="minor-15" href="#minor-15" class="md2man-permalink" title="permalink"></a>Minor:</h3>
460
481
  <ul>
461
482
  <li><p>GH-24: add <code>tork/config/dotlog</code> configuration helper to &quot;hide&quot; log files.
462
483
  (Nicolas Fouché)</p></li>
@@ -465,7 +486,7 @@ better reflect the order of items in <a class="md2man-reference" href="../man1/t
465
486
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> now strips all whitespace from your input, in case you pressed
466
487
  spacebar or tab a few times, by accident, before entering your command.</p></li>
467
488
  </ul>
468
- <h3 id="other-17"><a name="other-17" href="#other-17" class="md2man-permalink" title="permalink"></a>Other:</h3>
489
+ <h3 id="other-18"><a name="other-18" href="#other-18" class="md2man-permalink" title="permalink"></a>Other:</h3>
469
490
  <ul>
470
491
  <li><p>tork/client: Replace write lock with queue to support SIGCHLD handler.</p><p>The SIGCHLD handler in <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> can be triggered at any time, even
471
492
  in the middle of writing to the standard output stream! Locking access
@@ -485,19 +506,19 @@ items to the output stream.</p></li>
485
506
  <li><p>Pass line numbers instead of test names to before/after fork hooks.</p></li>
486
507
  <li><p>Pass $~ (MatchData) to <code>Tork::Config::test_file_globbers</code> functions.</p></li>
487
508
  </ul>
488
- <h3 id="minor-15"><a name="minor-15" href="#minor-15" class="md2man-permalink" title="permalink"></a>Minor:</h3>
509
+ <h3 id="minor-16"><a name="minor-16" href="#minor-16" class="md2man-permalink" title="permalink"></a>Minor:</h3>
489
510
  <ul>
490
511
  <li>tork/config/cucumber: only run changed scenarios in changed features.</li>
491
512
  </ul>
492
- <h3 id="other-18"><a name="other-18" href="#other-18" class="md2man-permalink" title="permalink"></a>Other:</h3>
513
+ <h3 id="other-19"><a name="other-19" href="#other-19" class="md2man-permalink" title="permalink"></a>Other:</h3>
493
514
  <ul>
494
515
  <li>README: update instructions on running Tork directly from Git clone.</li>
495
516
  </ul>
496
- <h2 id="version-15-1-0-2012-01-25"><a name="version-15-1-0-2012-01-25" href="#version-15-1-0-2012-01-25" class="md2man-permalink" title="permalink"></a>Version 15.1.0 (2012-01-25)</h2><h3 id="minor-16"><a name="minor-16" href="#minor-16" class="md2man-permalink" title="permalink"></a>Minor:</h3>
517
+ <h2 id="version-15-1-0-2012-01-25"><a name="version-15-1-0-2012-01-25" href="#version-15-1-0-2012-01-25" class="md2man-permalink" title="permalink"></a>Version 15.1.0 (2012-01-25)</h2><h3 id="minor-17"><a name="minor-17" href="#minor-17" class="md2man-permalink" title="permalink"></a>Minor:</h3>
497
518
  <ul>
498
519
  <li>GH-19: add <code>tork cucumber</code> for running cucumber features.</li>
499
520
  </ul>
500
- <h3 id="patch-22"><a name="patch-22" href="#patch-22" class="md2man-permalink" title="permalink"></a>Patch:</h3>
521
+ <h3 id="patch-23"><a name="patch-23" href="#patch-23" class="md2man-permalink" title="permalink"></a>Patch:</h3>
501
522
  <ul>
502
523
  <li><p>tork/config/rails: support Rails 2 and don&#39;t assume AR is used. (Benjamin
503
524
  Quorning)</p></li>
@@ -508,12 +529,12 @@ $TORK_CONFIGS should override settings from the <code>.tork.rb</code> file.</p><
508
529
  See <a href="http://stackoverflow.com/questions/1497756">http://stackoverflow.com/questions/1497756</a>.
509
530
  Also added forgotten Luke Wendling to the list.</p></li>
510
531
  </ul>
511
- <h2 id="version-15-0-1-2012-01-24"><a name="version-15-0-1-2012-01-24" href="#version-15-0-1-2012-01-24" class="md2man-permalink" title="permalink"></a>Version 15.0.1 (2012-01-24)</h2><h3 id="patch-23"><a name="patch-23" href="#patch-23" class="md2man-permalink" title="permalink"></a>Patch:</h3>
532
+ <h2 id="version-15-0-1-2012-01-24"><a name="version-15-0-1-2012-01-24" href="#version-15-0-1-2012-01-24" class="md2man-permalink" title="permalink"></a>Version 15.0.1 (2012-01-24)</h2><h3 id="patch-24"><a name="patch-24" href="#patch-24" class="md2man-permalink" title="permalink"></a>Patch:</h3>
512
533
  <ul>
513
534
  <li><p>GH-21: Ruby 1.9 class_eval() is smarter than 1.8.</p></li>
514
535
  <li><p>GH-20: forgot <code>require &#39;thread&#39;</code> for Mutex class. (Jesse Cooke)</p></li>
515
536
  </ul>
516
- <h3 id="other-19"><a name="other-19" href="#other-19" class="md2man-permalink" title="permalink"></a>Other:</h3>
537
+ <h3 id="other-20"><a name="other-20" href="#other-20" class="md2man-permalink" title="permalink"></a>Other:</h3>
517
538
  <ul>
518
539
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: fix shadowed variable names. (Jose Pablo Barrantes)</p></li>
519
540
  <li><p>GH-22: fix command to build &amp; install gem from source.</p></li>
@@ -531,7 +552,7 @@ Brian D. Burns for thinking of this most succinct &amp; awesome project name!
531
552
  He also created the snazzy ASCII-art logo featured in the project README.</p></li>
532
553
  <li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: rename <code>r</code> command, which runs all tests, to <code>t</code>, for <em>t</em>ork.</p></li>
533
554
  </ul>
534
- <h2 id="version-14-3-0-2012-01-20"><a name="version-14-3-0-2012-01-20" href="#version-14-3-0-2012-01-20" class="md2man-permalink" title="permalink"></a>Version 14.3.0 (2012-01-20)</h2><h3 id="minor-17"><a name="minor-17" href="#minor-17" class="md2man-permalink" title="permalink"></a>Minor:</h3>
555
+ <h2 id="version-14-3-0-2012-01-20"><a name="version-14-3-0-2012-01-20" href="#version-14-3-0-2012-01-20" class="md2man-permalink" title="permalink"></a>Version 14.3.0 (2012-01-20)</h2><h3 id="minor-18"><a name="minor-18" href="#minor-18" class="md2man-permalink" title="permalink"></a>Minor:</h3>
535
556
  <ul>
536
557
  <li><p><a class="md2man-reference">testr(1)</a>: notify user while dispatching their commands. This is especially
537
558
  useful when the &quot;rerun<em>passed</em>test_files&quot; command has been dispatched but
@@ -544,7 +565,7 @@ PGError: connection not open
544
565
  <p>Thanks to Spencer Steffen for <a href="https://github.com/sunaku/tork/issues/14#issuecomment-3539470">contributing this solution</a>.</p></li>
545
566
  <li><p><a class="md2man-reference">testr-driver(1)</a>: document the &quot;over&quot; status message in manual page.</p></li>
546
567
  </ul>
547
- <h3 id="other-20"><a name="other-20" href="#other-20" class="md2man-permalink" title="permalink"></a>Other:</h3>
568
+ <h3 id="other-21"><a name="other-21" href="#other-21" class="md2man-permalink" title="permalink"></a>Other:</h3>
548
569
  <ul>
549
570
  <li><p><a class="md2man-reference">testr-driver(1)</a>: keep same herald; only replace master.</p></li>
550
571
  <li><p><a class="md2man-reference">testr(1)</a>: shorten code for loop break on quit command.</p></li>
@@ -553,35 +574,35 @@ PGError: connection not open
553
574
  <li><p>Explain <code>$0</code> override at the start of bin/ scripts.</p></li>
554
575
  <li><p>LICENSE: credit our most recent contributors.</p></li>
555
576
  </ul>
556
- <h2 id="version-14-2-0-2012-01-16"><a name="version-14-2-0-2012-01-16" href="#version-14-2-0-2012-01-16" class="md2man-permalink" title="permalink"></a>Version 14.2.0 (2012-01-16)</h2><h3 id="minor-18"><a name="minor-18" href="#minor-18" class="md2man-permalink" title="permalink"></a>Minor:</h3>
577
+ <h2 id="version-14-2-0-2012-01-16"><a name="version-14-2-0-2012-01-16" href="#version-14-2-0-2012-01-16" class="md2man-permalink" title="permalink"></a>Version 14.2.0 (2012-01-16)</h2><h3 id="minor-19"><a name="minor-19" href="#minor-19" class="md2man-permalink" title="permalink"></a>Minor:</h3>
557
578
  <ul>
558
579
  <li><p>Add ability to run <code>testr rails</code> without needing a <code>.testr.rb</code> file.</p></li>
559
580
  <li><p><a class="md2man-reference">testr(1)</a> no longer shows command menu at startup. Press ENTER to see it.</p></li>
560
581
  <li><p><a class="md2man-reference">testr(1)</a> now notifies you before absorbing overhead at startup.</p></li>
561
582
  </ul>
562
- <h3 id="patch-24"><a name="patch-24" href="#patch-24" class="md2man-permalink" title="permalink"></a>Patch:</h3>
583
+ <h3 id="patch-25"><a name="patch-25" href="#patch-25" class="md2man-permalink" title="permalink"></a>Patch:</h3>
563
584
  <ul>
564
585
  <li><a class="md2man-reference">testr(1)</a> now accepts death silently when Control-C is pressed.</li>
565
586
  </ul>
566
- <h2 id="version-14-1-3-2012-01-13"><a name="version-14-1-3-2012-01-13" href="#version-14-1-3-2012-01-13" class="md2man-permalink" title="permalink"></a>Version 14.1.3 (2012-01-13)</h2><h3 id="patch-25"><a name="patch-25" href="#patch-25" class="md2man-permalink" title="permalink"></a>Patch:</h3>
587
+ <h2 id="version-14-1-3-2012-01-13"><a name="version-14-1-3-2012-01-13" href="#version-14-1-3-2012-01-13" class="md2man-permalink" title="permalink"></a>Version 14.1.3 (2012-01-13)</h2><h3 id="patch-26"><a name="patch-26" href="#patch-26" class="md2man-permalink" title="permalink"></a>Patch:</h3>
567
588
  <ul>
568
589
  <li>Add support Guard v0.9.0 and newer in <code>testr-herald</code>. (Jose Pablo
569
590
  Barrantes)</li>
570
591
  </ul>
571
- <h3 id="other-21"><a name="other-21" href="#other-21" class="md2man-permalink" title="permalink"></a>Other:</h3>
592
+ <h3 id="other-22"><a name="other-22" href="#other-22" class="md2man-permalink" title="permalink"></a>Other:</h3>
572
593
  <ul>
573
594
  <li>Tighten version constraints for gem dependencies to avoid future
574
595
  breakages.</li>
575
596
  </ul>
576
- <h2 id="version-14-1-2-2012-01-09"><a name="version-14-1-2-2012-01-09" href="#version-14-1-2-2012-01-09" class="md2man-permalink" title="permalink"></a>Version 14.1.2 (2012-01-09)</h2><h3 id="minor-19"><a name="minor-19" href="#minor-19" class="md2man-permalink" title="permalink"></a>Minor:</h3>
597
+ <h2 id="version-14-1-2-2012-01-09"><a name="version-14-1-2-2012-01-09" href="#version-14-1-2-2012-01-09" class="md2man-permalink" title="permalink"></a>Version 14.1.2 (2012-01-09)</h2><h3 id="minor-20"><a name="minor-20" href="#minor-20" class="md2man-permalink" title="permalink"></a>Minor:</h3>
577
598
  <ul>
578
599
  <li>Don&#39;t consider partial test file pass as full pass.</li>
579
600
  </ul>
580
- <h3 id="other-22"><a name="other-22" href="#other-22" class="md2man-permalink" title="permalink"></a>Other:</h3>
601
+ <h3 id="other-23"><a name="other-23" href="#other-23" class="md2man-permalink" title="permalink"></a>Other:</h3>
581
602
  <ul>
582
603
  <li>Upgrade to binman 3 for better bundler support.</li>
583
604
  </ul>
584
- <h2 id="version-14-1-1-2011-12-07"><a name="version-14-1-1-2011-12-07" href="#version-14-1-1-2011-12-07" class="md2man-permalink" title="permalink"></a>Version 14.1.1 (2011-12-07)</h2><h3 id="patch-26"><a name="patch-26" href="#patch-26" class="md2man-permalink" title="permalink"></a>Patch:</h3>
605
+ <h2 id="version-14-1-1-2011-12-07"><a name="version-14-1-1-2011-12-07" href="#version-14-1-1-2011-12-07" class="md2man-permalink" title="permalink"></a>Version 14.1.1 (2011-12-07)</h2><h3 id="patch-27"><a name="patch-27" href="#patch-27" class="md2man-permalink" title="permalink"></a>Patch:</h3>
585
606
  <ul>
586
607
  <li><p>Do not fail when given test file no longer exists.</p></li>
587
608
  <li><p>Make xUnit <code>--name</code> option regexp case-insensitive.</p></li>
@@ -590,7 +611,7 @@ see <a href="https://github.com/rspec/rspec-core/issues/445">https://github.com/
590
611
  and <a href="https://github.com/dchelimsky/rspec/issues/44">https://github.com/dchelimsky/rspec/issues/44</a></p></li>
591
612
  <li><p>Ruby 187 does not have Symbol#upcase() method.</p></li>
592
613
  </ul>
593
- <h3 id="other-23"><a name="other-23" href="#other-23" class="md2man-permalink" title="permalink"></a>Other:</h3>
614
+ <h3 id="other-24"><a name="other-24" href="#other-24" class="md2man-permalink" title="permalink"></a>Other:</h3>
594
615
  <ul>
595
616
  <li><p>README: add another SQLite3 error to known issues.
596
617
  Thanks to Luke Wendling for contributing this patch.</p></li>
@@ -600,7 +621,7 @@ Thanks to Luke Wendling for contributing this patch.</p></li>
600
621
  <li><p>Better variable naming for self-documentation.</p></li>
601
622
  <li><p>Upgrade to binman 2.0.0 for UNIX man pages.</p></li>
602
623
  </ul>
603
- <h2 id="version-14-1-0-2011-11-03"><a name="version-14-1-0-2011-11-03" href="#version-14-1-0-2011-11-03" class="md2man-permalink" title="permalink"></a>Version 14.1.0 (2011-11-03)</h2><h3 id="minor-20"><a name="minor-20" href="#minor-20" class="md2man-permalink" title="permalink"></a>Minor:</h3>
624
+ <h2 id="version-14-1-0-2011-11-03"><a name="version-14-1-0-2011-11-03" href="#version-14-1-0-2011-11-03" class="md2man-permalink" title="permalink"></a>Version 14.1.0 (2011-11-03)</h2><h3 id="minor-21"><a name="minor-21" href="#minor-21" class="md2man-permalink" title="permalink"></a>Minor:</h3>
604
625
  <ul>
605
626
  <li><p>Make servers responsive to quit request (SIGTERM) from upstream.</p><p>This change lets the user quit <a class="md2man-reference">testr-master(1)</a> while it is loading
606
627
  test execution overhead (which can be a lengthy, blocking operation).</p><p>By sending a signal to the server, we don&#39;t have to wait for it to
@@ -610,40 +631,40 @@ have a <code>--help</code> option which displays their UNIX manual page. Try it
610
631
  documented in their manual pages, so you should have everything you
611
632
  need to create <em>your own custom user interface to TestR</em> if you wish! :-)</p></li>
612
633
  </ul>
613
- <h3 id="patch-27"><a name="patch-27" href="#patch-27" class="md2man-permalink" title="permalink"></a>Patch:</h3>
634
+ <h3 id="patch-28"><a name="patch-28" href="#patch-28" class="md2man-permalink" title="permalink"></a>Patch:</h3>
614
635
  <ul>
615
636
  <li>SIGCHLD does not awaken main thread in Ruby 1.9.3p0.</li>
616
637
  </ul>
617
- <h3 id="other-24"><a name="other-24" href="#other-24" class="md2man-permalink" title="permalink"></a>Other:</h3>
638
+ <h3 id="other-25"><a name="other-25" href="#other-25" class="md2man-permalink" title="permalink"></a>Other:</h3>
618
639
  <ul>
619
640
  <li><p>Simplify <a class="md2man-reference">watch(1)</a> <a class="md2man-reference">ps(1)</a> process title monitoring.</p></li>
620
641
  <li><p>Testr: tell user to press ENTER after command key.</p></li>
621
642
  <li><p>README: add tip on loading factory_girl factories.</p></li>
622
643
  </ul>
623
- <h2 id="version-14-0-3-2011-10-11"><a name="version-14-0-3-2011-10-11" href="#version-14-0-3-2011-10-11" class="md2man-permalink" title="permalink"></a>Version 14.0.3 (2011-10-11)</h2><h3 id="patch-28"><a name="patch-28" href="#patch-28" class="md2man-permalink" title="permalink"></a>Patch:</h3>
644
+ <h2 id="version-14-0-3-2011-10-11"><a name="version-14-0-3-2011-10-11" href="#version-14-0-3-2011-10-11" class="md2man-permalink" title="permalink"></a>Version 14.0.3 (2011-10-11)</h2><h3 id="patch-29"><a name="patch-29" href="#patch-29" class="md2man-permalink" title="permalink"></a>Patch:</h3>
624
645
  <ul>
625
646
  <li>Forgot to migrate the <code>testr/config/rails</code> configuration helper to use the
626
647
  new TestR configuration parameter names.</li>
627
648
  </ul>
628
- <h2 id="version-14-0-2-2011-10-11"><a name="version-14-0-2-2011-10-11" href="#version-14-0-2-2011-10-11" class="md2man-permalink" title="permalink"></a>Version 14.0.2 (2011-10-11)</h2><h3 id="patch-29"><a name="patch-29" href="#patch-29" class="md2man-permalink" title="permalink"></a>Patch:</h3>
649
+ <h2 id="version-14-0-2-2011-10-11"><a name="version-14-0-2-2011-10-11" href="#version-14-0-2-2011-10-11" class="md2man-permalink" title="permalink"></a>Version 14.0.2 (2011-10-11)</h2><h3 id="patch-30"><a name="patch-30" href="#patch-30" class="md2man-permalink" title="permalink"></a>Patch:</h3>
629
650
  <ul>
630
651
  <li><p>Fix updating passed/failed test files bookkeeping. Once a test file
631
652
  failed, it was (incorrectly) always considered failed, even if it passed
632
653
  later on.</p></li>
633
654
  <li><p>Do not requeue test files that are waiting to run.</p></li>
634
655
  </ul>
635
- <h3 id="other-25"><a name="other-25" href="#other-25" class="md2man-permalink" title="permalink"></a>Other:</h3>
656
+ <h3 id="other-26"><a name="other-26" href="#other-26" class="md2man-permalink" title="permalink"></a>Other:</h3>
636
657
  <ul>
637
658
  <li>Rename <code>*.md</code> files to <code>*.markdown</code> to avoid ambiguity.</li>
638
659
  </ul>
639
- <h2 id="version-14-0-1-2011-10-10"><a name="version-14-0-1-2011-10-10" href="#version-14-0-1-2011-10-10" class="md2man-permalink" title="permalink"></a>Version 14.0.1 (2011-10-10)</h2><h3 id="patch-30"><a name="patch-30" href="#patch-30" class="md2man-permalink" title="permalink"></a>Patch:</h3>
660
+ <h2 id="version-14-0-1-2011-10-10"><a name="version-14-0-1-2011-10-10" href="#version-14-0-1-2011-10-10" class="md2man-permalink" title="permalink"></a>Version 14.0.1 (2011-10-10)</h2><h3 id="patch-31"><a name="patch-31" href="#patch-31" class="md2man-permalink" title="permalink"></a>Patch:</h3>
640
661
  <ul>
641
662
  <li><p>Use blue/red for pass/fail instead of green/red to accommodate the color
642
663
  blind.</p></li>
643
664
  <li><p>Incorrect test name regexp was passed down to Test::Unit. This broke
644
665
  focused testing, where only changed tests in a changed test file are run.</p></li>
645
666
  </ul>
646
- <h3 id="other-26"><a name="other-26" href="#other-26" class="md2man-permalink" title="permalink"></a>Other:</h3>
667
+ <h3 id="other-27"><a name="other-27" href="#other-27" class="md2man-permalink" title="permalink"></a>Other:</h3>
647
668
  <ul>
648
669
  <li>Make <code>testr-master</code> wait for killed worker processes before exiting.</li>
649
670
  </ul>
@@ -664,7 +685,7 @@ focused testing, where only changed tests in a changed test file are run.</p></l
664
685
  parameters.</p></li>
665
686
  <li><p>Removed the <code>test/loop/notify</code> and <code>test-loop/coco</code> libraries.</p></li>
666
687
  </ul>
667
- <h3 id="minor-21"><a name="minor-21" href="#minor-21" class="md2man-permalink" title="permalink"></a>Minor:</h3>
688
+ <h3 id="minor-22"><a name="minor-22" href="#minor-22" class="md2man-permalink" title="permalink"></a>Minor:</h3>
668
689
  <ul>
669
690
  <li><p>The file system is no longer polled to detect modified files. Instead, it
670
691
  is monitored for file modification events in a portable and efficient
@@ -675,14 +696,14 @@ manner using the <a href="https://github.com/guard/guard">Guard</a> library.</p>
675
696
  <code>before_fork_hooks</code> configuration parameters.</p></li>
676
697
  <li><p>Added ability to re-run passed and failed tests in the <code>testr</code> script.</p></li>
677
698
  </ul>
678
- <h3 id="other-27"><a name="other-27" href="#other-27" class="md2man-permalink" title="permalink"></a>Other:</h3>
699
+ <h3 id="other-28"><a name="other-28" href="#other-28" class="md2man-permalink" title="permalink"></a>Other:</h3>
679
700
  <ul>
680
701
  <li><p>The monolithic <code>test-loop</code> script has been replaced by several smaller
681
702
  ones that communicate with each other using single-line JSON messages via
682
703
  their standard input &amp; output streams. See &quot;Architecture&quot; in the README.</p></li>
683
704
  <li><p>Now using Bundler to manage development dependencies and gem packaging.</p></li>
684
705
  </ul>
685
- <h2 id="version-13-0-1-2011-09-21"><a name="version-13-0-1-2011-09-21" href="#version-13-0-1-2011-09-21" class="md2man-permalink" title="permalink"></a>Version 13.0.1 (2011-09-21)</h2><h3 id="other-28"><a name="other-28" href="#other-28" class="md2man-permalink" title="permalink"></a>Other:</h3>
706
+ <h2 id="version-13-0-1-2011-09-21"><a name="version-13-0-1-2011-09-21" href="#version-13-0-1-2011-09-21" class="md2man-permalink" title="permalink"></a>Version 13.0.1 (2011-09-21)</h2><h3 id="other-29"><a name="other-29" href="#other-29" class="md2man-permalink" title="permalink"></a>Other:</h3>
686
707
  <ul>
687
708
  <li><p>Forgot to include <code>test/loop/coco</code> preset in gem package.</p></li>
688
709
  <li><p>Forgot to mention <code>test/loop/parallel_tests</code> preset in README.</p></li>
@@ -692,7 +713,7 @@ their standard input &amp; output streams. See &quot;Architecture&quot; in the
692
713
  <li>Pass worker sequence number as the last argument to lambda functions in
693
714
  <code>Test::Loop.before_each_test</code> and <code>Test::Loop.after_each_test</code> arrays.</li>
694
715
  </ul>
695
- <h3 id="minor-22"><a name="minor-22" href="#minor-22" class="md2man-permalink" title="permalink"></a>Minor:</h3>
716
+ <h3 id="minor-23"><a name="minor-23" href="#minor-23" class="md2man-permalink" title="permalink"></a>Minor:</h3>
696
717
  <ul>
697
718
  <li><p>In the <code>test/loop/rails</code> configuration preset:</p>
698
719
  <ul>
@@ -706,22 +727,22 @@ gem. (Corné Verbruggen)</p></li>
706
727
  processes like connecting to separate databases better. (Corné
707
728
  Verbruggen)</p></li>
708
729
  </ul>
709
- <h3 id="other-29"><a name="other-29" href="#other-29" class="md2man-permalink" title="permalink"></a>Other:</h3>
730
+ <h3 id="other-30"><a name="other-30" href="#other-30" class="md2man-permalink" title="permalink"></a>Other:</h3>
710
731
  <ul>
711
732
  <li><p>README: move configuration presets above options.</p></li>
712
733
  <li><p>Eliminate 1 SLOC: .rb extension used in file glob.</p></li>
713
734
  <li><p>Turn off executable bit on loop.rb file mode.</p></li>
714
735
  <li><p>Pass child ENV directly to exec() for atomicity.</p></li>
715
736
  </ul>
716
- <h2 id="version-12-3-1-2011-07-19"><a name="version-12-3-1-2011-07-19" href="#version-12-3-1-2011-07-19" class="md2man-permalink" title="permalink"></a>Version 12.3.1 (2011-07-19)</h2><h3 id="patch-31"><a name="patch-31" href="#patch-31" class="md2man-permalink" title="permalink"></a>Patch:</h3>
737
+ <h2 id="version-12-3-1-2011-07-19"><a name="version-12-3-1-2011-07-19" href="#version-12-3-1-2011-07-19" class="md2man-permalink" title="permalink"></a>Version 12.3.1 (2011-07-19)</h2><h3 id="patch-32"><a name="patch-32" href="#patch-32" class="md2man-permalink" title="permalink"></a>Patch:</h3>
717
738
  <ul>
718
739
  <li>Binary data could not be stored in environment variable values.</li>
719
740
  </ul>
720
- <h3 id="other-30"><a name="other-30" href="#other-30" class="md2man-permalink" title="permalink"></a>Other:</h3>
741
+ <h3 id="other-31"><a name="other-31" href="#other-31" class="md2man-permalink" title="permalink"></a>Other:</h3>
721
742
  <ul>
722
743
  <li>Forgot to add Jacob Helwig to the gemspec&#39;s authors list.</li>
723
744
  </ul>
724
- <h2 id="version-12-3-0-2011-07-19"><a name="version-12-3-0-2011-07-19" href="#version-12-3-0-2011-07-19" class="md2man-permalink" title="permalink"></a>Version 12.3.0 (2011-07-19)</h2><h3 id="minor-23"><a name="minor-23" href="#minor-23" class="md2man-permalink" title="permalink"></a>Minor:</h3>
745
+ <h2 id="version-12-3-0-2011-07-19"><a name="version-12-3-0-2011-07-19" href="#version-12-3-0-2011-07-19" class="md2man-permalink" title="permalink"></a>Version 12.3.0 (2011-07-19)</h2><h3 id="minor-24"><a name="minor-24" href="#minor-24" class="md2man-permalink" title="permalink"></a>Minor:</h3>
725
746
  <ul>
726
747
  <li><p>Add <code>Test::Loop::max_concurrent_tests</code> configuration parameter to limit
727
748
  the number of test files run concurrently (default 4). Otherwise, with
@@ -729,7 +750,7 @@ large test suites, we could end up swamping the machine running the tests
729
750
  by forking hundreds of test files at once. (Jacob Helwig)</p></li>
730
751
  <li><p>Rails: add matcher for <code>test/factories/*_factory.rb</code>.</p></li>
731
752
  </ul>
732
- <h3 id="other-31"><a name="other-31" href="#other-31" class="md2man-permalink" title="permalink"></a>Other:</h3>
753
+ <h3 id="other-32"><a name="other-32" href="#other-32" class="md2man-permalink" title="permalink"></a>Other:</h3>
733
754
  <ul>
734
755
  <li><p>ENV returns a Hash with duplicate/frozen keys/values. (Brian D. Burns)</p></li>
735
756
  <li><p>Use Marshal to propagate resume_files to reabsorb.</p></li>
@@ -743,12 +764,12 @@ requested by Juan G. Hurtado..</p></li>
743
764
  <li><p>Add <code>test/loop/coco</code> preset for integrating the <a href="http://lkdjiin.github.com/coco/">Coco code coverage
744
765
  library</a>.</p></li>
745
766
  </ul>
746
- <h2 id="version-12-1-0-2011-04-29"><a name="version-12-1-0-2011-04-29" href="#version-12-1-0-2011-04-29" class="md2man-permalink" title="permalink"></a>Version 12.1.0 (2011-04-29)</h2><h3 id="minor-24"><a name="minor-24" href="#minor-24" class="md2man-permalink" title="permalink"></a>Minor:</h3>
767
+ <h2 id="version-12-1-0-2011-04-29"><a name="version-12-1-0-2011-04-29" href="#version-12-1-0-2011-04-29" class="md2man-permalink" title="permalink"></a>Version 12.1.0 (2011-04-29)</h2><h3 id="minor-25"><a name="minor-25" href="#minor-25" class="md2man-permalink" title="permalink"></a>Minor:</h3>
747
768
  <ul>
748
769
  <li>Add <code>Test::Loop.delay_per_iteration</code> parameter to control the number of
749
770
  seconds (or fractions thereof) to sleep in between test-loop iterations.</li>
750
771
  </ul>
751
- <h2 id="version-12-0-4-2011-04-29"><a name="version-12-0-4-2011-04-29" href="#version-12-0-4-2011-04-29" class="md2man-permalink" title="permalink"></a>Version 12.0.4 (2011-04-29)</h2><h3 id="patch-32"><a name="patch-32" href="#patch-32" class="md2man-permalink" title="permalink"></a>Patch:</h3>
772
+ <h2 id="version-12-0-4-2011-04-29"><a name="version-12-0-4-2011-04-29" href="#version-12-0-4-2011-04-29" class="md2man-permalink" title="permalink"></a>Version 12.0.4 (2011-04-29)</h2><h3 id="patch-33"><a name="patch-33" href="#patch-33" class="md2man-permalink" title="permalink"></a>Patch:</h3>
752
773
  <ul>
753
774
  <li><p>Reabsorb overhead when user&#39;s configuration file changes. (Brian D. Burns
754
775
  and Daniel Pittman)</p></li>
@@ -756,7 +777,7 @@ and Daniel Pittman)</p></li>
756
777
  not necessary! <a href="https://github.com/sunaku/test-loop/issues/5">This issue</a>
757
778
  was solved by upgrading to the newer 2.6.38.4-1 Linux kernel on my system.</p></li>
758
779
  </ul>
759
- <h2 id="version-12-0-3-2011-04-25"><a name="version-12-0-3-2011-04-25" href="#version-12-0-3-2011-04-25" class="md2man-permalink" title="permalink"></a>Version 12.0.3 (2011-04-25)</h2><h3 id="patch-33"><a name="patch-33" href="#patch-33" class="md2man-permalink" title="permalink"></a>Patch:</h3>
780
+ <h2 id="version-12-0-3-2011-04-25"><a name="version-12-0-3-2011-04-25" href="#version-12-0-3-2011-04-25" class="md2man-permalink" title="permalink"></a>Version 12.0.3 (2011-04-25)</h2><h3 id="patch-34"><a name="patch-34" href="#patch-34" class="md2man-permalink" title="permalink"></a>Patch:</h3>
760
781
  <ul>
761
782
  <li><p>Fix SIGCHLD handling and test completion reporting (Daniel Pittman).</p><p>We need to reap all ready children in SIGCHLD, not just the first, and
762
783
  should not be reporting completion in the signal handler.</p><p>On a fast machine, or where there is a slow hook executed at the
@@ -789,13 +810,13 @@ that would also stop you from doing clever things.&quot; ~Doug Gwyn</p></blockqu
789
810
  Many thanks to Brian D. Burns and Daniel Pittman for helping solve <a href="https://github.com/sunaku/test-loop/issues/5">this
790
811
  issue</a>.</p></li>
791
812
  </ul>
792
- <h2 id="version-12-0-2-2011-04-21"><a name="version-12-0-2-2011-04-21" href="#version-12-0-2-2011-04-21" class="md2man-permalink" title="permalink"></a>Version 12.0.2 (2011-04-21)</h2><h3 id="patch-34"><a name="patch-34" href="#patch-34" class="md2man-permalink" title="permalink"></a>Patch:</h3>
813
+ <h2 id="version-12-0-2-2011-04-21"><a name="version-12-0-2-2011-04-21" href="#version-12-0-2-2011-04-21" class="md2man-permalink" title="permalink"></a>Version 12.0.2 (2011-04-21)</h2><h3 id="patch-35"><a name="patch-35" href="#patch-35" class="md2man-permalink" title="permalink"></a>Patch:</h3>
793
814
  <ul>
794
815
  <li><p>Consider DB schema dump file as overhead in Rails.</p></li>
795
816
  <li><p>Do not consider test factories as overhead in Rails.</p></li>
796
817
  <li><p>Run test files when test factory files change in Rails.</p></li>
797
818
  </ul>
798
- <h3 id="other-32"><a name="other-32" href="#other-32" class="md2man-permalink" title="permalink"></a>Other:</h3>
819
+ <h3 id="other-33"><a name="other-33" href="#other-33" class="md2man-permalink" title="permalink"></a>Other:</h3>
799
820
  <ul>
800
821
  <li><p>Detach worker from master&#39;s terminal device sooner.</p></li>
801
822
  <li><p>All required signals must be present in irb check.</p></li>
@@ -803,12 +824,12 @@ issue</a>.</p></li>
803
824
  <li><p>Retain <a class="md2man-reference">ps(1)</a> column header in watch command output.</p></li>
804
825
  <li><p>Begin parameter descriptions with the noun itself.</p></li>
805
826
  </ul>
806
- <h2 id="version-12-0-1-2011-04-20"><a name="version-12-0-1-2011-04-20" href="#version-12-0-1-2011-04-20" class="md2man-permalink" title="permalink"></a>Version 12.0.1 (2011-04-20)</h2><h3 id="patch-35"><a name="patch-35" href="#patch-35" class="md2man-permalink" title="permalink"></a>Patch:</h3>
827
+ <h2 id="version-12-0-1-2011-04-20"><a name="version-12-0-1-2011-04-20" href="#version-12-0-1-2011-04-20" class="md2man-permalink" title="permalink"></a>Version 12.0.1 (2011-04-20)</h2><h3 id="patch-36"><a name="patch-36" href="#patch-36" class="md2man-permalink" title="permalink"></a>Patch:</h3>
807
828
  <ul>
808
829
  <li><p>Restore support for Ruby 1.8.7.</p></li>
809
830
  <li><p>Allow user&#39;s test execution overhead to fork.</p></li>
810
831
  </ul>
811
- <h3 id="other-33"><a name="other-33" href="#other-33" class="md2man-permalink" title="permalink"></a>Other:</h3>
832
+ <h3 id="other-34"><a name="other-34" href="#other-34" class="md2man-permalink" title="permalink"></a>Other:</h3>
812
833
  <ul>
813
834
  <li><p>Freeze master&#39;s ENV properly; keep resume key.</p></li>
814
835
  <li><p>Remove completed test from running list sooner.</p></li>
@@ -824,7 +845,7 @@ your models are already loaded &amp; cached by the Rails environment.</p></li>
824
845
  <li><p>Your tests can no longer read from the user&#39;s terminal (master&#39;s STDIN);
825
846
  instead they will read from an empty stream (the reading end of IO.popen).</p></li>
826
847
  </ul>
827
- <h3 id="patch-36"><a name="patch-36" href="#patch-36" class="md2man-permalink" title="permalink"></a>Patch:</h3>
848
+ <h3 id="patch-37"><a name="patch-37" href="#patch-37" class="md2man-permalink" title="permalink"></a>Patch:</h3>
828
849
  <ul>
829
850
  <li><p>Replace threads with SIGCHLD for reporting test results.</p><p>This fixes deadlock errors that sometimes occurred when the user&#39;s chosen
830
851
  test library tried to print something to STDOUT/STDERR (even though those
@@ -832,7 +853,7 @@ streams were redirected to a log file in the worker process).</p><p>Thanks to Br
832
853
  threads to monitor workers was the culprit behind the deadlocks errors.</p></li>
833
854
  <li><p>Ctrl-C did not raise Interrupt in my Rails 3 test suite.</p></li>
834
855
  </ul>
835
- <h3 id="other-34"><a name="other-34" href="#other-34" class="md2man-permalink" title="permalink"></a>Other:</h3>
856
+ <h3 id="other-35"><a name="other-35" href="#other-35" class="md2man-permalink" title="permalink"></a>Other:</h3>
836
857
  <ul>
837
858
  <li><p>Ensure a clean ENV when reabsorbing overhead. Environment variables set
838
859
  by your test execution overhead are not propagated to subsequent
@@ -848,7 +869,7 @@ reabsorptions. (Brian D. Burns)</p></li>
848
869
  <li><p>Add tip about annihilating test-loop processes.</p></li>
849
870
  <li><p>Fix markdown formatting.</p></li>
850
871
  </ul>
851
- <h2 id="version-11-0-1-2011-04-14"><a name="version-11-0-1-2011-04-14" href="#version-11-0-1-2011-04-14" class="md2man-permalink" title="permalink"></a>Version 11.0.1 (2011-04-14)</h2><h3 id="patch-37"><a name="patch-37" href="#patch-37" class="md2man-permalink" title="permalink"></a>Patch:</h3>
872
+ <h2 id="version-11-0-1-2011-04-14"><a name="version-11-0-1-2011-04-14" href="#version-11-0-1-2011-04-14" class="md2man-permalink" title="permalink"></a>Version 11.0.1 (2011-04-14)</h2><h3 id="patch-38"><a name="patch-38" href="#patch-38" class="md2man-permalink" title="permalink"></a>Patch:</h3>
852
873
  <ul>
853
874
  <li>Only attempt to define Railtie if the current Rails version supports it.</li>
854
875
  </ul>
@@ -857,13 +878,13 @@ reabsorptions. (Brian D. Burns)</p></li>
857
878
  <li>The <code>test/loop/rails</code> preset has been internalized and is now applied
858
879
  automatically if your test execution overhead includes Ruby on Rails.</li>
859
880
  </ul>
860
- <h3 id="minor-25"><a name="minor-25" href="#minor-25" class="md2man-permalink" title="permalink"></a>Minor:</h3>
881
+ <h3 id="minor-26"><a name="minor-26" href="#minor-26" class="md2man-permalink" title="permalink"></a>Minor:</h3>
861
882
  <ul>
862
883
  <li>If you are using Rails 3, test-loop will automatically set
863
884
  <code>config.cache_classes = false</code> for your test environment. (Brian D.
864
885
  Burns)</li>
865
886
  </ul>
866
- <h3 id="patch-38"><a name="patch-38" href="#patch-38" class="md2man-permalink" title="permalink"></a>Patch:</h3>
887
+ <h3 id="patch-39"><a name="patch-39" href="#patch-39" class="md2man-permalink" title="permalink"></a>Patch:</h3>
867
888
  <ul>
868
889
  <li><p>Avoid deadlock errors when printing output from Test::Unit and MiniTest.
869
890
  (Brian D. Burns)</p>
@@ -873,7 +894,7 @@ Burns)</li>
873
894
  Do not treat it as a failure by printing the log file.</p></li>
874
895
  <li><p>Ignore SIGINT in workers; only master must honor it.</p></li>
875
896
  </ul>
876
- <h2 id="version-10-0-1-2011-04-08"><a name="version-10-0-1-2011-04-08" href="#version-10-0-1-2011-04-08" class="md2man-permalink" title="permalink"></a>Version 10.0.1 (2011-04-08)</h2><h3 id="patch-39"><a name="patch-39" href="#patch-39" class="md2man-permalink" title="permalink"></a>Patch:</h3>
897
+ <h2 id="version-10-0-1-2011-04-08"><a name="version-10-0-1-2011-04-08" href="#version-10-0-1-2011-04-08" class="md2man-permalink" title="permalink"></a>Version 10.0.1 (2011-04-08)</h2><h3 id="patch-40"><a name="patch-40" href="#patch-40" class="md2man-permalink" title="permalink"></a>Patch:</h3>
877
898
  <ul>
878
899
  <li><p>Workers must ignore SIGTSTP, otherwise master waits forever before
879
900
  exiting.</p></li>
@@ -887,7 +908,7 @@ unregister the trap handlers inherited from the master process.</p></li>
887
908
  <li>The <code>Test::Loop.before_each_test</code> and <code>Test::Loop.after_each_test</code>
888
909
  parameters are arrays now.</li>
889
910
  </ul>
890
- <h2 id="version-9-4-0-2011-04-06"><a name="version-9-4-0-2011-04-06" href="#version-9-4-0-2011-04-06" class="md2man-permalink" title="permalink"></a>Version 9.4.0 (2011-04-06)</h2><h3 id="minor-26"><a name="minor-26" href="#minor-26" class="md2man-permalink" title="permalink"></a>Minor:</h3>
911
+ <h2 id="version-9-4-0-2011-04-06"><a name="version-9-4-0-2011-04-06" href="#version-9-4-0-2011-04-06" class="md2man-permalink" title="permalink"></a>Version 9.4.0 (2011-04-06)</h2><h3 id="minor-27"><a name="minor-27" href="#minor-27" class="md2man-permalink" title="permalink"></a>Minor:</h3>
891
912
  <ul>
892
913
  <li><p>Allow lambda functions in <code>Test::Loop.test_file_matchers</code> to return <code>nil</code>
893
914
  so that you can exclude certain tests from being executed. (Brian D.
@@ -898,20 +919,20 @@ the following:</p>
898
919
  <pre><code>watch &#39;ps xf | grep test-loop | sed 1,3d&#39;
899
920
  </code></pre></li>
900
921
  </ul>
901
- <h3 id="patch-40"><a name="patch-40" href="#patch-40" class="md2man-permalink" title="permalink"></a>Patch:</h3>
922
+ <h3 id="patch-41"><a name="patch-41" href="#patch-41" class="md2man-permalink" title="permalink"></a>Patch:</h3>
902
923
  <ul>
903
924
  <li>Skip <code>at_exit()</code> when exiting master process. This prevents an empty test
904
925
  from being run when exiting the loop after having processed a test/spec
905
926
  helper that loads the Test::Unit library. (Brian D. Burns)</li>
906
927
  </ul>
907
- <h3 id="other-35"><a name="other-35" href="#other-35" class="md2man-permalink" title="permalink"></a>Other:</h3>
928
+ <h3 id="other-36"><a name="other-36" href="#other-36" class="md2man-permalink" title="permalink"></a>Other:</h3>
908
929
  <ul>
909
930
  <li><p>Use throw/catch to break loop instead of raising SystemExit exception.</p></li>
910
931
  <li><p>Trap SIGTERM with IGNORE/DEFAULT instead of using a closure in master.</p></li>
911
932
  <li><p>Unregister master&#39;s custom signal handlers inside worker processes.</p></li>
912
933
  <li><p>Separate configuration parameters into subsections in README.</p></li>
913
934
  </ul>
914
- <h2 id="version-9-3-0-2011-04-01"><a name="version-9-3-0-2011-04-01" href="#version-9-3-0-2011-04-01" class="md2man-permalink" title="permalink"></a>Version 9.3.0 (2011-04-01)</h2><h3 id="minor-27"><a name="minor-27" href="#minor-27" class="md2man-permalink" title="permalink"></a>Minor:</h3>
935
+ <h2 id="version-9-3-0-2011-04-01"><a name="version-9-3-0-2011-04-01" href="#version-9-3-0-2011-04-01" class="md2man-permalink" title="permalink"></a>Version 9.3.0 (2011-04-01)</h2><h3 id="minor-28"><a name="minor-28" href="#minor-28" class="md2man-permalink" title="permalink"></a>Minor:</h3>
915
936
  <ul>
916
937
  <li><p>Resume currently running tests--as well as those currently needing to be
917
938
  run--after reabsorbing test execution overhead. (Brian D. Burns)</p></li>
@@ -924,7 +945,7 @@ system resources.</p></li>
924
945
  <li><p>Use ANSI clear line command to erase control-key combinations outputted by
925
946
  shells such as BASH and ZSH in test-loop&#39;s output. (Brian D. Burns)</p></li>
926
947
  </ul>
927
- <h3 id="patch-41"><a name="patch-41" href="#patch-41" class="md2man-permalink" title="permalink"></a>Patch:</h3>
948
+ <h3 id="patch-42"><a name="patch-42" href="#patch-42" class="md2man-permalink" title="permalink"></a>Patch:</h3>
928
949
  <ul>
929
950
  <li><p><code>@last_ran_at</code> was being set during every iteration of the loop. This is
930
951
  problematic when Ruby&#39;s <code>Time.now</code> is more precise than your filesystem&#39;s
@@ -936,7 +957,7 @@ running waitall(), instead of sending SIGKILL to the entire process group.
936
957
  As a result, test-loop no longer exits with a non-zero status upon SIGINT.</p></li>
937
958
  <li><p>Remove &#39;ansi&#39; gem dependency. (Brian D. Burns)</p></li>
938
959
  </ul>
939
- <h3 id="other-36"><a name="other-36" href="#other-36" class="md2man-permalink" title="permalink"></a>Other:</h3>
960
+ <h3 id="other-37"><a name="other-37" href="#other-37" class="md2man-permalink" title="permalink"></a>Other:</h3>
940
961
  <ul>
941
962
  <li><p>Add tip on deleting logs for passing tests. (Brian D. Burns)</p></li>
942
963
  <li><p>Add tip on monitoring test processes with <a class="md2man-reference">watch(1)</a> in README.</p></li>