aruba 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/aruba.gemspec +2 -2
- data/features/exit_statuses.feature +4 -0
- data/features/flushing.feature +7 -0
- data/lib/aruba/api.rb +8 -1
- data/lib/aruba/cucumber.rb +2 -2
- data/lib/aruba/process.rb +3 -2
- metadata +6 -5
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 0.2.6
|
2
|
+
|
3
|
+
=== New Features
|
4
|
+
* You can set @aruba_timeout_seconds in a Before hook to tell Aruba to wait for a process to complete. Default: 1 second. (Aslak Hellesøy)
|
5
|
+
|
6
|
+
=== Bug fixes
|
7
|
+
* Fixed small bug in /^the stdout should contain exactly:$/ (Aslak Hellesøy)
|
8
|
+
|
1
9
|
== 0.2.5
|
2
10
|
|
3
11
|
=== New Features
|
data/aruba.gemspec
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'aruba'
|
5
|
-
s.version = "0.2.
|
6
|
-
s.authors = ["Aslak Hellesøy", "David Chelimsky"]
|
5
|
+
s.version = "0.2.6"
|
6
|
+
s.authors = ["Aslak Hellesøy", "David Chelimsky", "Mike Sassak"]
|
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'
|
@@ -7,6 +7,10 @@ Feature: exit statuses
|
|
7
7
|
Scenario: exit status of 0
|
8
8
|
When I run "ruby -h"
|
9
9
|
Then the exit status should be 0
|
10
|
+
|
11
|
+
Scenario: Not explicitly exiting at all
|
12
|
+
When I run "ruby -e '42'"
|
13
|
+
Then the exit status should be 0
|
10
14
|
|
11
15
|
Scenario: non-zero exit status
|
12
16
|
When I run "ruby -e 'exit 56'"
|
data/features/flushing.feature
CHANGED
@@ -4,10 +4,17 @@ Feature: Flushing output
|
|
4
4
|
As a developer using Aruba
|
5
5
|
I want to make sure that large amounts of output aren't buffered
|
6
6
|
|
7
|
+
Scenario: A little output
|
8
|
+
When I run "ruby -e 'puts :a.to_s * 256'"
|
9
|
+
Then the output should contain "a"
|
10
|
+
And the output should be 256 bytes long
|
11
|
+
And the exit status should be 0
|
12
|
+
|
7
13
|
Scenario: Tons of output
|
8
14
|
When I run "ruby -e 'puts :a.to_s * 65536'"
|
9
15
|
Then the output should contain "a"
|
10
16
|
And the output should be 65536 bytes long
|
17
|
+
# And the exit status should be 0
|
11
18
|
|
12
19
|
Scenario: Tons of interactive output
|
13
20
|
When I run "ruby -e 'len = gets.chomp; puts :a.to_s * len.to_i'" interactively
|
data/lib/aruba/api.rb
CHANGED
@@ -196,19 +196,26 @@ module Aruba
|
|
196
196
|
announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
|
197
197
|
announce_or_puts("$ #{cmd}") if @announce_cmd
|
198
198
|
|
199
|
-
process = processes[cmd] = Process.new(cmd)
|
199
|
+
process = processes[cmd] = Process.new(cmd, timeout)
|
200
200
|
process.run!
|
201
201
|
|
202
202
|
block_given? ? yield(process) : process
|
203
203
|
end
|
204
204
|
end
|
205
205
|
|
206
|
+
DEFAULT_TIMEOUT_SECONDS = 1
|
207
|
+
|
208
|
+
def timeout
|
209
|
+
@aruba_timeout_seconds || DEFAULT_TIMEOUT_SECONDS
|
210
|
+
end
|
211
|
+
|
206
212
|
def run_simple(cmd, fail_on_error=true)
|
207
213
|
@last_exit_status = run(cmd) do |process|
|
208
214
|
announce_or_puts(process.stdout) if @announce_stdout
|
209
215
|
announce_or_puts(process.stderr) if @announce_stderr
|
210
216
|
process.stop
|
211
217
|
end
|
218
|
+
@timed_out = @last_exit_status.nil?
|
212
219
|
|
213
220
|
if(@last_exit_status != 0 && fail_on_error)
|
214
221
|
fail("Exit status was #{@last_exit_status}. Output:\n#{all_output}")
|
data/lib/aruba/cucumber.rb
CHANGED
@@ -181,7 +181,7 @@ Then /^the stderr should contain "([^"]*)"$/ do |partial_output|
|
|
181
181
|
end
|
182
182
|
|
183
183
|
Then /^the stderr should contain exactly:$/ do |exact_output|
|
184
|
-
|
184
|
+
all_stderr.should == exact_output
|
185
185
|
end
|
186
186
|
|
187
187
|
Then /^the stdout should contain "([^"]*)"$/ do |partial_output|
|
@@ -189,7 +189,7 @@ Then /^the stdout should contain "([^"]*)"$/ do |partial_output|
|
|
189
189
|
end
|
190
190
|
|
191
191
|
Then /^the stdout should contain exactly:$/ do |exact_output|
|
192
|
-
|
192
|
+
all_stdout.should == exact_output
|
193
193
|
end
|
194
194
|
|
195
195
|
Then /^the stderr should not contain "([^"]*)"$/ do |partial_output|
|
data/lib/aruba/process.rb
CHANGED
@@ -2,8 +2,9 @@ require 'background_process'
|
|
2
2
|
|
3
3
|
module Aruba
|
4
4
|
class Process
|
5
|
-
def initialize(cmd)
|
5
|
+
def initialize(cmd, timeout)
|
6
6
|
@cmd = cmd
|
7
|
+
@timeout = timeout
|
7
8
|
end
|
8
9
|
|
9
10
|
def run!(&block)
|
@@ -37,7 +38,7 @@ module Aruba
|
|
37
38
|
|
38
39
|
def stop
|
39
40
|
if @process
|
40
|
-
status = @process.wait(
|
41
|
+
status = @process.wait(@timeout)
|
41
42
|
status && status.exitstatus
|
42
43
|
end
|
43
44
|
end
|
metadata
CHANGED
@@ -5,12 +5,13 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 6
|
9
|
+
version: 0.2.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "Aslak Helles\xC3\xB8y"
|
13
13
|
- David Chelimsky
|
14
|
+
- Mike Sassak
|
14
15
|
autorequire:
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
@@ -109,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
110
|
requirements:
|
110
111
|
- - ">="
|
111
112
|
- !ruby/object:Gem::Version
|
112
|
-
hash:
|
113
|
+
hash: -1582580386571401091
|
113
114
|
segments:
|
114
115
|
- 0
|
115
116
|
version: "0"
|
@@ -118,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
119
|
requirements:
|
119
120
|
- - ">="
|
120
121
|
- !ruby/object:Gem::Version
|
121
|
-
hash:
|
122
|
+
hash: -1582580386571401091
|
122
123
|
segments:
|
123
124
|
- 0
|
124
125
|
version: "0"
|
@@ -128,7 +129,7 @@ rubyforge_project:
|
|
128
129
|
rubygems_version: 1.3.7
|
129
130
|
signing_key:
|
130
131
|
specification_version: 3
|
131
|
-
summary: aruba-0.2.
|
132
|
+
summary: aruba-0.2.6
|
132
133
|
test_files:
|
133
134
|
- features/exit_statuses.feature
|
134
135
|
- features/file_system_commands.feature
|