hydra 0.23.3 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/task_test.rb ADDED
@@ -0,0 +1,21 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper')
2
+ require 'hydra/tasks'
3
+ require 'rake'
4
+
5
+ class TaskTest < Test::Unit::TestCase
6
+ context "a task" do
7
+ should "execute the command in a remote machine" do
8
+
9
+ File.delete( "/tmp/new_file" ) if File.exists? "/tmp/new_file"
10
+
11
+ Hydra::RemoteTask.new('cat:text_file', 'touch new_file') do |t|
12
+ t.config = "test/fixtures/task_test_config.yml"
13
+ end
14
+
15
+ Rake.application['hydra:remote:cat:text_file'].invoke
16
+
17
+ assert( File.exists? "/tmp/new_file" )
18
+
19
+ end
20
+ end
21
+ end
data/test/test_helper.rb CHANGED
@@ -4,6 +4,7 @@ gem 'shoulda', '2.10.3'
4
4
  gem 'rspec', '2.0.0.beta.19'
5
5
  require 'shoulda'
6
6
  require 'tmpdir'
7
+ require "stringio"
7
8
 
8
9
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
10
  $LOAD_PATH.unshift(File.dirname(__FILE__))
@@ -56,6 +57,38 @@ class Test::Unit::TestCase
56
57
  def conflicting_test_file
57
58
  File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', 'conflicting.rb'))
58
59
  end
60
+
61
+ def remote_dir_path
62
+ File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
63
+ end
64
+
65
+ def hydra_worker_init_file
66
+ File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', 'hydra_worker_init.rb'))
67
+ end
68
+
69
+ def capture_stderr
70
+ # The output stream must be an IO-like object. In this case we capture it in
71
+ # an in-memory IO object so we can return the string value. You can assign any
72
+ # IO object here.
73
+ previous_stderr, $stderr = $stderr, StringIO.new
74
+ yield
75
+ $stderr.string
76
+ ensure
77
+ # Restore the previous value of stderr (typically equal to STDERR).
78
+ $stderr = previous_stderr
79
+ end
80
+
81
+ #this method allow us to wait for a file for a maximum number of time, so the
82
+ #test can pass in slower machines. This helps to speed up the tests
83
+ def assert_file_exists file, time_to_wait = 2
84
+ time_begin = Time.now
85
+
86
+ until Time.now - time_begin >= time_to_wait or File.exists?( file ) do
87
+ sleep 0.01
88
+ end
89
+
90
+ assert File.exists?( file )
91
+ end
59
92
  end
60
93
 
61
94
  module Hydra #:nodoc:
metadata CHANGED
@@ -1,100 +1,69 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: hydra
3
- version: !ruby/object:Gem::Version
4
- hash: 69
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.24.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 23
9
- - 3
10
- version: 0.23.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Nick Gauthier
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-22 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-02-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &17448440 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - "="
28
- - !ruby/object:Gem::Version
29
- hash: 33
30
- segments:
31
- - 2
32
- - 10
33
- - 3
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
34
21
  version: 2.10.3
35
22
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *17448440
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &17444460 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
43
- - - "="
44
- - !ruby/object:Gem::Version
45
- hash: 62196421
46
- segments:
47
- - 2
48
- - 0
49
- - 0
50
- - beta
51
- - 19
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
52
32
  version: 2.0.0.beta.19
53
33
  type: :development
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: cucumber
57
34
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *17444460
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &17457940 !ruby/object:Gem::Requirement
59
39
  none: false
60
- requirements:
61
- - - "="
62
- - !ruby/object:Gem::Version
63
- hash: 63
64
- segments:
65
- - 0
66
- - 9
67
- - 2
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
68
43
  version: 0.9.2
69
44
  type: :development
70
- version_requirements: *id003
71
- - !ruby/object:Gem::Dependency
72
- name: therubyracer
73
45
  prerelease: false
74
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *17457940
47
+ - !ruby/object:Gem::Dependency
48
+ name: therubyracer
49
+ requirement: &17456820 !ruby/object:Gem::Requirement
75
50
  none: false
76
- requirements:
77
- - - "="
78
- - !ruby/object:Gem::Version
79
- hash: 11
80
- segments:
81
- - 0
82
- - 7
83
- - 4
51
+ requirements:
52
+ - - =
53
+ - !ruby/object:Gem::Version
84
54
  version: 0.7.4
85
55
  type: :development
86
- version_requirements: *id004
56
+ prerelease: false
57
+ version_requirements: *17456820
87
58
  description: Spread your tests over multiple machines to test your code faster.
88
59
  email: nick@smartlogicsolutions.com
89
60
  executables: []
90
-
91
61
  extensions: []
92
-
93
- extra_rdoc_files:
62
+ extra_rdoc_files:
94
63
  - LICENSE
95
64
  - README.rdoc
96
65
  - TODO
97
- files:
66
+ files:
98
67
  - .document
99
68
  - LICENSE
100
69
  - README.rdoc
@@ -107,9 +76,13 @@ files:
107
76
  - hydra_gray.png
108
77
  - lib/hydra.rb
109
78
  - lib/hydra/cucumber/formatter.rb
79
+ - lib/hydra/cucumber/partial_html.rb
110
80
  - lib/hydra/hash.rb
111
81
  - lib/hydra/js/lint.js
112
82
  - lib/hydra/listener/abstract.rb
83
+ - lib/hydra/listener/cucumber.css
84
+ - lib/hydra/listener/cucumber_html_report.rb
85
+ - lib/hydra/listener/jquery-min.js
113
86
  - lib/hydra/listener/minimal_output.rb
114
87
  - lib/hydra/listener/notifier.rb
115
88
  - lib/hydra/listener/progress_bar.rb
@@ -122,6 +95,7 @@ files:
122
95
  - lib/hydra/messaging_io.rb
123
96
  - lib/hydra/pipe.rb
124
97
  - lib/hydra/runner.rb
98
+ - lib/hydra/runner_listener/abstract.rb
125
99
  - lib/hydra/safe_fork.rb
126
100
  - lib/hydra/spec/autorun_override.rb
127
101
  - lib/hydra/spec/hydra_formatter.rb
@@ -139,10 +113,15 @@ files:
139
113
  - test/fixtures/features/write_alternate_file.feature
140
114
  - test/fixtures/features/write_file.feature
141
115
  - test/fixtures/hello_world.rb
116
+ - test/fixtures/hydra_worker_init.rb
142
117
  - test/fixtures/js_file.js
143
118
  - test/fixtures/json_data.json
119
+ - test/fixtures/many_outputs_to_console.rb
120
+ - test/fixtures/master_listeners.rb
121
+ - test/fixtures/runner_listeners.rb
144
122
  - test/fixtures/slow.rb
145
123
  - test/fixtures/sync_test.rb
124
+ - test/fixtures/task_test_config.yml
146
125
  - test/fixtures/write_file.rb
147
126
  - test/fixtures/write_file_alternate_spec.rb
148
127
  - test/fixtures/write_file_spec.rb
@@ -153,58 +132,31 @@ files:
153
132
  - test/runner_test.rb
154
133
  - test/ssh_test.rb
155
134
  - test/sync_test.rb
135
+ - test/task_test.rb
156
136
  - test/test_helper.rb
157
137
  - test/worker_test.rb
158
- has_rdoc: true
159
138
  homepage: http://github.com/ngauthier/hydra
160
139
  licenses: []
161
-
162
140
  post_install_message:
163
141
  rdoc_options: []
164
-
165
- require_paths:
142
+ require_paths:
166
143
  - lib
167
- required_ruby_version: !ruby/object:Gem::Requirement
144
+ required_ruby_version: !ruby/object:Gem::Requirement
168
145
  none: false
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- hash: 3
173
- segments:
174
- - 0
175
- version: "0"
176
- required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
151
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: 3
182
- segments:
183
- - 0
184
- version: "0"
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
185
156
  requirements: []
186
-
187
157
  rubyforge_project:
188
- rubygems_version: 1.4.2
158
+ rubygems_version: 1.8.15
189
159
  signing_key:
190
160
  specification_version: 3
191
161
  summary: Distributed testing toolkit
192
- test_files:
193
- - test/fixtures/assert_true.rb
194
- - test/fixtures/conflicting.rb
195
- - test/fixtures/features/step_definitions.rb
196
- - test/fixtures/hello_world.rb
197
- - test/fixtures/slow.rb
198
- - test/fixtures/sync_test.rb
199
- - test/fixtures/write_file.rb
200
- - test/fixtures/write_file_alternate_spec.rb
201
- - test/fixtures/write_file_spec.rb
202
- - test/fixtures/write_file_with_pending_spec.rb
203
- - test/master_test.rb
204
- - test/message_test.rb
205
- - test/pipe_test.rb
206
- - test/runner_test.rb
207
- - test/ssh_test.rb
208
- - test/sync_test.rb
209
- - test/test_helper.rb
210
- - test/worker_test.rb
162
+ test_files: []