aruba 0.4.3 → 0.4.4

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.
@@ -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