tork 18.1.0 → 18.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.markdown CHANGED
@@ -1,4 +1,23 @@
1
- ## Version 18.1.0 (2012-02-13)
1
+ ## Version 18.2.0 (2012-03-27)
2
+
3
+ Minor:
4
+
5
+ * Emit warnings when commands cannot be performed. This improves the user
6
+ experience by giving them immediate feedback. For example, if you issue
7
+ the "rerun_failed_tests" command and no tests have failed yet, you will
8
+ now see a warning message that explains the situation. Thanks to
9
+ NagaChaitanya Vellanki (@chaitanyav) for suggesting this change.
10
+
11
+ Patch:
12
+
13
+ * GH-32: Restore support for Selenium and Capybara by replacing the global
14
+ SIGCHLD handler in tork-master(1) with individual threads, one per forked
15
+ worker process. Thanks to Bjørn Trondsen (@Sharagoz) for reporting this
16
+ issue and verifying the fix.
17
+
18
+ * README: Recommend a newer fork of the "memory_test_fix" Rails plugin.
19
+
20
+ ## Version 18.1.0 (2012-02-26)
2
21
 
3
22
  Minor:
4
23
 
data/LICENSE CHANGED
@@ -15,6 +15,8 @@ Thanks to 2012 Mark Hayes <mark@deployfx.com>
15
15
  Thanks to 2012 Gumaro Melendez <cloudernew@gmail.com>
16
16
  Thanks to 2012 Scott Radcliff <radcliffsc@gmail.com>
17
17
  Thanks to 2012 David Burrows <david@imergent.com>
18
+ Thanks to 2012 Bjørn Trondsen <contact@sharagoz.com>
19
+ Thanks to 2012 NagaChaitanya Vellanki <me@chaitanyavellanki.com>
18
20
 
19
21
  Permission to use, copy, modify, and/or distribute this software for any
20
22
  purpose with or without fee is hereby granted, provided that the above
data/README.markdown CHANGED
@@ -408,7 +408,7 @@ For example, to see some real values:
408
408
  Released under the ISC license. See the LICENSE file for details.
409
409
 
410
410
  [factory_girl]: https://github.com/thoughtbot/factory_girl
411
- [memory_test_fix]: https://github.com/mvz/memory_test_fix
411
+ [memory_test_fix]: https://github.com/stepahn/memory_test_fix
412
412
  [parallel_tests]: https://github.com/grosser/parallel_tests
413
413
  [Ruby on Rails]: http://rubyonrails.org
414
414
  [Cucumber]: https://cukes.info
data/bin/tork CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK 1 2012-02-26 18.1.0
4
+ # TORK 1 2012-03-27 18.2.0
5
5
 
6
6
  ## NAME
7
7
 
data/bin/tork-driver CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-DRIVER 1 2012-02-26 18.1.0
4
+ # TORK-DRIVER 1 2012-03-27 18.2.0
5
5
 
6
6
  ## NAME
7
7
 
data/bin/tork-engine CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-ENGINE 1 2012-02-26 18.1.0
4
+ # TORK-ENGINE 1 2012-03-27 18.2.0
5
5
 
6
6
  ## NAME
7
7
 
data/bin/tork-herald CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-HERALD 1 2012-02-26 18.1.0
4
+ # TORK-HERALD 1 2012-03-27 18.2.0
5
5
 
6
6
  ## NAME
7
7
 
data/bin/tork-master CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin =======================================================================
3
3
 
4
- # TORK-MASTER 1 2012-02-26 18.1.0
4
+ # TORK-MASTER 1 2012-03-27 18.2.0
5
5
 
6
6
  ## NAME
7
7
 
data/lib/tork/driver.rb CHANGED
@@ -44,7 +44,12 @@ class Driver < Engine
44
44
  end
45
45
 
46
46
  def run_all_test_files
47
- run_test_files Dir[*Config.all_test_file_globs]
47
+ all_test_files = Dir[*Config.all_test_file_globs]
48
+ if all_test_files.empty?
49
+ warn "#{$0}: There are no test files to run."
50
+ else
51
+ run_test_files all_test_files
52
+ end
48
53
  end
49
54
 
50
55
  def reabsorb_overhead_files
data/lib/tork/engine.rb CHANGED
@@ -37,16 +37,28 @@ class Engine < Server
37
37
  end
38
38
 
39
39
  def stop_running_test_files
40
- @master.send [:stop]
41
- @running_test_files.clear
40
+ if @running_test_files.empty?
41
+ warn "#{$0}: There are no running test files to stop."
42
+ else
43
+ @master.send [:stop]
44
+ @running_test_files.clear
45
+ end
42
46
  end
43
47
 
44
48
  def rerun_passed_test_files
45
- run_test_files @passed_test_files
49
+ if @passed_test_files.empty?
50
+ warn "#{$0}: There are no passed test files to re-run."
51
+ else
52
+ run_test_files @passed_test_files
53
+ end
46
54
  end
47
55
 
48
56
  def rerun_failed_test_files
49
- run_test_files @failed_test_files
57
+ if @failed_test_files.empty?
58
+ warn "#{$0}: There are no failed test files to re-run."
59
+ else
60
+ run_test_files @failed_test_files
61
+ end
50
62
  end
51
63
 
52
64
  protected
data/lib/tork/master.rb CHANGED
@@ -9,24 +9,6 @@ class Master < Server
9
9
 
10
10
  @worker_number_pool = (0 ... Config.max_forked_workers).to_a
11
11
  @command_by_worker_pid = {}
12
-
13
- # process exited child processes and report finished workers to client
14
- trap :SIGCHLD do
15
- begin
16
- while wait2_array = Process.wait2(-1, Process::WNOHANG)
17
- child_pid, child_status = wait2_array
18
- if command = @command_by_worker_pid.delete(child_pid)
19
- @worker_number_pool.push command.last
20
- command[0] = if child_status.success? then :pass else :fail end
21
- @client.send command.push(child_status.to_i, child_status.inspect)
22
- else
23
- warn "tork-master: unknown child exited: #{wait2_array.inspect}"
24
- end
25
- end
26
- rescue SystemCallError
27
- # raised by wait2() when there are currently no child processes
28
- end
29
- end
30
12
  end
31
13
 
32
14
  def load paths, files
@@ -81,6 +63,15 @@ class Master < Server
81
63
 
82
64
  @command_by_worker_pid[worker_pid] = @command.push(log_file, worker_number)
83
65
  @client.send @command
66
+
67
+ # wait for the worker to finish and report its status to the client
68
+ Thread.new do
69
+ worker_status = Process.wait2(worker_pid).last
70
+ command = @command_by_worker_pid.delete(worker_pid)
71
+ @worker_number_pool.push command.last
72
+ command[0] = if worker_status.success? then :pass else :fail end
73
+ @client.send command.push(worker_status.to_i, worker_status.inspect)
74
+ end
84
75
  end
85
76
 
86
77
  def stop
data/lib/tork/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tork
2
- VERSION = "18.1.0"
2
+ VERSION = "18.2.0"
3
3
  end
@@ -1,4 +1,4 @@
1
- .TH TORK\-DRIVER 1 2012\-02\-26 18.1.0
1
+ .TH TORK\-DRIVER 1 2012\-03\-27 18.2.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-driver \- drives
@@ -1,4 +1,4 @@
1
- .TH TORK\-ENGINE 1 2012\-02\-26 18.1.0
1
+ .TH TORK\-ENGINE 1 2012\-03\-27 18.2.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-engine \- wraps
@@ -1,4 +1,4 @@
1
- .TH TORK\-HERALD 1 2012\-02\-26 18.1.0
1
+ .TH TORK\-HERALD 1 2012\-03\-27 18.2.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-herald \- reports modified files
@@ -1,4 +1,4 @@
1
- .TH TORK\-MASTER 1 2012\-02\-26 18.1.0
1
+ .TH TORK\-MASTER 1 2012\-03\-27 18.2.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork\-master \- absorbs overhead and runs tests
data/man/man1/tork.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH TORK 1 2012\-02\-26 18.1.0
1
+ .TH TORK 1 2012\-03\-27 18.2.0
2
2
  .SH NAME
3
3
  .PP
4
4
  tork \- Continuous testing tool for Ruby
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tork
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.1.0
4
+ version: 18.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-02-26 00:00:00.000000000 Z
13
+ date: 2012-03-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: binman
17
- requirement: &19106960 !ruby/object:Gem::Requirement
17
+ requirement: &19368900 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '3'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *19106960
25
+ version_requirements: *19368900
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: json
28
- requirement: &19106080 !ruby/object:Gem::Requirement
28
+ requirement: &19454480 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -36,10 +36,10 @@ dependencies:
36
36
  version: '2'
37
37
  type: :runtime
38
38
  prerelease: false
39
- version_requirements: *19106080
39
+ version_requirements: *19454480
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: guard
42
- requirement: &19104800 !ruby/object:Gem::Requirement
42
+ requirement: &19538720 !ruby/object:Gem::Requirement
43
43
  none: false
44
44
  requirements:
45
45
  - - ~>
@@ -47,10 +47,10 @@ dependencies:
47
47
  version: '1'
48
48
  type: :runtime
49
49
  prerelease: false
50
- version_requirements: *19104800
50
+ version_requirements: *19538720
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: diff-lcs
53
- requirement: &19103360 !ruby/object:Gem::Requirement
53
+ requirement: &19538220 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
56
  - - ! '>='
@@ -61,10 +61,10 @@ dependencies:
61
61
  version: '2'
62
62
  type: :runtime
63
63
  prerelease: false
64
- version_requirements: *19103360
64
+ version_requirements: *19538220
65
65
  - !ruby/object:Gem::Dependency
66
66
  name: md2man
67
- requirement: &19101600 !ruby/object:Gem::Requirement
67
+ requirement: &19537320 !ruby/object:Gem::Requirement
68
68
  none: false
69
69
  requirements:
70
70
  - - ~>
@@ -72,10 +72,10 @@ dependencies:
72
72
  version: '1'
73
73
  type: :development
74
74
  prerelease: false
75
- version_requirements: *19101600
75
+ version_requirements: *19537320
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: rake
78
- requirement: &19100640 !ruby/object:Gem::Requirement
78
+ requirement: &19536620 !ruby/object:Gem::Requirement
79
79
  none: false
80
80
  requirements:
81
81
  - - ! '>='
@@ -86,7 +86,7 @@ dependencies:
86
86
  version: '1'
87
87
  type: :development
88
88
  prerelease: false
89
- version_requirements: *19100640
89
+ version_requirements: *19536620
90
90
  description: Runs your tests as they change, in parallel.
91
91
  email:
92
92
  - sunaku@gmail.com
@@ -146,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  segments:
148
148
  - 0
149
- hash: -120880762580593238
149
+ hash: 2543701647607658307
150
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  none: false
152
152
  requirements:
@@ -155,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
155
  version: '0'
156
156
  segments:
157
157
  - 0
158
- hash: -120880762580593238
158
+ hash: 2543701647607658307
159
159
  requirements: []
160
160
  rubyforge_project:
161
161
  rubygems_version: 1.8.11