aruba 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aruba (0.4.3)
4
+ aruba (0.4.4)
5
5
  bcat (>= 0.6.1)
6
6
  childprocess (>= 0.1.9)
7
7
  cucumber (>= 0.10.7)
@@ -14,20 +14,20 @@ GEM
14
14
  bcat (0.6.1)
15
15
  rack (~> 1.0)
16
16
  builder (3.0.0)
17
- childprocess (0.1.9)
17
+ childprocess (0.2.0)
18
18
  ffi (~> 1.0.6)
19
- cucumber (1.0.0)
19
+ cucumber (1.0.2)
20
20
  builder (>= 2.1.2)
21
21
  diff-lcs (>= 1.1.2)
22
- gherkin (~> 2.4.1)
22
+ gherkin (~> 2.4.5)
23
23
  json (>= 1.4.6)
24
24
  term-ansicolor (>= 1.0.5)
25
25
  diff-lcs (1.1.2)
26
26
  ffi (1.0.9)
27
- gherkin (2.4.1)
27
+ gherkin (2.4.5)
28
28
  json (>= 1.4.6)
29
29
  json (1.5.3)
30
- rack (1.3.0)
30
+ rack (1.3.1)
31
31
  rdiscount (1.6.8)
32
32
  rspec (2.6.0)
33
33
  rspec-core (~> 2.6.0)
data/History.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [v0.4.4](https://github.com/cucumber/aruba/compare/v0.4.3...v0.4.4)
2
+
3
+ * Fix various bugs with interative processes. (Matt Wynne)
4
+
1
5
  ## [v0.4.3](https://github.com/cucumber/aruba/compare/v0.4.2...v0.4.3)
2
6
 
3
7
  * Aruba reporting now creates an index file for reports, linking them all together. (Aslak Hellesøy)
@@ -2,12 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'aruba'
5
- s.version = '0.4.3'
6
- s.authors = ["Aslak Hellesøy", "David Chelimsky", "Mike Sassak"]
5
+ s.version = '0.4.4'
6
+ s.authors = ["Aslak Hellesøy", "David Chelimsky", "Mike Sassak", "Matt Wynne"]
7
7
  s.description = 'CLI Steps for Cucumber, hand-crafted for you in Aruba'
8
8
  s.summary = "aruba-#{s.version}"
9
9
  s.email = 'cukes@googlegroups.com'
10
- s.homepage = 'http://github.com/aslakhellesoy/aruba'
10
+ s.homepage = 'http://github.com/cucumber/aruba'
11
11
 
12
12
  s.add_dependency 'cucumber', '>= 0.10.7'
13
13
  s.add_dependency 'childprocess', '>= 0.1.9'
@@ -15,7 +15,7 @@ Feature: Interactive process control
15
15
  When I run `ruby echo.rb` interactively
16
16
  And I type "hello, world"
17
17
  And I type "quit"
18
- Then the output should contain:
18
+ Then it should pass with:
19
19
  """
20
20
  dlrow ,olleh
21
21
  """
@@ -80,11 +80,11 @@ module Aruba
80
80
  end
81
81
  end
82
82
  end
83
-
83
+
84
84
  def check_exact_file_content(file, exact_content)
85
85
  prep_for_fs_check { IO.read(file).should == exact_content }
86
86
  end
87
-
87
+
88
88
  def check_directory_presence(paths, expect_presence)
89
89
  prep_for_fs_check do
90
90
  paths.each do |path|
@@ -166,18 +166,18 @@ module Aruba
166
166
  end
167
167
 
168
168
  def assert_exit_status_and_partial_output(expect_to_pass, expected)
169
- assert_partial_output(expected, all_output)
170
169
  assert_success(expect_to_pass)
170
+ assert_partial_output(expected, all_output)
171
171
  end
172
172
 
173
173
  # TODO: Remove this. Call more methods elsewhere instead. Reveals more intent.
174
174
  def assert_exit_status_and_output(expect_to_pass, expected_output, expect_exact_output)
175
+ assert_success(expect_to_pass)
175
176
  if expect_exact_output
176
177
  assert_exact_output(expected_output, all_output)
177
178
  else
178
179
  assert_partial_output(expected_output, all_output)
179
180
  end
180
- assert_success(expect_to_pass)
181
181
  end
182
182
 
183
183
  def assert_success(success)
@@ -185,20 +185,20 @@ module Aruba
185
185
  end
186
186
 
187
187
  def assert_exit_status(status)
188
- @last_exit_status.should == status
188
+ last_exit_status.should == status
189
189
  end
190
190
 
191
191
  def assert_not_exit_status(status)
192
- @last_exit_status.should_not == status
192
+ last_exit_status.should_not == status
193
193
  end
194
-
194
+
195
195
  def processes
196
196
  @processes ||= []
197
197
  end
198
198
 
199
199
  def stop_processes!
200
200
  processes.each do |_, process|
201
- process.stop(@aruba_keep_ansi)
201
+ stop_process(process)
202
202
  end
203
203
  end
204
204
 
@@ -223,7 +223,7 @@ module Aruba
223
223
  in_current_dir do
224
224
  announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
225
225
  announce_or_puts("$ #{cmd}") if @announce_cmd
226
-
226
+
227
227
  process = Process.new(cmd, exit_timeout, io_wait)
228
228
  register_process(cmd, process)
229
229
  process.run!
@@ -245,12 +245,8 @@ module Aruba
245
245
  end
246
246
 
247
247
  def run_simple(cmd, fail_on_error=true)
248
- @last_exit_status = run(cmd) do |process|
249
- process.stop(@aruba_keep_ansi)
250
- announce_or_puts(process.stdout(@aruba_keep_ansi)) if @announce_stdout
251
- announce_or_puts(process.stderr(@aruba_keep_ansi)) if @announce_stderr
252
- # need to replace with process.exit_code or similar, or remove the block entirely... it doesn't add as much as I thought it would
253
- process.stop(@aruba_keep_ansi)
248
+ run(cmd) do |process|
249
+ stop_process(process)
254
250
  end
255
251
  @timed_out = @last_exit_status.nil?
256
252
 
@@ -330,9 +326,25 @@ module Aruba
330
326
  ENV[key] = value
331
327
  end
332
328
  end
333
-
329
+
334
330
  def original_env
335
331
  @original_env ||= {}
336
332
  end
333
+
334
+ # TODO: move some more methods under here!
335
+ private
336
+
337
+ def last_exit_status
338
+ return @last_exit_status if @last_exit_status
339
+ stop_processes!
340
+ @last_exit_status
341
+ end
342
+
343
+ def stop_process(process)
344
+ @last_exit_status = process.stop(@aruba_keep_ansi)
345
+ announce_or_puts(process.stdout(@aruba_keep_ansi)) if @announce_stdout
346
+ announce_or_puts(process.stderr(@aruba_keep_ansi)) if @announce_stderr
347
+ end
348
+
337
349
  end
338
350
  end
metadata CHANGED
@@ -2,17 +2,18 @@
2
2
  name: aruba
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.3
5
+ version: 0.4.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Aslak Helles\xC3\xB8y"
9
9
  - David Chelimsky
10
10
  - Mike Sassak
11
+ - Matt Wynne
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
15
 
15
- date: 2011-06-25 00:00:00 Z
16
+ date: 2011-07-23 00:00:00 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: cucumber
@@ -117,7 +118,7 @@ files:
117
118
  - templates/js/filesystem.js
118
119
  - templates/js/jquery-1.6.1.min.js
119
120
  - templates/main.erb
120
- homepage: http://github.com/aslakhellesoy/aruba
121
+ homepage: http://github.com/cucumber/aruba
121
122
  licenses: []
122
123
 
123
124
  post_install_message:
@@ -130,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
131
  requirements:
131
132
  - - ">="
132
133
  - !ruby/object:Gem::Version
133
- hash: 1621863180174633909
134
+ hash: 1265581284183582104
134
135
  segments:
135
136
  - 0
136
137
  version: "0"
@@ -139,17 +140,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
140
  requirements:
140
141
  - - ">="
141
142
  - !ruby/object:Gem::Version
142
- hash: 1621863180174633909
143
+ hash: 1265581284183582104
143
144
  segments:
144
145
  - 0
145
146
  version: "0"
146
147
  requirements: []
147
148
 
148
149
  rubyforge_project:
149
- rubygems_version: 1.8.5
150
+ rubygems_version: 1.7.2
150
151
  signing_key:
151
152
  specification_version: 3
152
- summary: aruba-0.4.3
153
+ summary: aruba-0.4.4
153
154
  test_files:
154
155
  - features/exit_statuses.feature
155
156
  - features/file_system_commands.feature