tork 19.7.0 → 19.8.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 +4 -4
- data/README.md +16 -0
- data/VERSION.md +39 -0
- data/bin/tork +6 -1
- data/bin/tork-driver +1 -1
- data/bin/tork-engine +1 -1
- data/bin/tork-herald +1 -1
- data/bin/tork-master +1 -1
- data/bin/tork-notify +1 -1
- data/bin/tork-remote +1 -1
- data/bin/tork-runner +2 -2
- data/lib/tork/config/bundler/master.rb +2 -0
- data/lib/tork/config/default/config.rb +1 -0
- data/lib/tork/server.rb +1 -1
- data/lib/tork/version.rb +1 -1
- data/man/index.html +1 -1
- data/man/man0/README.html +41 -31
- data/man/man0/README.md +16 -0
- data/man/man0/VERSION.html +233 -201
- data/man/man0/VERSION.md +39 -0
- data/man/man1/tork-driver.1 +4 -4
- data/man/man1/tork-driver.1.html +8 -8
- data/man/man1/tork-engine.1 +3 -3
- data/man/man1/tork-engine.1.html +6 -6
- data/man/man1/tork-herald.1 +3 -3
- data/man/man1/tork-herald.1.html +3 -3
- data/man/man1/tork-master.1 +4 -4
- data/man/man1/tork-master.1.html +8 -8
- data/man/man1/tork-notify.1 +3 -3
- data/man/man1/tork-notify.1.html +4 -4
- data/man/man1/tork-remote.1 +2 -2
- data/man/man1/tork-remote.1.html +3 -3
- data/man/man1/tork-runner.1 +4 -4
- data/man/man1/tork-runner.1.html +3 -3
- data/man/man1/tork.1 +10 -2
- data/man/man1/tork.1.html +9 -8
- data/man/style.css +21 -2
- data/tork.gemspec +1 -1
- metadata +35 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9e3bb898a427cc4522c4fb0c32f465f950d3bf4
|
4
|
+
data.tar.gz: e3a9f195320cae504b437fd8ce09ce850ac6dcc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a66757f50f0d2e2f7218243761dd5fdcd94fb4276e9db137e78d68d7546647555fe7ea88b1dc218b05b23b123fed680ceaf3a7cbe9fbc266720bceab95215dfb
|
7
|
+
data.tar.gz: c0f468e29b6cf7e51d6a98f08f27ab1153cc02ecc85ed4a7977059b15c2ae92801a1984f290c3dd5484a47db6044ebc7606e0c48bb20c095bd317abd5a9e8f34
|
data/README.md
CHANGED
@@ -5,6 +5,11 @@
|
|
5
5
|
\__/\____/_/ /_/|_\
|
6
6
|
>>>------>
|
7
7
|
|
8
|
+
* Package: <https://rubygems.org/gems/tork>
|
9
|
+
* Manuals: <https://sunaku.github.io/tork>
|
10
|
+
* Sources: <https://github.com/sunaku/tork>
|
11
|
+
* Support: <https://github.com/sunaku/tork/issues>
|
12
|
+
|
8
13
|
# _Test with fork_
|
9
14
|
|
10
15
|
Tork runs your tests as they change, in parallel:
|
@@ -133,6 +138,17 @@ You can monitor your test processes from another terminal:
|
|
133
138
|
|
134
139
|
watch 'pgrep -f ^tork | xargs -r ps uf'
|
135
140
|
|
141
|
+
### With Bundler
|
142
|
+
|
143
|
+
The `bundler` configuration helper loads a Bundler bundle into tork-master(1).
|
144
|
+
The `default` configuration helper does this for you automatically if there is
|
145
|
+
a `Gemfile` or `Gemfile.lock` file present in your current working directory.
|
146
|
+
|
147
|
+
As a result, you don't need to add Tork to your `Gemfile` _just_ to run tests!
|
148
|
+
Instead, installing Tork as a Ruby gem _outside_ of your bundle is sufficient.
|
149
|
+
|
150
|
+
Try it: go into any bundled application and call `tork` to run its test suite.
|
151
|
+
|
136
152
|
### With MiniTest
|
137
153
|
|
138
154
|
MiniTest 1.3.2 and newer contain a bug where `minitest/autorun` won't run any
|
data/VERSION.md
CHANGED
@@ -1,3 +1,42 @@
|
|
1
|
+
## Version 19.8.0 (2014-06-23)
|
2
|
+
|
3
|
+
### Minor:
|
4
|
+
|
5
|
+
* Add `bundler` configuration helper to load a bundle into tork-master(1).
|
6
|
+
|
7
|
+
This lets you run Tork inside any application that uses Bundler without
|
8
|
+
having to first add Tork to its `Gemfile` and then `bundle install` it.
|
9
|
+
In fact, installing the Tork gem _outside_ of the bundle is sufficient.
|
10
|
+
|
11
|
+
Try it: go into a bundled application and call `tork` to run its tests!
|
12
|
+
|
13
|
+
### Patch:
|
14
|
+
|
15
|
+
* Server: fix crash when Fixnum is sent as a message.
|
16
|
+
|
17
|
+
lib/tork/server.rb:45:in `block (2 levels) in loop':
|
18
|
+
undefined method `empty?' for 6:Fixnum (NoMethodError)
|
19
|
+
|
20
|
+
lib/tork/cliapp.rb:59:in `recv':
|
21
|
+
undefined method `lstrip' for 6:Fixnum (NoMethodError)
|
22
|
+
|
23
|
+
Because JSON.load() and JSON.parse() are different:
|
24
|
+
|
25
|
+
$ irb -r json
|
26
|
+
>> JSON.load '6'
|
27
|
+
6
|
28
|
+
>> JSON.parse '6'
|
29
|
+
JSON::ParserError: A JSON text must at least contain two octets!
|
30
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `initialize'
|
31
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `new'
|
32
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `parse'
|
33
|
+
from (irb):2
|
34
|
+
from /usr/bin/irb:11:in `<main>'
|
35
|
+
|
36
|
+
### Other:
|
37
|
+
|
38
|
+
* Upgrade to md2man 3.0 for improved HTML manuals.
|
39
|
+
|
1
40
|
## Version 19.7.0 (2014-03-04)
|
2
41
|
|
3
42
|
This release automatically re-runs failed tests after reabsorbing overhead.
|
data/bin/tork
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
=begin =======================================================================
|
3
3
|
|
4
|
-
# TORK 1 2014-
|
4
|
+
# TORK 1 2014-06-23 19.8.0
|
5
5
|
|
6
6
|
## NAME
|
7
7
|
|
@@ -61,6 +61,7 @@ This program can be controlled remotely by multiple tork-remote(1) instances.
|
|
61
61
|
> current working directory appears to utilize what they configure.
|
62
62
|
> See below for complete descriptions of these configuration helpers.
|
63
63
|
>
|
64
|
+
> * bundler
|
64
65
|
> * rails
|
65
66
|
> * devise
|
66
67
|
> * test
|
@@ -98,6 +99,9 @@ This program can be controlled remotely by multiple tork-remote(1) instances.
|
|
98
99
|
> `cucumber`
|
99
100
|
> Supports the [Cucumber] testing framework.
|
100
101
|
>
|
102
|
+
> `bundler`
|
103
|
+
> Supports the [Bundler] dependency framework.
|
104
|
+
>
|
101
105
|
> `rails`
|
102
106
|
> Supports the [Ruby on Rails] web framework.
|
103
107
|
>
|
@@ -121,6 +125,7 @@ tork-runner(1), tork-driver(1), tork-master(1)
|
|
121
125
|
[Cucumber]: https://cukes.info
|
122
126
|
[RSpec]: http://rspec.info
|
123
127
|
[Devise]: https://github.com/plataformatec/devise
|
128
|
+
[Bundler]: http://bundler.io
|
124
129
|
|
125
130
|
=end =========================================================================
|
126
131
|
|
data/bin/tork-driver
CHANGED
data/bin/tork-engine
CHANGED
data/bin/tork-herald
CHANGED
data/bin/tork-master
CHANGED
data/bin/tork-notify
CHANGED
data/bin/tork-remote
CHANGED
data/bin/tork-runner
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
=begin =======================================================================
|
3
3
|
|
4
|
-
# TORK-RUNNER 1 2014-
|
4
|
+
# TORK-RUNNER 1 2014-06-23 19.8.0
|
5
5
|
|
6
6
|
## NAME
|
7
7
|
|
@@ -77,7 +77,7 @@ IO.popen('tork-driver', 'w+') do |driver|
|
|
77
77
|
# track test runs & exit when finished
|
78
78
|
tested, passed, failed = 0, 0, []
|
79
79
|
while line = driver.gets
|
80
|
-
response = JSON.
|
80
|
+
response = JSON.parse(line)
|
81
81
|
case response.first.to_sym
|
82
82
|
when :test then tested += 1
|
83
83
|
when :pass then passed += 1
|
@@ -1,3 +1,4 @@
|
|
1
|
+
ENV['TORK_CONFIGS'] += ':bundler' if Dir['Gemfile{,.lock}'].any?
|
1
2
|
ENV['TORK_CONFIGS'] += ':rails' if Dir['script/{rails,console}'].any?
|
2
3
|
ENV['TORK_CONFIGS'] += ':devise' if File.exist? 'config/initializers/devise.rb'
|
3
4
|
ENV['TORK_CONFIGS'] += ':test' if File.directory? 'test'
|
data/lib/tork/server.rb
CHANGED
@@ -66,7 +66,7 @@ protected
|
|
66
66
|
|
67
67
|
# Returns nil if the message received was not meant for processing.
|
68
68
|
def hear sender, message
|
69
|
-
JSON.
|
69
|
+
JSON.parse message
|
70
70
|
rescue JSON::ParserError => error
|
71
71
|
if @clients.include? sender
|
72
72
|
# accept non-JSON "command lines" from clients
|
data/lib/tork/version.rb
CHANGED
data/man/index.html
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
<meta name="generator" content="md2man
|
5
|
+
<meta name="generator" content="md2man 3.0.0 https://github.com/sunaku/md2man" />
|
6
6
|
<title>man/index</title>
|
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]-->
|
data/man/man0/README.html
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
<meta name="generator" content="md2man
|
5
|
+
<meta name="generator" content="md2man 3.0.0 https://github.com/sunaku/md2man" />
|
6
6
|
<title>README</title>
|
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]-->
|
@@ -12,15 +12,22 @@
|
|
12
12
|
_ __/ __ \ __/ /_/
|
13
13
|
/ /_/ /_/ / / / ,\
|
14
14
|
\__/\____/_/ /_/|_\
|
15
|
-
>>>
|
15
|
+
>>>------>
|
16
16
|
</code></pre>
|
17
|
-
|
17
|
+
|
18
|
+
<ul>
|
19
|
+
<li>Package: <a href="https://rubygems.org/gems/tork">https://rubygems.org/gems/tork</a></li>
|
20
|
+
<li>Manuals: <a href="https://sunaku.github.io/tork">https://sunaku.github.io/tork</a></li>
|
21
|
+
<li>Sources: <a href="https://github.com/sunaku/tork">https://github.com/sunaku/tork</a></li>
|
22
|
+
<li>Support: <a href="https://github.com/sunaku/tork/issues">https://github.com/sunaku/tork/issues</a></li>
|
23
|
+
</ul>
|
24
|
+
<h1 id="test-with-fork"><a name="test-with-fork" href="#test-with-fork" class="md2man-permalink" title="permalink"></a><span class="md2man-title"><em>Test</span> <span class="md2man-section">with</span> <span class="md2man-date">fork</em></span></h1><p>Tork runs your tests as they change, in parallel:</p>
|
18
25
|
<ol>
|
19
26
|
<li><p>Absorbs test execution overhead into a master process.</p></li>
|
20
27
|
<li><p>Forks to inherit overhead and run test files in parallel.</p></li>
|
21
28
|
<li><p>Avoids running unchanged tests inside changed test files.</p></li>
|
22
29
|
</ol>
|
23
|
-
<h2 id="
|
30
|
+
<h2 id="features"><a name="features" href="#features" class="md2man-permalink" title="permalink"></a>Features</h2>
|
24
31
|
<ul>
|
25
32
|
<li><p>No configuration necessary: simply run <code>tork</code> to start testing <em>now!</em></p></li>
|
26
33
|
<li><p>Runs test files in parallel using fork for multi-core/CPU utilization.</p></li>
|
@@ -32,20 +39,20 @@ your application's <code>test/test_helper.rb</code> or <code>spec/spec_helpe
|
|
32
39
|
<li><p>Logs the output from your tests into separate files: one log per test.</p></li>
|
33
40
|
<li><p>Configurable through Ruby scripts in your current working directory.</p></li>
|
34
41
|
<li><p>You can override the modular <code>tork*</code> programs with your own in $PATH.</p></li>
|
35
|
-
<li><p>You can remotely control other <code>tork*</code> programs using <a class="md2man-
|
42
|
+
<li><p>You can remotely control other <code>tork*</code> programs using <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a>.</p></li>
|
36
43
|
</ul>
|
37
|
-
<h3 id="
|
44
|
+
<h3 id="architecture"><a name="architecture" href="#architecture" class="md2man-permalink" title="permalink"></a>Architecture</h3><p>Following UNIX philosophy, Tork is composed of simple text-based programs that
|
38
45
|
<em>do one thing well</em>. As a result, you can even create your own user interface
|
39
|
-
for Tork by wrapping the <a class="md2man-
|
46
|
+
for Tork by wrapping the <a class="md2man-reference" href="../man1/tork-driver.1.html">tork-driver(1)</a> program appropriately!</p>
|
40
47
|
<ul>
|
41
|
-
<li><a class="md2man-
|
42
|
-
<li><a class="md2man-
|
43
|
-
<li><a class="md2man-
|
44
|
-
<li><a class="md2man-
|
45
|
-
<li><a class="md2man-
|
46
|
-
<li><a class="md2man-
|
47
|
-
<li><a class="md2man-
|
48
|
-
<li><a class="md2man-
|
48
|
+
<li><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> is an interactive command-line user interface for <a class="md2man-reference" href="../man1/tork-driver.1.html">tork-driver(1)</a></li>
|
49
|
+
<li><a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> runs your test suite once, non-interactively, and then exits</li>
|
50
|
+
<li><a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> monitors current directory tree and reports changed files</li>
|
51
|
+
<li><a class="md2man-reference" href="../man1/tork-driver.1.html">tork-driver(1)</a> drives the engine according to the herald's observations</li>
|
52
|
+
<li><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> tells master to run tests and keeps track of test results</li>
|
53
|
+
<li><a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> absorbs test execution overhead and forks to run your tests</li>
|
54
|
+
<li><a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a> remotely controls any Tork program running in the same <code>pwd</code></li>
|
55
|
+
<li><a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a> notifies you when previously passing tests fail or vice versa</li>
|
49
56
|
</ul>
|
50
57
|
<p>When the herald observes that files in or beneath the current directory have
|
51
58
|
been written to, it tells the driver, which then commands the master to fork a
|
@@ -56,14 +63,14 @@ performed <em>automatically</em>. However, to run a test file <em>manually</em>
|
|
56
63
|
inside your newly saved test file have changed (using diff and regexps)
|
57
64
|
and then attempts to run just those. To make it run <em>all</em> tests in your
|
58
65
|
saved file, simply save the file <em>again</em> without changing it.</p></li>
|
59
|
-
<li><p>Type <code>t</code> followed by a space and the file you want to run into <a class="md2man-
|
66
|
+
<li><p>Type <code>t</code> followed by a space and the file you want to run into <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>:</p>
|
60
67
|
<pre><code># run all of test/some_test.rb
|
61
68
|
t test/some_test.rb
|
62
69
|
|
63
70
|
# run lines 4, 33, and 21 of test/some_test.rb
|
64
71
|
t test/some_test.rb 4 33 21
|
65
72
|
</code></pre></li>
|
66
|
-
<li><p>Send a <code>["run_test_file"]</code> message to <a class="md2man-
|
73
|
+
<li><p>Send a <code>["run_test_file"]</code> message to <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> using <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a>:</p>
|
67
74
|
<pre><code># run all of test/some_test.rb
|
68
75
|
echo run_test_file test/some_test.rb | tork-remote tork-engine
|
69
76
|
|
@@ -71,41 +78,41 @@ echo run_test_file test/some_test.rb | tork-remote tork-engine
|
|
71
78
|
echo run_test_file test/some_test.rb 4 33 21 | tork-remote tork-engine
|
72
79
|
</code></pre></li>
|
73
80
|
</ol>
|
74
|
-
<p>Alternatively, you can use <a class="md2man-
|
75
|
-
and then exit with a nonzero status if tests failed, similar to <code>rake test</code>.</p><h2 id="
|
81
|
+
<p>Alternatively, 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
|
82
|
+
and then exit with a nonzero status if tests failed, similar to <code>rake test</code>.</p><h2 id="installation"><a name="installation" href="#installation" class="md2man-permalink" title="permalink"></a>Installation</h2>
|
76
83
|
<pre><code>gem install tork
|
77
84
|
</code></pre>
|
78
|
-
<h3 id="
|
85
|
+
<h3 id="prerequisites"><a name="prerequisites" href="#prerequisites" class="md2man-permalink" title="permalink"></a>Prerequisites</h3>
|
79
86
|
<ul>
|
80
87
|
<li><p>Ruby 1.8.7 or 1.9.3 or newer.</p></li>
|
81
88
|
<li><p>Operating system that supports POSIX signals and the <code>fork()</code> system call.
|
82
|
-
To check if your system qualifies, launch <a class="md2man-
|
89
|
+
To check if your system qualifies, launch <a class="md2man-reference">irb(1)</a> and enter the following:</p>
|
83
90
|
<pre><code>Process.respond_to? :fork # must be true
|
84
91
|
Signal.list.key? 'TERM' # must be true
|
85
92
|
Signal.list.key? 'KILL' # must be true
|
86
93
|
</code></pre></li>
|
87
|
-
<li><p>To make the <a class="md2man-
|
94
|
+
<li><p>To make the <a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> program's filesystem monitoring more efficient:</p>
|
88
95
|
<pre><code>gem install rb-inotify # linux
|
89
96
|
gem install rb-fsevent # macosx
|
90
97
|
</code></pre></li>
|
91
98
|
</ul>
|
92
|
-
<h3 id="
|
99
|
+
<h3 id="development"><a name="development" href="#development" class="md2man-permalink" title="permalink"></a>Development</h3>
|
93
100
|
<pre><code>git clone git://github.com/sunaku/tork
|
94
101
|
cd tork
|
95
102
|
bundle install
|
96
103
|
bundle exec tork --help # run it directly
|
97
104
|
bundle exec rake --tasks # packaging tasks
|
98
105
|
</code></pre>
|
99
|
-
<h2 id="
|
106
|
+
<h2 id="usage"><a name="usage" href="#usage" class="md2man-permalink" title="permalink"></a>Usage</h2><h3 id="at-the-command-line"><a name="at-the-command-line" href="#at-the-command-line" class="md2man-permalink" title="permalink"></a>At the command line</h3>
|
100
107
|
<pre><code>tork --help
|
101
108
|
</code></pre>
|
102
109
|
<p>You can add line editing, history, and filename completion:</p>
|
103
110
|
<pre><code>rlwrap -c tork
|
104
111
|
</code></pre>
|
105
|
-
<p>You can control <a class="md2man-
|
112
|
+
<p>You can control <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> interactively from another terminal:</p>
|
106
113
|
<pre><code>tork-remote tork-engine
|
107
114
|
# type your commands here, one per line.
|
108
|
-
# press Control-D to exit <a class="md2man-
|
115
|
+
# press Control-D to exit <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a>
|
109
116
|
</code></pre>
|
110
117
|
<p>You can also do the same non-interactively using a pipeline:</p>
|
111
118
|
<pre><code># run lines 4, 33, and 21 of test/some_test.rb
|
@@ -114,15 +121,18 @@ echo run_test_file test/some_test.rb 4 33 21 | tork-remote tork-engine
|
|
114
121
|
<p>You can monitor your test processes from another terminal:</p>
|
115
122
|
<pre><code>watch 'pgrep -f ^tork | xargs -r ps uf'
|
116
123
|
</code></pre>
|
117
|
-
<h3 id="
|
124
|
+
<h3 id="with-bundler"><a name="with-bundler" href="#with-bundler" class="md2man-permalink" title="permalink"></a>With Bundler</h3><p>The <code>bundler</code> configuration helper loads a Bundler bundle into <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>.
|
125
|
+
The <code>default</code> configuration helper does this for you automatically if there is
|
126
|
+
a <code>Gemfile</code> or <code>Gemfile.lock</code> file present in your current working directory.</p><p>As a result, you don't need to add Tork to your <code>Gemfile</code> <em>just</em> to run tests!
|
127
|
+
Instead, installing Tork as a Ruby gem <em>outside</em> of your bundle is sufficient.</p><p>Try it: go into any bundled application and call <code>tork</code> to run its test suite.</p><h3 id="with-minitest"><a name="with-minitest" href="#with-minitest" class="md2man-permalink" title="permalink"></a>With MiniTest</h3><p>MiniTest 1.3.2 and newer contain a bug where <code>minitest/autorun</code> won't run any
|
118
128
|
tests if someone calls <code>Kernel#exit</code> explicitly or simply loads a library
|
119
129
|
(such as RSpec) which makes the call implicitly. Use Tork 19.0.2+ to avoid
|
120
|
-
this problem or <a href="https://github.com/seattlerb/minitest/pull/183/files">apply this patch to the minitest library</a> to fix the problem.</p><h3 id="
|
130
|
+
this problem or <a href="https://github.com/seattlerb/minitest/pull/183/files">apply this patch to the minitest library</a> to fix the problem.</p><h3 id="with-rspec"><a name="with-rspec" href="#with-rspec" class="md2man-permalink" title="permalink"></a>With RSpec</h3><p>RSpec 2.9.0 and newer contain a bug where RSpec's autorun helper won't run any
|
121
131
|
specs if someone calls <code>Kernel#exit</code> explicitly or simply loads a library
|
122
132
|
(such as Test::Unit) which makes the call implicitly. Use Tork 19.0.2+ to
|
123
133
|
avoid this problem or <a href="https://github.com/rspec/rspec-core/pull/720/files">apply this patch to the rspec-core library</a> to fix the problem.</p><p>RSpec 2.8.0 and older contain <a href="https://github.com/sunaku/tork/issues/31">a bug</a> where a nonzero exit status (caused
|
124
134
|
by an uncaught exception) is overridden by RSpec's <code>Kernel#at_exit</code> handler to
|
125
|
-
be zero, thereby falsely indicating that a spec had passed. <a href="https://github.com/rspec/rspec-core/pull/569/files">This patch</a> fixes the problem.</p><h3 id="
|
135
|
+
be zero, thereby falsely indicating that a spec had passed. <a href="https://github.com/rspec/rspec-core/pull/569/files">This patch</a> fixes the problem.</p><h3 id="with-ruby-on-rails"><a name="with-ruby-on-rails" href="#with-ruby-on-rails" class="md2man-permalink" title="permalink"></a>With <a href="http://rubyonrails.org">Ruby on Rails</a></h3><p>For Rails 3 or newer, use the <code>rails</code> configuration helper <em>before</em> the <code>test</code>
|
126
136
|
or <code>spec</code> helpers. Otherwise your test helper will load Rails <em>before</em> the
|
127
137
|
specified <code>rails</code> configuration helper has a chance to disable class caching!</p><p>For older Rails, make sure your <code>config/environments/test.rb</code> file contains:</p>
|
128
138
|
<pre><code>config.cache_classes = false
|
@@ -133,9 +143,9 @@ database adapter</a>. Otherwise, you <em>might</em> face these errors:</p>
|
|
133
143
|
<p>SQLite3::BusyException: database is locked</p><p>cannot start a transaction within a transaction</p></blockquote>
|
134
144
|
<p>For older Rails, to use SQLite3 as your test database along with browser-based
|
135
145
|
acceptance testing frameworks such as Capybara, see
|
136
|
-
<a href="http://www.spacevatican.org/2012/8/18/threading-the-rat/">http://www.spacevatican.org/2012/8/18/threading-the-rat/</a></p><h2 id="
|
146
|
+
<a href="http://www.spacevatican.org/2012/8/18/threading-the-rat/">http://www.spacevatican.org/2012/8/18/threading-the-rat/</a></p><h2 id="configuration"><a name="configuration" href="#configuration" class="md2man-permalink" title="permalink"></a>Configuration</h2><p>Tork looks for a configuration directory named <code>.tork/</code> inside its working
|
137
147
|
directory. The configuration directory contains specially-named Ruby scripts,
|
138
148
|
within which you can query and modify the settings for various tork programs.
|
139
149
|
See the "FILES" sections in the manual pages of tork programs for details.</p><p>Note that tork <em>does not</em> automatically reload changes from your configuration
|
140
|
-
directory. Consequently, you must restart tork if your configuration changes.</p><h2 id="
|
150
|
+
directory. Consequently, you must restart tork if your configuration changes.</p><h2 id="license"><a name="license" href="#license" class="md2man-permalink" title="permalink"></a>License</h2><p>Released under the ISC license. See the LICENSE file for details.</p></div></body>
|
141
151
|
</html>
|
data/man/man0/README.md
CHANGED
@@ -5,6 +5,11 @@
|
|
5
5
|
\__/\____/_/ /_/|_\
|
6
6
|
>>>------>
|
7
7
|
|
8
|
+
* Package: <https://rubygems.org/gems/tork>
|
9
|
+
* Manuals: <https://sunaku.github.io/tork>
|
10
|
+
* Sources: <https://github.com/sunaku/tork>
|
11
|
+
* Support: <https://github.com/sunaku/tork/issues>
|
12
|
+
|
8
13
|
# _Test with fork_
|
9
14
|
|
10
15
|
Tork runs your tests as they change, in parallel:
|
@@ -133,6 +138,17 @@ You can monitor your test processes from another terminal:
|
|
133
138
|
|
134
139
|
watch 'pgrep -f ^tork | xargs -r ps uf'
|
135
140
|
|
141
|
+
### With Bundler
|
142
|
+
|
143
|
+
The `bundler` configuration helper loads a Bundler bundle into tork-master(1).
|
144
|
+
The `default` configuration helper does this for you automatically if there is
|
145
|
+
a `Gemfile` or `Gemfile.lock` file present in your current working directory.
|
146
|
+
|
147
|
+
As a result, you don't need to add Tork to your `Gemfile` _just_ to run tests!
|
148
|
+
Instead, installing Tork as a Ruby gem _outside_ of your bundle is sufficient.
|
149
|
+
|
150
|
+
Try it: go into any bundled application and call `tork` to run its test suite.
|
151
|
+
|
136
152
|
### With MiniTest
|
137
153
|
|
138
154
|
MiniTest 1.3.2 and newer contain a bug where `minitest/autorun` won't run any
|
data/man/man0/VERSION.html
CHANGED
@@ -2,63 +2,95 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
<meta name="generator" content="md2man
|
5
|
+
<meta name="generator" content="md2man 3.0.0 https://github.com/sunaku/md2man" />
|
6
6
|
<title>VERSION</title>
|
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="
|
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-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"><a name="minor" href="#minor" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
11
|
+
<ul>
|
12
|
+
<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
|
13
|
+
having to first add Tork to its <code>Gemfile</code> and then <code>bundle install</code> it.
|
14
|
+
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>
|
15
|
+
</ul>
|
16
|
+
<h3 id="patch"><a name="patch" href="#patch" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
17
|
+
<ul>
|
18
|
+
<li><p>Server: fix crash when Fixnum is sent as a message.</p>
|
19
|
+
<pre><code>lib/tork/server.rb:45:in `block (2 levels) in loop':
|
20
|
+
undefined method `empty?' for 6:Fixnum (NoMethodError)
|
21
|
+
|
22
|
+
lib/tork/cliapp.rb:59:in `recv':
|
23
|
+
undefined method `lstrip' for 6:Fixnum (NoMethodError)
|
24
|
+
</code></pre>
|
25
|
+
<p>Because JSON.load() and JSON.parse() are different:</p>
|
26
|
+
<pre><code>$ irb -r json
|
27
|
+
>> JSON.load '6'
|
28
|
+
6
|
29
|
+
>> JSON.parse '6'
|
30
|
+
JSON::ParserError: A JSON text must at least contain two octets!
|
31
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `initialize'
|
32
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `new'
|
33
|
+
from /usr/lib/ruby/2.1.0/json/common.rb:155:in `parse'
|
34
|
+
from (irb):2
|
35
|
+
from /usr/bin/irb:11:in `<main>'
|
36
|
+
</code></pre></li>
|
37
|
+
</ul>
|
38
|
+
<h3 id="other"><a name="other" href="#other" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
39
|
+
<ul>
|
40
|
+
<li>Upgrade to md2man 3.0 for improved HTML manuals.</li>
|
41
|
+
</ul>
|
42
|
+
<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-1"><a name="minor-1" href="#minor-1" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
11
43
|
<ul>
|
12
44
|
<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
|
13
45
|
patch</a>.</p></li>
|
14
46
|
</ul>
|
15
|
-
<h2 id="
|
47
|
+
<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-1"><a name="patch-1" href="#patch-1" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
16
48
|
<ul>
|
17
49
|
<li><p>Rails < 3.1.0 does not have <code>connection_config()</code>.</p></li>
|
18
50
|
<li><p><code>schema_cache()</code> is only defined in Rails >= 4.</p></li>
|
19
51
|
</ul>
|
20
|
-
<h2 id="
|
52
|
+
<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-2"><a name="minor-2" href="#minor-2" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
21
53
|
<ul>
|
22
|
-
<li><a class="md2man-
|
54
|
+
<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>
|
23
55
|
</ul>
|
24
|
-
<h3 id="
|
56
|
+
<h3 id="patch-2"><a name="patch-2" href="#patch-2" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
25
57
|
<ul>
|
26
|
-
<li><a class="md2man-
|
58
|
+
<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>
|
27
59
|
</ul>
|
28
|
-
<h2 id="
|
29
|
-
configuration helper, corrects the <code>idle</code> event in <a class="md2man-
|
30
|
-
some minor bugs in <a class="md2man-
|
60
|
+
<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>
|
61
|
+
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
|
62
|
+
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-3"><a name="patch-3" href="#patch-3" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
31
63
|
<ul>
|
32
64
|
<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
|
33
65
|
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>
|
34
|
-
<li><p><a class="md2man-
|
35
|
-
<li><p><a class="md2man-
|
36
|
-
<li><p><a class="md2man-
|
66
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> sent <code>idle</code> event when 1 test was still running.</p></li>
|
67
|
+
<li><p><a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a>: prevent Test::Unit from running in <code>at_exit</code> hook.</p><p>Test::Unit is finding and running 0 tests in <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> itself.</p></li>
|
68
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: forgot to update man page: ENTER by itself does nothing now.</p></li>
|
37
69
|
</ul>
|
38
|
-
<h2 id="
|
70
|
+
<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,
|
39
71
|
makes connections to tork subprocesses self-healing, eliminates "address
|
40
|
-
already in use" errors, and fixes bugs in <a class="md2man-
|
72
|
+
already in use" 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-3"><a name="minor-3" href="#minor-3" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
41
73
|
<ul>
|
42
|
-
<li><p>Add <a class="md2man-
|
74
|
+
<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
|
43
75
|
exit with a nonzero status if tests failed, similar to <code>rake test</code>.</p></li>
|
44
76
|
<li><p>Add Tork::Bridge to make connections to tork subprocesses self-healing.</p><p>When a tork subprocess terminates, its parent process now replaces it
|
45
77
|
with a fresh instance. Thus the tork process tree is now self-healing.</p></li>
|
46
78
|
<li><p>Server: become a remote control to existing instance on socket fail.</p><p>If an another instance of this tork program is already running, then
|
47
79
|
become a remote to it rather than failing on binding its socket file.</p><p>This lets you run the same tork program more than once in the same working
|
48
|
-
directory; latter runs will become remote controls for the first instance!</p><p>This also lets you run an instance of <a class="md2man-
|
49
|
-
then run <a class="md2man-
|
80
|
+
directory; latter runs will become remote controls for the first instance!</p><p>This also lets you run an instance of <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> for interactive usage and
|
81
|
+
then run <a class="md2man-reference" href="../man1/tork-runner.1.html">tork-runner(1)</a> in another terminal in the same working directory
|
50
82
|
to re-use the former's resources to run your test suite non-interactively.</p></li>
|
51
|
-
<li><p><a class="md2man-
|
52
|
-
<li><p><a class="md2man-
|
83
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: show help message to clients upon connecting.</p></li>
|
84
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: tell user to input 'h' key for help message.</p></li>
|
53
85
|
</ul>
|
54
|
-
<h3 id="
|
86
|
+
<h3 id="patch-4"><a name="patch-4" href="#patch-4" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
55
87
|
<ul>
|
56
|
-
<li><p><a class="md2man-
|
88
|
+
<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)
|
57
89
|
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>
|
58
90
|
<li><p>Socket files were always deleted: even if not ours.</p><p>If a tork instance was already running and a new tork instance was
|
59
91
|
started up in the same directory, then the latter would always delete
|
60
92
|
the common socket files (currently belonging to the former) upon exit.</p></li>
|
61
|
-
<li><p>Fail earlier on socket bind: avoid wasted overhead.</p><p>Before this patch, <a class="md2man-
|
93
|
+
<li><p>Fail earlier on socket bind: avoid wasted overhead.</p><p>Before this patch, <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> would first pay the price of absorbing
|
62
94
|
the test execution overhead before trying to bind its socket. In case
|
63
95
|
of socket bind failure, the process would exit and the overhead wasted.</p></li>
|
64
96
|
<li><p>Server: don't call method for empty command array.</p><p>This error would occur when pressing ENTER in tork-remote tork-driver:</p>
|
@@ -75,67 +107,67 @@ tork-driver: /home/skurapati/lab/tork/bin/tork-driver:173:in `<top (required)
|
|
75
107
|
tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `load'
|
76
108
|
tork-driver: /home/skurapati/.rvm/gems/ruby-1.9.3-p448/bin/tork-driver:23:in `<main>'
|
77
109
|
</code></pre></li>
|
78
|
-
<li><p><a class="md2man-
|
110
|
+
<li><p><a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a>: listen 2.2.0 gem is non-blocking and gives absolute paths.</p>
|
79
111
|
<ul>
|
80
112
|
<li>Calling #start no longer blocks the caller.</li>
|
81
113
|
<li>The <code>:relative_paths</code> option no longer works:
|
82
114
|
<a href="https://github.com/guard/listen/issues/170">https://github.com/guard/listen/issues/170</a></li>
|
83
115
|
</ul></li>
|
84
|
-
<li><p><a class="md2man-
|
116
|
+
<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>
|
85
117
|
</ul>
|
86
|
-
<h3 id="
|
118
|
+
<h3 id="other-1"><a name="other-1" href="#other-1" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
87
119
|
<ul>
|
88
120
|
<li><p>GH-56: specify license in gemspec for rubygems.org.</p></li>
|
89
|
-
<li><p>Document <a class="md2man-
|
121
|
+
<li><p>Document <a class="md2man-reference">sh(1)</a> word splitting in manual pages of all tork servers.</p></li>
|
90
122
|
<li><p>README: use <code>ps uf</code> to visualize process hierarchy.</p></li>
|
91
123
|
</ul>
|
92
|
-
<h2 id="
|
124
|
+
<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-4"><a name="minor-4" href="#minor-4" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
93
125
|
<ul>
|
94
126
|
<li>The "rails" configuration helper now automatically sets up your test
|
95
127
|
database for Tork's parallel testing system if your test database is
|
96
128
|
SQLite3 and you are using Rails 3 or newer.</li>
|
97
129
|
</ul>
|
98
|
-
<h3 id="
|
130
|
+
<h3 id="other-2"><a name="other-2" href="#other-2" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
99
131
|
<ul>
|
100
132
|
<li><p>rails: remove unused capture of rescued exception</p></li>
|
101
133
|
<li><p>coverage: document the use of Ruby 1.9 hash syntax</p></li>
|
102
134
|
<li><p>rename <code>*.markdown</code> file extension to shorter <code>*.md</code></p></li>
|
103
135
|
</ul>
|
104
|
-
<h2 id="
|
136
|
+
<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-3"><a name="other-3" href="#other-3" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
105
137
|
<ul>
|
106
138
|
<li><p>GH-55: upgrade listen & rake gem dependencies.</p><p>Thanks to Matthew Albright for reporting this issue in GH-55:
|
107
139
|
<a href="https://github.com/sunaku/tork/issues/55">https://github.com/sunaku/tork/issues/55</a></p></li>
|
108
140
|
</ul>
|
109
|
-
<h2 id="
|
141
|
+
<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-5"><a name="patch-5" href="#patch-5" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
110
142
|
<ul>
|
111
143
|
<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:
|
112
144
|
<a href="https://github.com/sunaku/tork/issues/53">https://github.com/sunaku/tork/issues/53</a></p></li>
|
113
145
|
</ul>
|
114
|
-
<h3 id="
|
146
|
+
<h3 id="other-4"><a name="other-4" href="#other-4" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
115
147
|
<ul>
|
116
148
|
<li>Upgrade to md2man 2.0.</li>
|
117
149
|
</ul>
|
118
|
-
<h2 id="
|
150
|
+
<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-5"><a name="minor-5" href="#minor-5" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
119
151
|
<ul>
|
120
|
-
<li><p><a class="md2man-
|
152
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> now emits <code>["idle"]</code> messages whenever all tests
|
121
153
|
have finished running and no more tests are queued for running.</p><p>Thanks to Jonathan Cairns for requesting this feature in GH-50:
|
122
154
|
<a href="https://github.com/sunaku/tork/issues/50">https://github.com/sunaku/tork/issues/50</a></p></li>
|
123
155
|
</ul>
|
124
|
-
<h3 id="
|
156
|
+
<h3 id="other-5"><a name="other-5" href="#other-5" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
125
157
|
<ul>
|
126
158
|
<li><p>add man/man0 subdir containing README and VERSION</p></li>
|
127
159
|
<li><p>README: use manpage xrefs for linking in HTML mans</p></li>
|
128
160
|
</ul>
|
129
|
-
<h2 id="
|
130
|
-
sometimes, intermittently, when test execution overhead is being reabsorbed.</p><h3 id="
|
161
|
+
<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
|
162
|
+
sometimes, intermittently, when test execution overhead is being reabsorbed.</p><h3 id="patch-6"><a name="patch-6" href="#patch-6" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
131
163
|
<ul>
|
132
164
|
<li>server: retry until the socket opens successfully</li>
|
133
165
|
</ul>
|
134
|
-
<h3 id="
|
166
|
+
<h3 id="other-6"><a name="other-6" href="#other-6" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
135
167
|
<ul>
|
136
168
|
<li>include md2man rake tasks in developer's rakefile</li>
|
137
169
|
</ul>
|
138
|
-
<h2 id="
|
170
|
+
<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-7"><a name="patch-7" href="#patch-7" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
139
171
|
<ul>
|
140
172
|
<li><p>GH-46: allow reassigning <code>$tork_*</code> variable values. Thanks to Joe
|
141
173
|
Escalante for reminding me to fix this issue.</p></li>
|
@@ -143,111 +175,111 @@ Escalante for reminding me to fix this issue.</p></li>
|
|
143
175
|
Thanks to Ryan Ahearn for fixing this issue and to Jonathan Cairns for
|
144
176
|
reporting it.</p></li>
|
145
177
|
</ul>
|
146
|
-
<h2 id="
|
178
|
+
<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-6"><a name="minor-6" href="#minor-6" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
147
179
|
<ul>
|
148
180
|
<li>Add "devise" configuration helper that adds support for testing Rails
|
149
181
|
applications that use the Devise authentication framework. Thanks to Ryan
|
150
182
|
Ahearn for this contribution.</li>
|
151
183
|
</ul>
|
152
|
-
<h3 id="
|
184
|
+
<h3 id="patch-8"><a name="patch-8" href="#patch-8" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
153
185
|
<ul>
|
154
186
|
<li><p>gemspec: upgrade to <em>listen</em> 0.7.0 to fix issue #43. Thanks to Ryan
|
155
187
|
Ahearn for reporting this issue and helping debug it, and to Thibaud
|
156
188
|
Guillaume-Gentil for fixing this issue upstream in the <em>listen</em> library.</p></li>
|
157
189
|
<li><p>Fix <code>undefined method 'path' for nil</code> error on socket file removal.</p></li>
|
158
190
|
</ul>
|
159
|
-
<h2 id="
|
191
|
+
<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-7"><a name="minor-7" href="#minor-7" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
160
192
|
<ul>
|
161
193
|
<li>tork-driver: don't run overhead files as test files</li>
|
162
194
|
</ul>
|
163
|
-
<h3 id="
|
195
|
+
<h3 id="patch-9"><a name="patch-9" href="#patch-9" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
164
196
|
<ul>
|
165
197
|
<li><p>rails: run dependent tests when <code>app/views/*</code> change</p></li>
|
166
198
|
<li><p>Clear FactoryGirl sequences and traits on fork in the <code>factory_girl</code>
|
167
199
|
configuration helper. Thanks to Ryan Ahearn for this contribution.</p></li>
|
168
200
|
<li><p>server: fix clean up of socket files upon exit</p></li>
|
169
201
|
</ul>
|
170
|
-
<h2 id="
|
202
|
+
<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-10"><a name="patch-10" href="#patch-10" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
171
203
|
<ul>
|
172
204
|
<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>
|
173
205
|
</ul>
|
174
|
-
<h3 id="
|
206
|
+
<h3 id="other-7"><a name="other-7" href="#other-7" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
175
207
|
<ul>
|
176
208
|
<li><p>README: document RSpec 2.9.0+ autorun skipping bug</p></li>
|
177
209
|
<li><p>README: MiniTest 1.3.2+ also has autorun skip bug</p></li>
|
178
210
|
</ul>
|
179
|
-
<h2 id="
|
211
|
+
<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-11"><a name="patch-11" href="#patch-11" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
180
212
|
<ul>
|
181
213
|
<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.
|
182
214
|
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>
|
183
215
|
<li><p>Automatically load the "autorun" helpers for RSpec and MiniTest.</p><p>RSpec users are accustomed to not having <code>require "rspec/autorun"</code> in
|
184
|
-
their spec/spec_helper.rb file because they use the <a class="md2man-
|
216
|
+
their spec/spec_helper.rb file because they use the <a class="md2man-reference">rspec(1)</a> executable
|
185
217
|
to run their tests. This commit makes things Just Work for them again.</p></li>
|
186
218
|
</ul>
|
187
|
-
<h3 id="
|
219
|
+
<h3 id="other-8"><a name="other-8" href="#other-8" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
188
220
|
<ul>
|
189
221
|
<li><p>test whether input is JSON by actually parsing it</p></li>
|
190
222
|
<li><p>server: use Set instead of Array for faster lookup</p></li>
|
191
223
|
</ul>
|
192
|
-
<h2 id="
|
224
|
+
<h2 id="version-19-0-0-2012-10-17"><a name="version-19-0-0-2012-10-17" href="#version-19-0-0-2012-10-17" class="md2man-permalink" title="permalink"></a>Version 19.0.0 (2012-10-17)</h2><h3 id="major"><a name="major" href="#major" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
193
225
|
<ul>
|
194
226
|
<li><p>The <code>.tork.rb</code> configuration file has been replaced by the <code>.tork/</code>
|
195
227
|
directory, which contains specially-named Ruby scripts. Refer to the
|
196
|
-
<code>TORK_CONFIGS</code> environment variable in <a class="md2man-
|
228
|
+
<code>TORK_CONFIGS</code> environment variable in <a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a> for more information.</p></li>
|
197
229
|
<li><p>The <code>Tork::Config</code> object has been replaced by various data structures in
|
198
230
|
the <code>Tork::</code> namespace. See the "FILES" sections in the manual pages of
|
199
231
|
tork programs for information on the data structures that replaced it.</p></li>
|
200
232
|
<li><p><code>Tork::Config.test_event_hooks</code> has been removed. Instead, you must now
|
201
|
-
monitor the STDOUT of <a class="md2man-
|
202
|
-
or indirectly, via <a class="md2man-
|
203
|
-
See the <a class="md2man-
|
204
|
-
<li><p><a class="md2man-
|
205
|
-
<li><p><a class="md2man-
|
233
|
+
monitor the STDOUT of <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> or <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a> either directly
|
234
|
+
or indirectly, via <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a>, and react to their status messages.
|
235
|
+
See the <a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a> program for an example of how to implement this.</p></li>
|
236
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: 't' now runs a specified test, whereas 'a' runs all tests.</p></li>
|
237
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: the <code>run_test_file</code> command now takes line numbers as a
|
206
238
|
variable-length list of arguments (varargs) rather than as an array.</p></li>
|
207
|
-
<li><p><a class="md2man-
|
239
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: the <code>run_test_file</code> command now runs an entire test file
|
208
240
|
when zero is given as one of the line numbers to be run.</p></li>
|
209
|
-
<li><p><a class="md2man-
|
241
|
+
<li><p><a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>: the <code>load</code> command is no longer accepted. Instead, you
|
210
242
|
must specify load paths and overhead files in the <code>.tork/master.rb</code> file.</p></li>
|
211
243
|
<li><p>The <code>TORK_CONFIGS</code> env-var is now a colon delimited list of directories.</p></li>
|
212
244
|
<li><p>The <code>tork/client</code> library has been removed. The threaded IO and popen()
|
213
245
|
wrappers that it provided have been replaced by the powerful IO.select().</p></li>
|
214
246
|
</ul>
|
215
|
-
<h3 id="
|
247
|
+
<h3 id="minor-8"><a name="minor-8" href="#minor-8" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
216
248
|
<ul>
|
217
|
-
<li><p><a class="md2man-
|
218
|
-
<li><p><a class="md2man-
|
219
|
-
<li><p>add <a class="md2man-
|
249
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: allow user to specify arguments after command key</p></li>
|
250
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: add 'k' to stop all currently running tests with SIGKILL</p></li>
|
251
|
+
<li><p>add <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a> to remotely control any tork program. This feature is
|
220
252
|
made possible by the awesome power of IO.select() and UNIX domain sockets.</p></li>
|
221
|
-
<li><p>add <a class="md2man-
|
222
|
-
<li><p><a class="md2man-
|
223
|
-
<li><p><a class="md2man-
|
253
|
+
<li><p>add <a class="md2man-reference" href="../man1/tork-notify.1.html">tork-notify(1)</a> as example of using <a class="md2man-reference" href="../man1/tork-remote.1.html">tork-remote(1)</a> and <a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a></p></li>
|
254
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: add <code>["run_test_files"]</code> command to run multiple files</p></li>
|
255
|
+
<li><p><a class="md2man-reference" href="../man1/tork-engine.1.html">tork-engine(1)</a>: emit edge-triggered <code>pass_now_fail</code> and <code>fail_now_pass</code>
|
224
256
|
events to notify you about changes in a test file's pass/fail status.</p></li>
|
225
257
|
<li><p>typing Control-D now breaks tork programs out of <code>Tork::Server#loop()</code></p></li>
|
226
258
|
</ul>
|
227
|
-
<h3 id="
|
259
|
+
<h3 id="patch-12"><a name="patch-12" href="#patch-12" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
228
260
|
<ul>
|
229
|
-
<li><a class="md2man-
|
261
|
+
<li><a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>: stop workers with SIGKILL when quitting</li>
|
230
262
|
</ul>
|
231
|
-
<h3 id="
|
263
|
+
<h3 id="other-9"><a name="other-9" href="#other-9" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
232
264
|
<ul>
|
233
|
-
<li><p><a class="md2man-
|
265
|
+
<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>
|
234
266
|
<li><p>README: add tip about rlwrap for better interactive</p></li>
|
235
267
|
<li><p>README: simplify watch command using pgrep & xargs</p></li>
|
236
268
|
<li><p>README: use standard bundle exec; no <code>--binstubs</code></p></li>
|
237
269
|
</ul>
|
238
|
-
<h2 id="
|
270
|
+
<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-10"><a name="other-10" href="#other-10" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
239
271
|
<ul>
|
240
272
|
<li>GH-39: upgrade listen gem version to fix a bug in OSX.
|
241
273
|
Thanks to Adam Grant for reporting this issue.</li>
|
242
274
|
</ul>
|
243
|
-
<h2 id="
|
275
|
+
<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-13"><a name="patch-13" href="#patch-13" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
244
276
|
<ul>
|
245
277
|
<li><p>Restored support for building Tork from its gemspec under Ruby 1.8.
|
246
278
|
Thanks to Ohno Shin'ichi for reporting this issue and contributing a
|
247
279
|
preliminary fix.</p></li>
|
248
280
|
<li><p>Add resilience against failed command dispatch in <code>Tork::Server#loop()</code>.</p></li>
|
249
281
|
</ul>
|
250
|
-
<h3 id="
|
282
|
+
<h3 id="other-11"><a name="other-11" href="#other-11" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
251
283
|
<ul>
|
252
284
|
<li><p>It's not worth rescuing Interrupt only to exit silently.
|
253
285
|
Let the user see stack traces when they press Control-C.</p></li>
|
@@ -255,7 +287,7 @@ Let the user see stack traces when they press Control-C.</p></li>
|
|
255
287
|
replaced by reaping threads quite a few releases ago.</p></li>
|
256
288
|
<li><p>Use $0 instead of hard-coding the program name.</p></li>
|
257
289
|
</ul>
|
258
|
-
<h2 id="
|
290
|
+
<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-14"><a name="patch-14" href="#patch-14" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
259
291
|
<ul>
|
260
292
|
<li><p>GH-35: resume dispatched but not yet started tests.</p><p>After reabsorbing overhead, we need to resume previously dispatched test
|
261
293
|
files that have not yet finished running. This includes the waiting set
|
@@ -263,17 +295,17 @@ files that have not yet finished running. This includes the waiting set
|
|
263
295
|
and already started running). Otherwise, we encounter a bug where test
|
264
296
|
files in the waiting set can NEVER be run again!</p></li>
|
265
297
|
</ul>
|
266
|
-
<h2 id="
|
298
|
+
<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-15"><a name="patch-15" href="#patch-15" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
267
299
|
<ul>
|
268
300
|
<li>GH-37: switch from Guard::Listener to Listen gem.
|
269
301
|
Thanks to Jesse Cooke for reporting this issue.</li>
|
270
302
|
</ul>
|
271
|
-
<h3 id="
|
303
|
+
<h3 id="other-12"><a name="other-12" href="#other-12" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
272
304
|
<ul>
|
273
305
|
<li><p>gemspec: need to provide .0 suffix for ~> operator.</p></li>
|
274
306
|
<li><p>gemspec: LICENSE file contains UTF-8 author names.</p></li>
|
275
307
|
</ul>
|
276
|
-
<h2 id="
|
308
|
+
<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-9"><a name="minor-9" href="#minor-9" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
277
309
|
<ul>
|
278
310
|
<li>Emit warnings when commands cannot be performed. This improves the user
|
279
311
|
experience by giving them immediate feedback. For example, if you issue
|
@@ -281,15 +313,15 @@ the "rerun<em>failed</em>tests" command and no tests have failed yet,
|
|
281
313
|
now see a warning message that explains the situation. Thanks to
|
282
314
|
NagaChaitanya Vellanki (@chaitanyav) for suggesting this change.</li>
|
283
315
|
</ul>
|
284
|
-
<h3 id="
|
316
|
+
<h3 id="patch-16"><a name="patch-16" href="#patch-16" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
285
317
|
<ul>
|
286
318
|
<li><p>GH-32: Restore support for Selenium and Capybara by replacing the global
|
287
|
-
SIGCHLD handler in <a class="md2man-
|
319
|
+
SIGCHLD handler in <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> with individual threads, one per forked
|
288
320
|
worker process. Thanks to Bjørn Trondsen (@Sharagoz) for reporting this
|
289
321
|
issue and verifying the fix.</p></li>
|
290
322
|
<li><p>README: Recommend a newer fork of the "memory<em>test</em>fix" Rails plugin.</p></li>
|
291
323
|
</ul>
|
292
|
-
<h2 id="
|
324
|
+
<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-10"><a name="minor-10" href="#minor-10" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
293
325
|
<ul>
|
294
326
|
<li><p>Add <code>tork/config/coverage</code> configuration helper for Ruby 1.9, which prints
|
295
327
|
a coverage report at the end of your log file in YAML format. The report
|
@@ -301,19 +333,19 @@ that exist in or beneath the current working directory:</p>
|
|
301
333
|
<li>:holes - line numbers of source lines that were not covered</li>
|
302
334
|
</ul></li>
|
303
335
|
</ul>
|
304
|
-
<h2 id="
|
336
|
+
<h2 id="version-18-0-1-2012-02-13"><a name="version-18-0-1-2012-02-13" href="#version-18-0-1-2012-02-13" class="md2man-permalink" title="permalink"></a>Version 18.0.1 (2012-02-13)</h2><h3 id="alert"><a name="alert" href="#alert" class="md2man-permalink" title="permalink"></a>Alert:</h3>
|
305
337
|
<ul>
|
306
338
|
<li>If you're on Ruby 1.9, please use 1.9.3 or newer because 1.9.2 is
|
307
339
|
known to segfault under RSpec and Rails. See GH-30 and GH-32.</li>
|
308
340
|
</ul>
|
309
|
-
<h3 id="
|
341
|
+
<h3 id="patch-17"><a name="patch-17" href="#patch-17" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
310
342
|
<ul>
|
311
343
|
<li><p>GH-27: Cucumber features now run correctly under RSpec. Thanks to Scott
|
312
344
|
Radcliff for reporting this issue and to David Burrows for solving it!</p></li>
|
313
|
-
<li><p><a class="md2man-
|
345
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: fix undefined method `strip' for nil:NilClass error.</p></li>
|
314
346
|
<li><p>tork/config: ignore directories given as configuration files.</p></li>
|
315
347
|
</ul>
|
316
|
-
<h2 id="
|
348
|
+
<h2 id="version-18-0-0-2012-02-06"><a name="version-18-0-0-2012-02-06" href="#version-18-0-0-2012-02-06" class="md2man-permalink" title="permalink"></a>Version 18.0.0 (2012-02-06)</h2><h3 id="alert-1"><a name="alert-1" href="#alert-1" class="md2man-permalink" title="permalink"></a>Alert:</h3>
|
317
349
|
<ul>
|
318
350
|
<li>RSpec 2.8.0 and older contain <a href="https://github.com/sunaku/tork/issues/31">a bug</a> where a nonzero
|
319
351
|
exit status (caused by an uncaught exception) is overridden
|
@@ -321,7 +353,7 @@ by RSpec's <code>Kernel#at_exit</code> handler to be zero, thereby
|
|
321
353
|
falsely indicating that a spec had passed. <a href="https://github.com/rspec/rspec-core/pull/569/files">This patch</a> fixes the
|
322
354
|
problem. Thanks to Gumaro Melendez for reporting this issue.</li>
|
323
355
|
</ul>
|
324
|
-
<h3 id="
|
356
|
+
<h3 id="major-1"><a name="major-1" href="#major-1" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
325
357
|
<ul>
|
326
358
|
<li><p>Dropped first parameter to <code>Tork::Config::test_file_globbers</code>.</p></li>
|
327
359
|
<li><p>GH-31: tork-master now emits separate exit code and info.
|
@@ -329,12 +361,12 @@ Update your <code>Tork::Config::test_event_hooks</code> accordingly.</p></li>
|
|
329
361
|
<li><p>tork/server: switch from modules to class inheritance.</p></li>
|
330
362
|
<li><p>tork/config: switch to Struct to prevent misspellings.</p></li>
|
331
363
|
</ul>
|
332
|
-
<h3 id="
|
364
|
+
<h3 id="minor-11"><a name="minor-11" href="#minor-11" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
333
365
|
<ul>
|
334
366
|
<li><p>tork-driver now recursively expands dependent test files while globbing.</p></li>
|
335
367
|
<li><p>Extracted bookkeeping stuff from tork-driver into tork-engine component.</p></li>
|
336
368
|
</ul>
|
337
|
-
<h3 id="
|
369
|
+
<h3 id="other-13"><a name="other-13" href="#other-13" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
338
370
|
<ul>
|
339
371
|
<li><p>tork/config: do not reabsorb when .tork.rb
|
340
372
|
changes. Since the configuration is loaded in
|
@@ -346,7 +378,7 @@ restart Tork if you change your configuration.</p></li>
|
|
346
378
|
<li><p>GH-29: bump guard version requirement to v1 series.</p></li>
|
347
379
|
<li><p>Improve documentation; revise markdown; clean up.</p></li>
|
348
380
|
</ul>
|
349
|
-
<h2 id="
|
381
|
+
<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-12"><a name="minor-12" href="#minor-12" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
350
382
|
<ul>
|
351
383
|
<li><p>Added <code>Tork::Config.test_event_hooks</code> configuration option.</p></li>
|
352
384
|
<li><p>Added <code>tork/config/notify</code> configuration helper for receiving
|
@@ -360,42 +392,42 @@ multiple globs in an array, in addition to just a single glob or <code>nil</code
|
|
360
392
|
<li><p>Added support for the MiniTest convention of naming test files as
|
361
393
|
<code>test/**/test_*.rb</code> and <code>spec/**/spec_*.rb</code>. (Jose Pablo Barrantes)</p></li>
|
362
394
|
</ul>
|
363
|
-
<h2 id="
|
395
|
+
<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-18"><a name="patch-18" href="#patch-18" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
364
396
|
<ul>
|
365
|
-
<li><p><a class="md2man-
|
397
|
+
<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>
|
366
398
|
<li><p>tork/driver: only whole test file runs should qualify as pass.</p></li>
|
367
399
|
<li><p>tork/config/cucumber: only set ARGV for <code>*.feature</code> test files.</p></li>
|
368
400
|
<li><p>Tork::Client::Transceiver needs to stop both TX & RX loops.</p></li>
|
369
401
|
</ul>
|
370
|
-
<h3 id="
|
402
|
+
<h3 id="other-14"><a name="other-14" href="#other-14" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
371
403
|
<ul>
|
372
404
|
<li><p>tork/driver: store test file lists in Set, not Array.</p></li>
|
373
405
|
<li><p>HISTORY: use single-word change-set descriptions.</p></li>
|
374
406
|
</ul>
|
375
|
-
<h2 id="
|
407
|
+
<h2 id="version-17-0-0-2012-01-27"><a name="version-17-0-0-2012-01-27" href="#version-17-0-0-2012-01-27" class="md2man-permalink" title="permalink"></a>Version 17.0.0 (2012-01-27)</h2><h3 id="major-2"><a name="major-2" href="#major-2" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
376
408
|
<ul>
|
377
|
-
<li><p><a class="md2man-
|
409
|
+
<li><p><a class="md2man-reference" href="../man1/tork-herald.1.html">tork-herald(1)</a> now emits batches of single-line JSON arrays instead of
|
378
410
|
printing one (raw) path per line. This makes IPC uniform across Tork.</p></li>
|
379
|
-
<li><p><a class="md2man-
|
411
|
+
<li><p><a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a> now emits log<em>file and worker</em>number in status messages.</p></li>
|
380
412
|
<li><p>The order of parameters for before/after fork hooks has been changed to
|
381
|
-
better reflect the order of items in <a class="md2man-
|
413
|
+
better reflect the order of items in <a class="md2man-reference" href="../man1/tork-master.1.html">tork-master(1)</a>'s status messages.</p>
|
382
414
|
<ul>
|
383
415
|
<li>The old order was: worker<em>number, log</em>file, test<em>file, line</em>numbers.</li>
|
384
416
|
<li>The new order is: test<em>file, line</em>numbers, log<em>file, worker</em>number.</li>
|
385
417
|
</ul></li>
|
386
418
|
</ul>
|
387
|
-
<h3 id="
|
419
|
+
<h3 id="minor-13"><a name="minor-13" href="#minor-13" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
388
420
|
<ul>
|
389
421
|
<li><p>GH-24: add <code>tork/config/dotlog</code> configuration helper to "hide" log files.
|
390
422
|
(Nicolas Fouché)</p></li>
|
391
423
|
<li><p>GH-25: add <code>tork/config/logdir</code> configuration helper to isolate log files.
|
392
424
|
(Jose Pablo Barrantes)</p></li>
|
393
|
-
<li><p><a class="md2man-
|
425
|
+
<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
|
394
426
|
spacebar or tab a few times, by accident, before entering your command.</p></li>
|
395
427
|
</ul>
|
396
|
-
<h3 id="
|
428
|
+
<h3 id="other-15"><a name="other-15" href="#other-15" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
397
429
|
<ul>
|
398
|
-
<li><p>tork/client: Replace write lock with queue to support SIGCHLD handler.</p><p>The SIGCHLD handler in <a class="md2man-
|
430
|
+
<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
|
399
431
|
in the middle of writing to the standard output stream! Locking access
|
400
432
|
to the output stream in normal code (outside the signal handler) would
|
401
433
|
freeze the program because the signal handler, waiting for the lock to
|
@@ -407,25 +439,25 @@ responsibility of (and access to) continually writing those outgoing
|
|
407
439
|
items to the output stream.</p></li>
|
408
440
|
<li><p>README: revise instructions, reorganize document, and other improvements.</p></li>
|
409
441
|
</ul>
|
410
|
-
<h2 id="
|
442
|
+
<h2 id="version-16-0-0-2012-01-25"><a name="version-16-0-0-2012-01-25" href="#version-16-0-0-2012-01-25" class="md2man-permalink" title="permalink"></a>Version 16.0.0 (2012-01-25)</h2><h3 id="major-3"><a name="major-3" href="#major-3" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
411
443
|
<ul>
|
412
444
|
<li><p>Drop the <code>Tork::Config.test_name_extractor</code> configuration option.</p></li>
|
413
445
|
<li><p>Pass line numbers instead of test names to before/after fork hooks.</p></li>
|
414
446
|
<li><p>Pass $~ (MatchData) to <code>Tork::Config::test_file_globbers</code> functions.</p></li>
|
415
447
|
</ul>
|
416
|
-
<h3 id="
|
448
|
+
<h3 id="minor-14"><a name="minor-14" href="#minor-14" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
417
449
|
<ul>
|
418
450
|
<li>tork/config/cucumber: only run changed scenarios in changed features.</li>
|
419
451
|
</ul>
|
420
|
-
<h3 id="
|
452
|
+
<h3 id="other-16"><a name="other-16" href="#other-16" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
421
453
|
<ul>
|
422
454
|
<li>README: update instructions on running Tork directly from Git clone.</li>
|
423
455
|
</ul>
|
424
|
-
<h2 id="
|
456
|
+
<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-15"><a name="minor-15" href="#minor-15" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
425
457
|
<ul>
|
426
458
|
<li>GH-19: add <code>tork cucumber</code> for running cucumber features.</li>
|
427
459
|
</ul>
|
428
|
-
<h3 id="
|
460
|
+
<h3 id="patch-19"><a name="patch-19" href="#patch-19" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
429
461
|
<ul>
|
430
462
|
<li><p>tork/config/rails: support Rails 2 and don't assume AR is used. (Benjamin
|
431
463
|
Quorning)</p></li>
|
@@ -436,14 +468,14 @@ $TORK_CONFIGS should override settings from the <code>.tork.rb</code> file.</p><
|
|
436
468
|
See <a href="http://stackoverflow.com/questions/1497756">http://stackoverflow.com/questions/1497756</a>.
|
437
469
|
Also added forgotten Luke Wendling to the list.</p></li>
|
438
470
|
</ul>
|
439
|
-
<h2 id="
|
471
|
+
<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-20"><a name="patch-20" href="#patch-20" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
440
472
|
<ul>
|
441
473
|
<li><p>GH-21: Ruby 1.9 class_eval() is smarter than 1.8.</p></li>
|
442
474
|
<li><p>GH-20: forgot <code>require 'thread'</code> for Mutex class. (Jesse Cooke)</p></li>
|
443
475
|
</ul>
|
444
|
-
<h3 id="
|
476
|
+
<h3 id="other-17"><a name="other-17" href="#other-17" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
445
477
|
<ul>
|
446
|
-
<li><p><a class="md2man-
|
478
|
+
<li><p><a class="md2man-reference" href="../man1/tork.1.html">tork(1)</a>: fix shadowed variable names. (Jose Pablo Barrantes)</p></li>
|
447
479
|
<li><p>GH-22: fix command to build & install gem from source.</p></li>
|
448
480
|
<li><p>GH-22: add m2dman as development dependency in gemspec.</p></li>
|
449
481
|
<li><p>GH-18: windows not supported; lacks fork & SIGCHLD.</p></li>
|
@@ -451,17 +483,17 @@ Also added forgotten Luke Wendling to the list.</p></li>
|
|
451
483
|
<li><p>README: missed a testr => tork rename in watch cmd.</p></li>
|
452
484
|
<li><p>README: add tip about Guard's FS watching backends.</p></li>
|
453
485
|
</ul>
|
454
|
-
<h2 id="
|
486
|
+
<h2 id="version-15-0-0-2012-01-23"><a name="version-15-0-0-2012-01-23" href="#version-15-0-0-2012-01-23" class="md2man-permalink" title="permalink"></a>Version 15.0.0 (2012-01-23)</h2><h3 id="major-4"><a name="major-4" href="#major-4" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
455
487
|
<ul>
|
456
488
|
<li><p>This project has been renamed from TestR to Tork (test with fork) in order
|
457
489
|
to better compete with rival projects, namely Spork! >:-) Credit goes to
|
458
490
|
Brian D. Burns for thinking of this most succinct & awesome project name!
|
459
491
|
He also created the snazzy ASCII-art logo featured in the project README.</p></li>
|
460
|
-
<li><p><a class="md2man-
|
492
|
+
<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>
|
461
493
|
</ul>
|
462
|
-
<h2 id="
|
494
|
+
<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-16"><a name="minor-16" href="#minor-16" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
463
495
|
<ul>
|
464
|
-
<li><p><a class="md2man-
|
496
|
+
<li><p><a class="md2man-reference">testr(1)</a>: notify user while dispatching their commands. This is especially
|
465
497
|
useful when the "rerun<em>passed</em>test_files" command has been dispatched but
|
466
498
|
there are no passed test files, so nothing happens and from the user's
|
467
499
|
perspective: TestR sucks because it's unresponsive.</p></li>
|
@@ -470,46 +502,46 @@ perspective: TestR sucks because it's unresponsive.</p></li>
|
|
470
502
|
PGError: connection not open
|
471
503
|
</code></pre>
|
472
504
|
<p>Thanks to Spencer Steffen for <a href="https://github.com/sunaku/tork/issues/14#issuecomment-3539470">contributing this solution</a>.</p></li>
|
473
|
-
<li><p><a class="md2man-
|
505
|
+
<li><p><a class="md2man-reference">testr-driver(1)</a>: document the "over" status message in manual page.</p></li>
|
474
506
|
</ul>
|
475
|
-
<h3 id="
|
507
|
+
<h3 id="other-18"><a name="other-18" href="#other-18" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
476
508
|
<ul>
|
477
|
-
<li><p><a class="md2man-
|
478
|
-
<li><p><a class="md2man-
|
509
|
+
<li><p><a class="md2man-reference">testr-driver(1)</a>: keep same herald; only replace master.</p></li>
|
510
|
+
<li><p><a class="md2man-reference">testr(1)</a>: shorten code for loop break on quit command.</p></li>
|
479
511
|
<li><p>server: rename <code>@upstream</code> to <code>@client</code> for coherence.</p></li>
|
480
512
|
<li><p>Can pass lambda and proc with block to <code><<</code> method.</p></li>
|
481
513
|
<li><p>Explain <code>$0</code> override at the start of bin/ scripts.</p></li>
|
482
514
|
<li><p>LICENSE: credit our most recent contributors.</p></li>
|
483
515
|
</ul>
|
484
|
-
<h2 id="
|
516
|
+
<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-17"><a name="minor-17" href="#minor-17" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
485
517
|
<ul>
|
486
518
|
<li><p>Add ability to run <code>testr rails</code> without needing a <code>.testr.rb</code> file.</p></li>
|
487
|
-
<li><p><a class="md2man-
|
488
|
-
<li><p><a class="md2man-
|
519
|
+
<li><p><a class="md2man-reference">testr(1)</a> no longer shows command menu at startup. Press ENTER to see it.</p></li>
|
520
|
+
<li><p><a class="md2man-reference">testr(1)</a> now notifies you before absorbing overhead at startup.</p></li>
|
489
521
|
</ul>
|
490
|
-
<h3 id="
|
522
|
+
<h3 id="patch-21"><a name="patch-21" href="#patch-21" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
491
523
|
<ul>
|
492
|
-
<li><a class="md2man-
|
524
|
+
<li><a class="md2man-reference">testr(1)</a> now accepts death silently when Control-C is pressed.</li>
|
493
525
|
</ul>
|
494
|
-
<h2 id="
|
526
|
+
<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-22"><a name="patch-22" href="#patch-22" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
495
527
|
<ul>
|
496
528
|
<li>Add support Guard v0.9.0 and newer in <code>testr-herald</code>. (Jose Pablo
|
497
529
|
Barrantes)</li>
|
498
530
|
</ul>
|
499
|
-
<h3 id="
|
531
|
+
<h3 id="other-19"><a name="other-19" href="#other-19" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
500
532
|
<ul>
|
501
533
|
<li>Tighten version constraints for gem dependencies to avoid future
|
502
534
|
breakages.</li>
|
503
535
|
</ul>
|
504
|
-
<h2 id="
|
536
|
+
<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-18"><a name="minor-18" href="#minor-18" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
505
537
|
<ul>
|
506
538
|
<li>Don't consider partial test file pass as full pass.</li>
|
507
539
|
</ul>
|
508
|
-
<h3 id="
|
540
|
+
<h3 id="other-20"><a name="other-20" href="#other-20" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
509
541
|
<ul>
|
510
542
|
<li>Upgrade to binman 3 for better bundler support.</li>
|
511
543
|
</ul>
|
512
|
-
<h2 id="
|
544
|
+
<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-23"><a name="patch-23" href="#patch-23" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
513
545
|
<ul>
|
514
546
|
<li><p>Do not fail when given test file no longer exists.</p></li>
|
515
547
|
<li><p>Make xUnit <code>--name</code> option regexp case-insensitive.</p></li>
|
@@ -518,7 +550,7 @@ see <a href="https://github.com/rspec/rspec-core/issues/445">https://github.com/
|
|
518
550
|
and <a href="https://github.com/dchelimsky/rspec/issues/44">https://github.com/dchelimsky/rspec/issues/44</a></p></li>
|
519
551
|
<li><p>Ruby 187 does not have Symbol#upcase() method.</p></li>
|
520
552
|
</ul>
|
521
|
-
<h3 id="
|
553
|
+
<h3 id="other-21"><a name="other-21" href="#other-21" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
522
554
|
<ul>
|
523
555
|
<li><p>README: add another SQLite3 error to known issues.
|
524
556
|
Thanks to Luke Wendling for contributing this patch.</p></li>
|
@@ -528,9 +560,9 @@ Thanks to Luke Wendling for contributing this patch.</p></li>
|
|
528
560
|
<li><p>Better variable naming for self-documentation.</p></li>
|
529
561
|
<li><p>Upgrade to binman 2.0.0 for UNIX man pages.</p></li>
|
530
562
|
</ul>
|
531
|
-
<h2 id="
|
563
|
+
<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-19"><a name="minor-19" href="#minor-19" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
532
564
|
<ul>
|
533
|
-
<li><p>Make servers responsive to quit request (SIGTERM) from upstream.</p><p>This change lets the user quit <a class="md2man-
|
565
|
+
<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
|
534
566
|
test execution overhead (which can be a lengthy, blocking operation).</p><p>By sending a signal to the server, we don't have to wait for it to
|
535
567
|
finish processing its current command before seeing our :quit command.</p></li>
|
536
568
|
<li><p>Add embedded BinMan manual pages to bin scripts. All TestR scripts now
|
@@ -538,44 +570,44 @@ have a <code>--help</code> option which displays their UNIX manual page. Try it
|
|
538
570
|
documented in their manual pages, so you should have everything you
|
539
571
|
need to create <em>your own custom user interface to TestR</em> if you wish! :-)</p></li>
|
540
572
|
</ul>
|
541
|
-
<h3 id="
|
573
|
+
<h3 id="patch-24"><a name="patch-24" href="#patch-24" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
542
574
|
<ul>
|
543
575
|
<li>SIGCHLD does not awaken main thread in Ruby 1.9.3p0.</li>
|
544
576
|
</ul>
|
545
|
-
<h3 id="
|
577
|
+
<h3 id="other-22"><a name="other-22" href="#other-22" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
546
578
|
<ul>
|
547
|
-
<li><p>Simplify <a class="md2man-
|
579
|
+
<li><p>Simplify <a class="md2man-reference">watch(1)</a> <a class="md2man-reference">ps(1)</a> process title monitoring.</p></li>
|
548
580
|
<li><p>Testr: tell user to press ENTER after command key.</p></li>
|
549
581
|
<li><p>README: add tip on loading factory_girl factories.</p></li>
|
550
582
|
</ul>
|
551
|
-
<h2 id="
|
583
|
+
<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-25"><a name="patch-25" href="#patch-25" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
552
584
|
<ul>
|
553
585
|
<li>Forgot to migrate the <code>testr/config/rails</code> configuration helper to use the
|
554
586
|
new TestR configuration parameter names.</li>
|
555
587
|
</ul>
|
556
|
-
<h2 id="
|
588
|
+
<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-26"><a name="patch-26" href="#patch-26" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
557
589
|
<ul>
|
558
590
|
<li><p>Fix updating passed/failed test files bookkeeping. Once a test file
|
559
591
|
failed, it was (incorrectly) always considered failed, even if it passed
|
560
592
|
later on.</p></li>
|
561
593
|
<li><p>Do not requeue test files that are waiting to run.</p></li>
|
562
594
|
</ul>
|
563
|
-
<h3 id="
|
595
|
+
<h3 id="other-23"><a name="other-23" href="#other-23" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
564
596
|
<ul>
|
565
597
|
<li>Rename <code>*.md</code> files to <code>*.markdown</code> to avoid ambiguity.</li>
|
566
598
|
</ul>
|
567
|
-
<h2 id="
|
599
|
+
<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-27"><a name="patch-27" href="#patch-27" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
568
600
|
<ul>
|
569
601
|
<li><p>Use blue/red for pass/fail instead of green/red to accommodate the color
|
570
602
|
blind.</p></li>
|
571
603
|
<li><p>Incorrect test name regexp was passed down to Test::Unit. This broke
|
572
604
|
focused testing, where only changed tests in a changed test file are run.</p></li>
|
573
605
|
</ul>
|
574
|
-
<h3 id="
|
606
|
+
<h3 id="other-24"><a name="other-24" href="#other-24" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
575
607
|
<ul>
|
576
608
|
<li>Make <code>testr-master</code> wait for killed worker processes before exiting.</li>
|
577
609
|
</ul>
|
578
|
-
<h2 id="
|
610
|
+
<h2 id="version-14-0-0-2011-10-09"><a name="version-14-0-0-2011-10-09" href="#version-14-0-0-2011-10-09" class="md2man-permalink" title="permalink"></a>Version 14.0.0 (2011-10-09)</h2><h3 id="major-5"><a name="major-5" href="#major-5" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
579
611
|
<ul>
|
580
612
|
<li><p>Renamed this project and its resources from test-loop to TestR.</p></li>
|
581
613
|
<li><p>Renamed the <code>reabsorb_file_globs</code> configuration parameter to
|
@@ -592,7 +624,7 @@ focused testing, where only changed tests in a changed test file are run.</p></l
|
|
592
624
|
parameters.</p></li>
|
593
625
|
<li><p>Removed the <code>test/loop/notify</code> and <code>test-loop/coco</code> libraries.</p></li>
|
594
626
|
</ul>
|
595
|
-
<h3 id="
|
627
|
+
<h3 id="minor-20"><a name="minor-20" href="#minor-20" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
596
628
|
<ul>
|
597
629
|
<li><p>The file system is no longer polled to detect modified files. Instead, it
|
598
630
|
is monitored for file modification events in a portable and efficient
|
@@ -603,24 +635,24 @@ manner using the <a href="https://github.com/guard/guard">Guard</a> library.</p>
|
|
603
635
|
<code>before_fork_hooks</code> configuration parameters.</p></li>
|
604
636
|
<li><p>Added ability to re-run passed and failed tests in the <code>testr</code> script.</p></li>
|
605
637
|
</ul>
|
606
|
-
<h3 id="
|
638
|
+
<h3 id="other-25"><a name="other-25" href="#other-25" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
607
639
|
<ul>
|
608
640
|
<li><p>The monolithic <code>test-loop</code> script has been replaced by several smaller
|
609
641
|
ones that communicate with each other using single-line JSON messages via
|
610
642
|
their standard input & output streams. See "Architecture" in the README.</p></li>
|
611
643
|
<li><p>Now using Bundler to manage development dependencies and gem packaging.</p></li>
|
612
644
|
</ul>
|
613
|
-
<h2 id="
|
645
|
+
<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-26"><a name="other-26" href="#other-26" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
614
646
|
<ul>
|
615
647
|
<li><p>Forgot to include <code>test/loop/coco</code> preset in gem package.</p></li>
|
616
648
|
<li><p>Forgot to mention <code>test/loop/parallel_tests</code> preset in README.</p></li>
|
617
649
|
</ul>
|
618
|
-
<h2 id="
|
650
|
+
<h2 id="version-13-0-0-2011-08-24"><a name="version-13-0-0-2011-08-24" href="#version-13-0-0-2011-08-24" class="md2man-permalink" title="permalink"></a>Version 13.0.0 (2011-08-24)</h2><h3 id="major-6"><a name="major-6" href="#major-6" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
619
651
|
<ul>
|
620
652
|
<li>Pass worker sequence number as the last argument to lambda functions in
|
621
653
|
<code>Test::Loop.before_each_test</code> and <code>Test::Loop.after_each_test</code> arrays.</li>
|
622
654
|
</ul>
|
623
|
-
<h3 id="
|
655
|
+
<h3 id="minor-21"><a name="minor-21" href="#minor-21" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
624
656
|
<ul>
|
625
657
|
<li><p>In the <code>test/loop/rails</code> configuration preset:</p>
|
626
658
|
<ul>
|
@@ -634,22 +666,22 @@ gem. (Corné Verbruggen)</p></li>
|
|
634
666
|
processes like connecting to separate databases better. (Corné
|
635
667
|
Verbruggen)</p></li>
|
636
668
|
</ul>
|
637
|
-
<h3 id="
|
669
|
+
<h3 id="other-27"><a name="other-27" href="#other-27" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
638
670
|
<ul>
|
639
671
|
<li><p>README: move configuration presets above options.</p></li>
|
640
672
|
<li><p>Eliminate 1 SLOC: .rb extension used in file glob.</p></li>
|
641
673
|
<li><p>Turn off executable bit on loop.rb file mode.</p></li>
|
642
674
|
<li><p>Pass child ENV directly to exec() for atomicity.</p></li>
|
643
675
|
</ul>
|
644
|
-
<h2 id="
|
676
|
+
<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-28"><a name="patch-28" href="#patch-28" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
645
677
|
<ul>
|
646
678
|
<li>Binary data could not be stored in environment variable values.</li>
|
647
679
|
</ul>
|
648
|
-
<h3 id="
|
680
|
+
<h3 id="other-28"><a name="other-28" href="#other-28" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
649
681
|
<ul>
|
650
682
|
<li>Forgot to add Jacob Helwig to the gemspec's authors list.</li>
|
651
683
|
</ul>
|
652
|
-
<h2 id="
|
684
|
+
<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-22"><a name="minor-22" href="#minor-22" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
653
685
|
<ul>
|
654
686
|
<li><p>Add <code>Test::Loop::max_concurrent_tests</code> configuration parameter to limit
|
655
687
|
the number of test files run concurrently (default 4). Otherwise, with
|
@@ -657,13 +689,13 @@ large test suites, we could end up swamping the machine running the tests
|
|
657
689
|
by forking hundreds of test files at once. (Jacob Helwig)</p></li>
|
658
690
|
<li><p>Rails: add matcher for <code>test/factories/*_factory.rb</code>.</p></li>
|
659
691
|
</ul>
|
660
|
-
<h3 id="
|
692
|
+
<h3 id="other-29"><a name="other-29" href="#other-29" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
661
693
|
<ul>
|
662
694
|
<li><p>ENV returns a Hash with duplicate/frozen keys/values. (Brian D. Burns)</p></li>
|
663
695
|
<li><p>Use Marshal to propagate resume_files to reabsorb.</p></li>
|
664
696
|
<li><p>Store test_files in a Set instead of an Array.</p></li>
|
665
697
|
</ul>
|
666
|
-
<h2 id="
|
698
|
+
<h2 id="version-12-2-0-2011-06-01"><a name="version-12-2-0-2011-06-01" href="#version-12-2-0-2011-06-01" class="md2man-permalink" title="permalink"></a>Version 12.2.0 (2011-06-01)</h2>
|
667
699
|
<ul>
|
668
700
|
<li><p>Prevent empty test suite run in master process. (Brian D. Burns)</p></li>
|
669
701
|
<li><p>Report test execution statistics in <code>test/loop/notify</code> preset as
|
@@ -671,12 +703,12 @@ requested by Juan G. Hurtado..</p></li>
|
|
671
703
|
<li><p>Add <code>test/loop/coco</code> preset for integrating the <a href="http://lkdjiin.github.com/coco/">Coco code coverage
|
672
704
|
library</a>.</p></li>
|
673
705
|
</ul>
|
674
|
-
<h2 id="
|
706
|
+
<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-23"><a name="minor-23" href="#minor-23" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
675
707
|
<ul>
|
676
708
|
<li>Add <code>Test::Loop.delay_per_iteration</code> parameter to control the number of
|
677
709
|
seconds (or fractions thereof) to sleep in between test-loop iterations.</li>
|
678
710
|
</ul>
|
679
|
-
<h2 id="
|
711
|
+
<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-29"><a name="patch-29" href="#patch-29" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
680
712
|
<ul>
|
681
713
|
<li><p>Reabsorb overhead when user's configuration file changes. (Brian D. Burns
|
682
714
|
and Daniel Pittman)</p></li>
|
@@ -684,7 +716,7 @@ and Daniel Pittman)</p></li>
|
|
684
716
|
not necessary! <a href="https://github.com/sunaku/test-loop/issues/5">This issue</a>
|
685
717
|
was solved by upgrading to the newer 2.6.38.4-1 Linux kernel on my system.</p></li>
|
686
718
|
</ul>
|
687
|
-
<h2 id="
|
719
|
+
<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-30"><a name="patch-30" href="#patch-30" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
688
720
|
<ul>
|
689
721
|
<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
|
690
722
|
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
|
@@ -717,33 +749,33 @@ that would also stop you from doing clever things." ~Doug Gwyn</p></blockqu
|
|
717
749
|
Many thanks to Brian D. Burns and Daniel Pittman for helping solve <a href="https://github.com/sunaku/test-loop/issues/5">this
|
718
750
|
issue</a>.</p></li>
|
719
751
|
</ul>
|
720
|
-
<h2 id="
|
752
|
+
<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-31"><a name="patch-31" href="#patch-31" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
721
753
|
<ul>
|
722
754
|
<li><p>Consider DB schema dump file as overhead in Rails.</p></li>
|
723
755
|
<li><p>Do not consider test factories as overhead in Rails.</p></li>
|
724
756
|
<li><p>Run test files when test factory files change in Rails.</p></li>
|
725
757
|
</ul>
|
726
|
-
<h3 id="
|
758
|
+
<h3 id="other-30"><a name="other-30" href="#other-30" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
727
759
|
<ul>
|
728
760
|
<li><p>Detach worker from master's terminal device sooner.</p></li>
|
729
761
|
<li><p>All required signals must be present in irb check.</p></li>
|
730
|
-
<li><p>Prevent <a class="md2man-
|
731
|
-
<li><p>Retain <a class="md2man-
|
762
|
+
<li><p>Prevent <a class="md2man-reference">ps(1)</a> from truncating lines to $TERM width.</p></li>
|
763
|
+
<li><p>Retain <a class="md2man-reference">ps(1)</a> column header in watch command output.</p></li>
|
732
764
|
<li><p>Begin parameter descriptions with the noun itself.</p></li>
|
733
765
|
</ul>
|
734
|
-
<h2 id="
|
766
|
+
<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-32"><a name="patch-32" href="#patch-32" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
735
767
|
<ul>
|
736
768
|
<li><p>Restore support for Ruby 1.8.7.</p></li>
|
737
769
|
<li><p>Allow user's test execution overhead to fork.</p></li>
|
738
770
|
</ul>
|
739
|
-
<h3 id="
|
771
|
+
<h3 id="other-31"><a name="other-31" href="#other-31" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
740
772
|
<ul>
|
741
773
|
<li><p>Freeze master's ENV properly; keep resume key.</p></li>
|
742
774
|
<li><p>Remove completed test from running list sooner.</p></li>
|
743
775
|
<li><p>Add instructions to check for POSIX prerequisites.</p></li>
|
744
776
|
<li><p>Support multiple test-loop instances in watch command.</p></li>
|
745
777
|
</ul>
|
746
|
-
<h2 id="
|
778
|
+
<h2 id="version-12-0-0-2011-04-19"><a name="version-12-0-0-2011-04-19" href="#version-12-0-0-2011-04-19" class="md2man-permalink" title="permalink"></a>Version 12.0.0 (2011-04-19)</h2><h3 id="major-7"><a name="major-7" href="#major-7" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
747
779
|
<ul>
|
748
780
|
<li><p>You must now explicitly <code>require 'test/loop/rails'</code> for Rails support
|
749
781
|
because we can only <em>automatically</em> apply our Railtie (to disable class
|
@@ -752,7 +784,7 @@ your models are already loaded & cached by the Rails environment.</p></li>
|
|
752
784
|
<li><p>Your tests can no longer read from the user's terminal (master's STDIN);
|
753
785
|
instead they will read from an empty stream (the reading end of IO.popen).</p></li>
|
754
786
|
</ul>
|
755
|
-
<h3 id="
|
787
|
+
<h3 id="patch-33"><a name="patch-33" href="#patch-33" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
756
788
|
<ul>
|
757
789
|
<li><p>Replace threads with SIGCHLD for reporting test results.</p><p>This fixes deadlock errors that sometimes occurred when the user's chosen
|
758
790
|
test library tried to print something to STDOUT/STDERR (even though those
|
@@ -760,7 +792,7 @@ streams were redirected to a log file in the worker process).</p><p>Thanks to Br
|
|
760
792
|
threads to monitor workers was the culprit behind the deadlocks errors.</p></li>
|
761
793
|
<li><p>Ctrl-C did not raise Interrupt in my Rails 3 test suite.</p></li>
|
762
794
|
</ul>
|
763
|
-
<h3 id="
|
795
|
+
<h3 id="other-32"><a name="other-32" href="#other-32" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
764
796
|
<ul>
|
765
797
|
<li><p>Ensure a clean ENV when reabsorbing overhead. Environment variables set
|
766
798
|
by your test execution overhead are not propagated to subsequent
|
@@ -776,22 +808,22 @@ reabsorptions. (Brian D. Burns)</p></li>
|
|
776
808
|
<li><p>Add tip about annihilating test-loop processes.</p></li>
|
777
809
|
<li><p>Fix markdown formatting.</p></li>
|
778
810
|
</ul>
|
779
|
-
<h2 id="
|
811
|
+
<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-34"><a name="patch-34" href="#patch-34" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
780
812
|
<ul>
|
781
813
|
<li>Only attempt to define Railtie if the current Rails version supports it.</li>
|
782
814
|
</ul>
|
783
|
-
<h2 id="
|
815
|
+
<h2 id="version-11-0-0-2011-04-14"><a name="version-11-0-0-2011-04-14" href="#version-11-0-0-2011-04-14" class="md2man-permalink" title="permalink"></a>Version 11.0.0 (2011-04-14)</h2><h3 id="major-8"><a name="major-8" href="#major-8" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
784
816
|
<ul>
|
785
817
|
<li>The <code>test/loop/rails</code> preset has been internalized and is now applied
|
786
818
|
automatically if your test execution overhead includes Ruby on Rails.</li>
|
787
819
|
</ul>
|
788
|
-
<h3 id="
|
820
|
+
<h3 id="minor-24"><a name="minor-24" href="#minor-24" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
789
821
|
<ul>
|
790
822
|
<li>If you are using Rails 3, test-loop will automatically set
|
791
823
|
<code>config.cache_classes = false</code> for your test environment. (Brian D.
|
792
824
|
Burns)</li>
|
793
825
|
</ul>
|
794
|
-
<h3 id="
|
826
|
+
<h3 id="patch-35"><a name="patch-35" href="#patch-35" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
795
827
|
<ul>
|
796
828
|
<li><p>Avoid deadlock errors when printing output from Test::Unit and MiniTest.
|
797
829
|
(Brian D. Burns)</p>
|
@@ -801,7 +833,7 @@ Burns)</li>
|
|
801
833
|
Do not treat it as a failure by printing the log file.</p></li>
|
802
834
|
<li><p>Ignore SIGINT in workers; only master must honor it.</p></li>
|
803
835
|
</ul>
|
804
|
-
<h2 id="
|
836
|
+
<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-36"><a name="patch-36" href="#patch-36" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
805
837
|
<ul>
|
806
838
|
<li><p>Workers must ignore SIGTSTP, otherwise master waits forever before
|
807
839
|
exiting.</p></li>
|
@@ -810,36 +842,36 @@ unregister the trap handlers inherited from the master process.</p></li>
|
|
810
842
|
<li><p>Prevent uncaught throw error on subsequent Ctrl-C.</p></li>
|
811
843
|
<li><p>Simpler solution for terminating loop upon Ctrl-C.</p></li>
|
812
844
|
</ul>
|
813
|
-
<h2 id="
|
845
|
+
<h2 id="version-10-0-0-2011-04-06"><a name="version-10-0-0-2011-04-06" href="#version-10-0-0-2011-04-06" class="md2man-permalink" title="permalink"></a>Version 10.0.0 (2011-04-06)</h2><h3 id="major-9"><a name="major-9" href="#major-9" class="md2man-permalink" title="permalink"></a>Major:</h3>
|
814
846
|
<ul>
|
815
847
|
<li>The <code>Test::Loop.before_each_test</code> and <code>Test::Loop.after_each_test</code>
|
816
848
|
parameters are arrays now.</li>
|
817
849
|
</ul>
|
818
|
-
<h2 id="
|
850
|
+
<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-25"><a name="minor-25" href="#minor-25" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
819
851
|
<ul>
|
820
852
|
<li><p>Allow lambda functions in <code>Test::Loop.test_file_matchers</code> to return <code>nil</code>
|
821
853
|
so that you can exclude certain tests from being executed. (Brian D.
|
822
854
|
Burns)</p></li>
|
823
|
-
<li><p>Prefix worker process title with "test-loop" for easier <a class="md2man-
|
855
|
+
<li><p>Prefix worker process title with "test-loop" for easier <a class="md2man-reference">ps(1)</a>
|
824
856
|
searchability. The monitoring command in the README is now simplified to
|
825
857
|
the following:</p>
|
826
858
|
<pre><code>watch 'ps xf | grep test-loop | sed 1,3d'
|
827
859
|
</code></pre></li>
|
828
860
|
</ul>
|
829
|
-
<h3 id="
|
861
|
+
<h3 id="patch-37"><a name="patch-37" href="#patch-37" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
830
862
|
<ul>
|
831
863
|
<li>Skip <code>at_exit()</code> when exiting master process. This prevents an empty test
|
832
864
|
from being run when exiting the loop after having processed a test/spec
|
833
865
|
helper that loads the Test::Unit library. (Brian D. Burns)</li>
|
834
866
|
</ul>
|
835
|
-
<h3 id="
|
867
|
+
<h3 id="other-33"><a name="other-33" href="#other-33" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
836
868
|
<ul>
|
837
869
|
<li><p>Use throw/catch to break loop instead of raising SystemExit exception.</p></li>
|
838
870
|
<li><p>Trap SIGTERM with IGNORE/DEFAULT instead of using a closure in master.</p></li>
|
839
871
|
<li><p>Unregister master's custom signal handlers inside worker processes.</p></li>
|
840
872
|
<li><p>Separate configuration parameters into subsections in README.</p></li>
|
841
873
|
</ul>
|
842
|
-
<h2 id="
|
874
|
+
<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-26"><a name="minor-26" href="#minor-26" class="md2man-permalink" title="permalink"></a>Minor:</h3>
|
843
875
|
<ul>
|
844
876
|
<li><p>Resume currently running tests--as well as those currently needing to be
|
845
877
|
run--after reabsorbing test execution overhead. (Brian D. Burns)</p></li>
|
@@ -852,7 +884,7 @@ system resources.</p></li>
|
|
852
884
|
<li><p>Use ANSI clear line command to erase control-key combinations outputted by
|
853
885
|
shells such as BASH and ZSH in test-loop's output. (Brian D. Burns)</p></li>
|
854
886
|
</ul>
|
855
|
-
<h3 id="
|
887
|
+
<h3 id="patch-38"><a name="patch-38" href="#patch-38" class="md2man-permalink" title="permalink"></a>Patch:</h3>
|
856
888
|
<ul>
|
857
889
|
<li><p><code>@last_ran_at</code> was being set during every iteration of the loop. This is
|
858
890
|
problematic when Ruby's <code>Time.now</code> is more precise than your filesystem's
|
@@ -864,29 +896,29 @@ running waitall(), instead of sending SIGKILL to the entire process group.
|
|
864
896
|
As a result, test-loop no longer exits with a non-zero status upon SIGINT.</p></li>
|
865
897
|
<li><p>Remove 'ansi' gem dependency. (Brian D. Burns)</p></li>
|
866
898
|
</ul>
|
867
|
-
<h3 id="
|
899
|
+
<h3 id="other-34"><a name="other-34" href="#other-34" class="md2man-permalink" title="permalink"></a>Other:</h3>
|
868
900
|
<ul>
|
869
901
|
<li><p>Add tip on deleting logs for passing tests. (Brian D. Burns)</p></li>
|
870
|
-
<li><p>Add tip on monitoring test processes with <a class="md2man-
|
902
|
+
<li><p>Add tip on monitoring test processes with <a class="md2man-reference">watch(1)</a> in README.</p></li>
|
871
903
|
</ul>
|
872
|
-
<h2 id="
|
904
|
+
<h2 id="version-9-2-0-2011-03-28"><a name="version-9-2-0-2011-03-28" href="#version-9-2-0-2011-03-28" class="md2man-permalink" title="permalink"></a>Version 9.2.0 (2011-03-28)</h2>
|
873
905
|
<ul>
|
874
906
|
<li><p>Extract Rails-specific configuration to 'test/loop/rails' sublibrary.</p></li>
|
875
907
|
<li><p>Add 'test/loop/notify' sublibrary for OSD notifications on failures.</p></li>
|
876
908
|
</ul>
|
877
|
-
<h2 id="
|
909
|
+
<h2 id="version-9-1-1-2011-03-15"><a name="version-9-1-1-2011-03-15" href="#version-9-1-1-2011-03-15" class="md2man-permalink" title="permalink"></a>Version 9.1.1 (2011-03-15)</h2>
|
878
910
|
<ul>
|
879
911
|
<li><p>$0 does not work from RubyGems wrapper executable.
|
880
912
|
Thanks to Brian D. Burns for reporting this issue.</p></li>
|
881
913
|
<li><p>Add information about sqlite3 errors & workaround in README.</p></li>
|
882
914
|
</ul>
|
883
|
-
<h2 id="
|
915
|
+
<h2 id="version-9-1-0-2011-02-23"><a name="version-9-1-0-2011-02-23" href="#version-9-1-0-2011-02-23" class="md2man-permalink" title="permalink"></a>Version 9.1.0 (2011-02-23)</h2>
|
884
916
|
<ul>
|
885
917
|
<li><p>Print the status of completed tests in ANSI color.</p></li>
|
886
918
|
<li><p>Print the failure log of failing tests to STDERR.</p></li>
|
887
919
|
<li><p><code>$?</code> is not defined when Errno::ECHILD is raised.</p></li>
|
888
920
|
</ul>
|
889
|
-
<h2 id="
|
921
|
+
<h2 id="version-9-0-1-2011-02-18"><a name="version-9-0-1-2011-02-18" href="#version-9-0-1-2011-02-18" class="md2man-permalink" title="permalink"></a>Version 9.0.1 (2011-02-18)</h2>
|
890
922
|
<ul>
|
891
923
|
<li><p>Shield normal output from control-key combos printed into the terminal.</p></li>
|
892
924
|
<li><p>Do not print worker PID in status messages because every test file has
|
@@ -895,12 +927,12 @@ exactly one worker anyway.</p></li>
|
|
895
927
|
<li><p>Do not reabsorb overhead when the configuration file changes.</p></li>
|
896
928
|
<li><p>Add <code>after_each_test</code> example for failure-only notifications.</p></li>
|
897
929
|
</ul>
|
898
|
-
<h2 id="
|
930
|
+
<h2 id="version-9-0-0-2011-02-15"><a name="version-9-0-0-2011-02-15" href="#version-9-0-0-2011-02-15" class="md2man-permalink" title="permalink"></a>Version 9.0.0 (2011-02-15)</h2>
|
899
931
|
<ul>
|
900
932
|
<li><p>Remove SIGUSR1 for killing worker processes.</p></li>
|
901
933
|
<li><p>Handle Ctrl-Z signal from the very beginning.</p></li>
|
902
934
|
</ul>
|
903
|
-
<h2 id="
|
935
|
+
<h2 id="version-8-0-0-2011-02-12"><a name="version-8-0-0-2011-02-12" href="#version-8-0-0-2011-02-12" class="md2man-permalink" title="permalink"></a>Version 8.0.0 (2011-02-12)</h2>
|
904
936
|
<ul>
|
905
937
|
<li><p>Move configuration into <code>Test::Loop</code> object itself.</p></li>
|
906
938
|
<li><p>Allow loading <code>bin/test-loop</code> into IRB for testing.</p></li>
|
@@ -911,12 +943,12 @@ exactly one worker anyway.</p></li>
|
|
911
943
|
<li><p>Accept > 80 character lines in some cases.</p></li>
|
912
944
|
<li><p>Freeze more constant values against modification.</p></li>
|
913
945
|
</ul>
|
914
|
-
<h2 id="
|
946
|
+
<h2 id="version-7-0-1-2011-02-10"><a name="version-7-0-1-2011-02-10" href="#version-7-0-1-2011-02-10" class="md2man-permalink" title="permalink"></a>Version 7.0.1 (2011-02-10)</h2>
|
915
947
|
<ul>
|
916
948
|
<li><p>Fix minitest deadlock issues with I/O redirection.</p></li>
|
917
949
|
<li><p>Do not signal to restart loop when overhead changes.</p></li>
|
918
950
|
</ul>
|
919
|
-
<h2 id="
|
951
|
+
<h2 id="version-7-0-0-2011-02-10"><a name="version-7-0-0-2011-02-10" href="#version-7-0-0-2011-02-10" class="md2man-permalink" title="permalink"></a>Version 7.0.0 (2011-02-10)</h2>
|
920
952
|
<ul>
|
921
953
|
<li><p>Switch from shell-script style to modular Ruby style in the source code.
|
922
954
|
This yields more lines of code, but the result is much easier to read.</p>
|
@@ -939,7 +971,7 @@ This yields more lines of code, but the result is much easier to read.</p>
|
|
939
971
|
<li><p>Send the SIGUSR1 signal to terminate workers and their subprocesses.</p></li>
|
940
972
|
<li><p>Break long lines at 80 characters in the source code.</p></li>
|
941
973
|
</ul>
|
942
|
-
<h2 id="
|
974
|
+
<h2 id="version-6-0-0-2011-02-09"><a name="version-6-0-0-2011-02-09" href="#version-6-0-0-2011-02-09" class="md2man-permalink" title="permalink"></a>Version 6.0.0 (2011-02-09)</h2>
|
943
975
|
<ul>
|
944
976
|
<li><p>Only consider <code>{test,spec}_helper.rb</code> as overhead, not all <code>*_helper.rb</code>.</p></li>
|
945
977
|
<li><p>Give the user freedom to inspect and change the default configuration by
|
@@ -951,14 +983,14 @@ file.</p></li>
|
|
951
983
|
<li><p>Add note about disabling class caching in Rails test environment.</p></li>
|
952
984
|
<li><p>Add better explanation for the <code>test_file_matchers</code> example.</p></li>
|
953
985
|
</ul>
|
954
|
-
<h2 id="
|
986
|
+
<h2 id="version-5-0-3-2011-01-25"><a name="version-5-0-3-2011-01-25" href="#version-5-0-3-2011-01-25" class="md2man-permalink" title="permalink"></a>Version 5.0.3 (2011-01-25)</h2>
|
955
987
|
<ul>
|
956
988
|
<li><p>Use "diff/lcs" library instead of "diff" for RSpec compatibility.</p><p>Thanks to millisami for reporting this bug:
|
957
989
|
<a href="https://github.com/sunaku/test-loop/issues/3">https://github.com/sunaku/test-loop/issues/3</a></p></li>
|
958
990
|
<li><p>Terminate worker processes when user presses Control-C.</p></li>
|
959
991
|
<li><p>Reabsorb when bundler is run, not when Gemfile changes.</p></li>
|
960
992
|
</ul>
|
961
|
-
<h2 id="
|
993
|
+
<h2 id="version-5-0-2-2011-01-19"><a name="version-5-0-2-2011-01-19" href="#version-5-0-2-2011-01-19" class="md2man-permalink" title="permalink"></a>Version 5.0.2 (2011-01-19)</h2>
|
962
994
|
<ul>
|
963
995
|
<li><p>Support string interpolations that yield empty strings in test names.</p></li>
|
964
996
|
<li><p>Accept extra characters before test name in test definition:</p>
|
@@ -968,14 +1000,14 @@ file.</p></li>
|
|
968
1000
|
</ul></li>
|
969
1001
|
<li><p>Mention that diff gem is necessary for manual git clone installation.</p></li>
|
970
1002
|
</ul>
|
971
|
-
<h2 id="
|
1003
|
+
<h2 id="version-5-0-1-2011-01-18"><a name="version-5-0-1-2011-01-18" href="#version-5-0-1-2011-01-18" class="md2man-permalink" title="permalink"></a>Version 5.0.1 (2011-01-18)</h2>
|
972
1004
|
<ul>
|
973
1005
|
<li><p>Sanitize string interpolation in parsed test names.</p></li>
|
974
1006
|
<li><p>Remove useless use of #map; result is not reused.</p></li>
|
975
1007
|
<li><p>Mention parallelism and revise the introduction.</p></li>
|
976
1008
|
<li><p>DRY the mentioning of .test-loop file in README.</p></li>
|
977
1009
|
</ul>
|
978
|
-
<h2 id="
|
1010
|
+
<h2 id="version-5-0-0-2011-01-17"><a name="version-5-0-0-2011-01-17" href="#version-5-0-0-2011-01-17" class="md2man-permalink" title="permalink"></a>Version 5.0.0 (2011-01-17)</h2>
|
979
1011
|
<ul>
|
980
1012
|
<li><p>The configuration file must now yield a Ruby
|
981
1013
|
hash instead of polluting the global Object
|
@@ -983,7 +1015,7 @@ private environment with instance variables.</p></li>
|
|
983
1015
|
<li><p>Shortened the <code>:source_file_glob_to_test_file_mapping</code>
|
984
1016
|
configuration parameter name to <code>:test_file_matchers</code>.</p></li>
|
985
1017
|
</ul>
|
986
|
-
<h2 id="
|
1018
|
+
<h2 id="version-4-0-1-2011-01-14"><a name="version-4-0-1-2011-01-14" href="#version-4-0-1-2011-01-14" class="md2man-permalink" title="permalink"></a>Version 4.0.1 (2011-01-14)</h2>
|
987
1019
|
<ul>
|
988
1020
|
<li><p>Print how much time it took to run all tests.</p></li>
|
989
1021
|
<li><p>Do not print test file before loading because it
|
@@ -993,7 +1025,7 @@ is hard to follow parallel test execution anyway.</p></li>
|
|
993
1025
|
<li><p>Use long options when passing test names in ARGV.</p></li>
|
994
1026
|
<li><p>Only prepend lib/, test/, and spec/ to $LOAD_PATH.</p></li>
|
995
1027
|
</ul>
|
996
|
-
<h2 id="
|
1028
|
+
<h2 id="version-4-0-0-2011-01-13"><a name="version-4-0-0-2011-01-13" href="#version-4-0-0-2011-01-13" class="md2man-permalink" title="permalink"></a>Version 4.0.0 (2011-01-13)</h2>
|
997
1029
|
<ul>
|
998
1030
|
<li><p>Only run changed tests inside changed test files.</p></li>
|
999
1031
|
<li><p>Run tests in parallel: one worker per test file.</p></li>
|
@@ -1002,35 +1034,35 @@ is hard to follow parallel test execution anyway.</p></li>
|
|
1002
1034
|
and change its function signature.</p></li>
|
1003
1035
|
<li><p>Clean up implementation and improve documentation.</p></li>
|
1004
1036
|
</ul>
|
1005
|
-
<h2 id="
|
1037
|
+
<h2 id="version-3-0-2-2011-01-11"><a name="version-3-0-2-2011-01-11" href="#version-3-0-2-2011-01-11" class="md2man-permalink" title="permalink"></a>Version 3.0.2 (2011-01-11)</h2>
|
1006
1038
|
<ul>
|
1007
1039
|
<li><p>Reabsorb overhead upon Gemfile changes (Rails 3).</p></li>
|
1008
1040
|
<li><p>Try to recover from all kinds of exceptions.</p></li>
|
1009
1041
|
</ul>
|
1010
|
-
<h2 id="
|
1042
|
+
<h2 id="version-3-0-1-2011-01-05"><a name="version-3-0-1-2011-01-05" href="#version-3-0-1-2011-01-05" class="md2man-permalink" title="permalink"></a>Version 3.0.1 (2011-01-05)</h2>
|
1011
1043
|
<ul>
|
1012
1044
|
<li><p>Be resilient to $0 and ARGV being changed by tests.</p></li>
|
1013
1045
|
<li><p>Reduce pollution by making <code>notify()</code> into lambda.</p></li>
|
1014
1046
|
<li><p>Beautify markdown formatting and revise the README.</p></li>
|
1015
1047
|
</ul>
|
1016
|
-
<h2 id="
|
1048
|
+
<h2 id="version-3-0-0-2011-01-04"><a name="version-3-0-0-2011-01-04" href="#version-3-0-0-2011-01-04" class="md2man-permalink" title="permalink"></a>Version 3.0.0 (2011-01-04)</h2>
|
1017
1049
|
<ul>
|
1018
1050
|
<li><p>Replace Rake pathmap usage with lambda functions
|
1019
1051
|
in the <code>@source_file_to_test_file_mapping</code> hash.</p></li>
|
1020
1052
|
<li><p>Be resilient to syntax errors from loaded files.</p></li>
|
1021
1053
|
</ul>
|
1022
|
-
<h2 id="
|
1054
|
+
<h2 id="version-2-0-2-2011-01-02"><a name="version-2-0-2-2011-01-02" href="#version-2-0-2-2011-01-02" class="md2man-permalink" title="permalink"></a>Version 2.0.2 (2011-01-02)</h2>
|
1023
1055
|
<ul>
|
1024
1056
|
<li><p>Do not print stack trace when Control-C pressed.</p></li>
|
1025
1057
|
<li><p>Reduce the amount of notifications shown to user.</p></li>
|
1026
1058
|
</ul>
|
1027
|
-
<h2 id="
|
1059
|
+
<h2 id="version-2-0-1-2011-01-01"><a name="version-2-0-1-2011-01-01" href="#version-2-0-1-2011-01-01" class="md2man-permalink" title="permalink"></a>Version 2.0.1 (2011-01-01)</h2>
|
1028
1060
|
<ul>
|
1029
1061
|
<li><p>Fix syntax error caused by a dangling comma. Thanks
|
1030
1062
|
to darthdeus (Jakub Arnold) for reporting <a href="https://github.com/sunaku/test-loop/issues#issue/1">this bug</a>.</p></li>
|
1031
1063
|
<li><p>Notify user before reabsorbing overhead.</p></li>
|
1032
1064
|
</ul>
|
1033
|
-
<h2 id="
|
1065
|
+
<h2 id="version-2-0-0-2010-12-31"><a name="version-2-0-0-2010-12-31" href="#version-2-0-0-2010-12-31" class="md2man-permalink" title="permalink"></a>Version 2.0.0 (2010-12-31)</h2>
|
1034
1066
|
<ul>
|
1035
1067
|
<li><p>Add support for loading configuration file, which
|
1036
1068
|
allows you to define additional test file globs
|
@@ -1040,39 +1072,39 @@ via the <code>@after_test_execution</code> hook in the configuration file.</p></
|
|
1040
1072
|
<li><p>Before running tests, print out their file paths.</p></li>
|
1041
1073
|
<li><p>Automatically retry when overhead absorption fails.</p></li>
|
1042
1074
|
</ul>
|
1043
|
-
<h2 id="
|
1075
|
+
<h2 id="version-1-2-0-2010-11-23"><a name="version-1-2-0-2010-11-23" href="#version-1-2-0-2010-11-23" class="md2man-permalink" title="permalink"></a>Version 1.2.0 (2010-11-23)</h2>
|
1044
1076
|
<ul>
|
1045
1077
|
<li><p>Notify user when absorbing overhead initially.</p></li>
|
1046
|
-
<li><p>DRY up the repetition of <a class="md2man-
|
1078
|
+
<li><p>DRY up the repetition of <a class="md2man-reference">Time.at(0)</a> calculation.</p></li>
|
1047
1079
|
</ul>
|
1048
|
-
<h2 id="
|
1080
|
+
<h2 id="version-1-1-0-2010-11-22"><a name="version-1-1-0-2010-11-22" href="#version-1-1-0-2010-11-22" class="md2man-permalink" title="permalink"></a>Version 1.1.0 (2010-11-22)</h2>
|
1049
1081
|
<ul>
|
1050
1082
|
<li>All <code>*_{test,spec}_helper.rb</code> files inside <code>test/</code> and
|
1051
1083
|
<code>spec/</code> are now considered to be absorable overhead.</li>
|
1052
1084
|
</ul>
|
1053
|
-
<h2 id="
|
1085
|
+
<h2 id="version-1-0-2-2010-10-16"><a name="version-1-0-2-2010-10-16" href="#version-1-0-2-2010-10-16" class="md2man-permalink" title="permalink"></a>Version 1.0.2 (2010-10-16)</h2>
|
1054
1086
|
<ul>
|
1055
1087
|
<li>All *<em>helper.rb files inside test/ and spec/
|
1056
1088
|
were absorbed as overhead instead of just
|
1057
1089
|
the test</em>helper.rb and spec_helper.rb files.</li>
|
1058
1090
|
</ul>
|
1059
|
-
<h2 id="
|
1091
|
+
<h2 id="version-1-0-1-2010-10-16"><a name="version-1-0-1-2010-10-16" href="#version-1-0-1-2010-10-16" class="md2man-permalink" title="permalink"></a>Version 1.0.1 (2010-10-16)</h2>
|
1060
1092
|
<ul>
|
1061
1093
|
<li>Ensure that $LOAD_PATH reflects <code>ruby -Ilib:test</code>.</li>
|
1062
1094
|
</ul>
|
1063
|
-
<h2 id="
|
1095
|
+
<h2 id="version-1-0-0-2010-10-15"><a name="version-1-0-0-2010-10-15" href="#version-1-0-0-2010-10-15" class="md2man-permalink" title="permalink"></a>Version 1.0.0 (2010-10-15)</h2>
|
1064
1096
|
<ul>
|
1065
1097
|
<li><p>Remove ability to install as a Rails plugin.</p></li>
|
1066
1098
|
<li><p>Move logic from <code>lib/</code> into <code>bin/</code> to keep it simple.</p></li>
|
1067
1099
|
<li><p>Rely on $LOAD_PATH in <code>bin/</code> instead of relative paths.</p></li>
|
1068
1100
|
<li><p>Display status messages for better user interactivity.</p></li>
|
1069
1101
|
</ul>
|
1070
|
-
<h2 id="
|
1102
|
+
<h2 id="version-0-0-2-2010-10-11"><a name="version-0-0-2-2010-10-11" href="#version-0-0-2-2010-10-11" class="md2man-permalink" title="permalink"></a>Version 0.0.2 (2010-10-11)</h2>
|
1071
1103
|
<ul>
|
1072
1104
|
<li><p>Forgot to register <code>bin/test-loop</code> as gem executable.</p></li>
|
1073
1105
|
<li><p>Revise Usage section into Invocation and Operation.</p></li>
|
1074
1106
|
</ul>
|
1075
|
-
<h2 id="
|
1107
|
+
<h2 id="version-0-0-1-2010-10-10"><a name="version-0-0-1-2010-10-10" href="#version-0-0-1-2010-10-10" class="md2man-permalink" title="permalink"></a>Version 0.0.1 (2010-10-10)</h2>
|
1076
1108
|
<ul>
|
1077
1109
|
<li>First public release. Enjoy!</li>
|
1078
1110
|
</ul>
|