vcr 1.11.1 → 1.11.2
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.
- data/.travis.yml +3 -0
- data/CHANGELOG.md +11 -4
- data/Gemfile +5 -4
- data/Rakefile +23 -4
- data/cucumber.yml +2 -2
- data/features/cassettes/automatic_re_recording.feature +2 -2
- data/features/cassettes/dynamic_erb.feature +2 -2
- data/features/cassettes/format.feature +1 -1
- data/features/cassettes/naming.feature +1 -1
- data/features/cassettes/no_cassette.feature +4 -4
- data/features/cassettes/request_matching.feature +5 -5
- data/features/cassettes/update_content_length_header.feature +3 -3
- data/features/configuration/allow_http_connections_when_no_cassette.feature +3 -3
- data/features/configuration/cassette_library_dir.feature +1 -1
- data/features/configuration/default_cassette_options.feature +5 -5
- data/features/configuration/filter_sensitive_data.feature +6 -6
- data/features/configuration/hooks.feature +6 -6
- data/features/configuration/ignore_hosts.feature +1 -1
- data/features/configuration/ignore_localhost.feature +2 -2
- data/features/configuration/stub_with.feature +4 -4
- data/features/http_libraries/em_http_request.feature +4 -4
- data/features/http_libraries/net_http.feature +10 -10
- data/features/middleware/faraday.feature +2 -2
- data/features/middleware/rack.feature +2 -2
- data/features/record_modes/all.feature +2 -2
- data/features/record_modes/new_episodes.feature +2 -2
- data/features/record_modes/none.feature +2 -2
- data/features/record_modes/once.feature +3 -3
- data/features/step_definitions/cli_steps.rb +6 -2
- data/features/support/env.rb +5 -8
- data/features/support/http_lib_filters.rb +6 -1
- data/features/test_frameworks/cucumber.feature +2 -2
- data/features/test_frameworks/rspec.feature +2 -2
- data/features/test_frameworks/shoulda.feature +13 -10
- data/features/test_frameworks/test_unit.feature +12 -9
- data/lib/vcr.rb +6 -0
- data/lib/vcr/config.rb +7 -1
- data/lib/vcr/deprecations/cassette.rb +16 -16
- data/lib/vcr/extensions/net_http_response.rb +4 -0
- data/lib/vcr/http_stubbing_adapters/common.rb +1 -1
- data/lib/vcr/http_stubbing_adapters/fakeweb.rb +6 -0
- data/lib/vcr/http_stubbing_adapters/webmock.rb +7 -0
- data/lib/vcr/middleware/cassette_arguments.rb +1 -0
- data/lib/vcr/structs/http_interaction.rb +1 -0
- data/lib/vcr/version.rb +1 -1
- data/spec/capture_warnings.rb +42 -0
- data/spec/monkey_patches.rb +5 -1
- data/spec/spec_helper.rb +2 -1
- data/spec/support/shared_example_groups/http_library.rb +19 -19
- data/spec/support/shared_example_groups/http_stubbing_adapter.rb +6 -6
- data/spec/support/shared_example_groups/ignore_localhost_deprecation.rb +1 -1
- data/spec/support/shared_example_groups/normalizers.rb +13 -15
- data/spec/support/sinatra_app.rb +2 -0
- data/spec/support/vcr_localhost_server.rb +4 -3
- data/spec/vcr/cassette/reader_spec.rb +4 -4
- data/spec/vcr/cassette_spec.rb +28 -28
- data/spec/vcr/config_spec.rb +11 -11
- data/spec/vcr/deprecations/cassette_spec.rb +4 -4
- data/spec/vcr/deprecations/config_spec.rb +2 -2
- data/spec/vcr/deprecations/http_stubbing_adapters/fakeweb_spec.rb +1 -1
- data/spec/vcr/extensions/net_http_response_spec.rb +3 -3
- data/spec/vcr/extensions/net_http_spec.rb +4 -4
- data/spec/vcr/http_stubbing_adapters/excon_spec.rb +5 -5
- data/spec/vcr/http_stubbing_adapters/faraday_spec.rb +4 -4
- data/spec/vcr/http_stubbing_adapters/multi_object_proxy_spec.rb +4 -4
- data/spec/vcr/middleware/cassette_arguments_spec.rb +5 -5
- data/spec/vcr/middleware/faraday_spec.rb +3 -3
- data/spec/vcr/middleware/rack_spec.rb +4 -4
- data/spec/vcr/request_matcher_spec.rb +13 -13
- data/spec/vcr/structs/http_interaction_spec.rb +6 -6
- data/spec/vcr/structs/request_spec.rb +7 -7
- data/spec/vcr/structs/response_spec.rb +5 -5
- data/spec/vcr/structs/response_status_spec.rb +2 -2
- data/spec/vcr/test_frameworks/cucumber_spec.rb +2 -2
- data/spec/vcr/test_frameworks/rspec_spec.rb +6 -7
- data/spec/vcr/util/hooks_spec.rb +9 -9
- data/spec/vcr_spec.rb +11 -17
- data/vcr.gemspec +11 -5
- metadata +47 -49
- data/features/support/aruba_workaround/aruba_patches.rb +0 -36
- data/features/support/aruba_workaround/background_process.rb +0 -4
data/spec/vcr/util/hooks_spec.rb
CHANGED
@@ -32,7 +32,7 @@ describe VCR::Hooks do
|
|
32
32
|
|
33
33
|
invocations.should be_empty
|
34
34
|
subject.invoke_hook(:before_foo, :green)
|
35
|
-
invocations.should
|
35
|
+
invocations.should eq([:callback_1, :callback_2])
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'invokes each of the :before_foo callbacks with no tag' do
|
@@ -40,7 +40,7 @@ describe VCR::Hooks do
|
|
40
40
|
subject.before_foo { invocations << :no_tag_2 }
|
41
41
|
|
42
42
|
subject.invoke_hook(:before_foo, :green)
|
43
|
-
invocations.should
|
43
|
+
invocations.should eq([:no_tag_1, :no_tag_2])
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'does not invoke any callbacks with a different tag' do
|
@@ -57,7 +57,7 @@ describe VCR::Hooks do
|
|
57
57
|
|
58
58
|
invocations.should be_empty
|
59
59
|
subject.invoke_hook(:before_foo, nil)
|
60
|
-
invocations.should
|
60
|
+
invocations.should eq([:callback_1, :callback_2])
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'does not invoke :before_bar callbacks' do
|
@@ -73,21 +73,21 @@ describe VCR::Hooks do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it 'passes along the provided arguments to the callback' do
|
76
|
-
subject.before_foo
|
76
|
+
subject.before_foo(&lambda { |a, b| invocations << [a, b] })
|
77
77
|
subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
|
78
|
-
invocations.flatten.should
|
78
|
+
invocations.flatten.should eq([:arg1, :arg2])
|
79
79
|
end
|
80
80
|
|
81
81
|
it 'only passes along 1 argument when the block accepts only 1 arguments' do
|
82
|
-
subject.before_foo
|
82
|
+
subject.before_foo(&lambda { |a| invocations << a })
|
83
83
|
subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
|
84
|
-
invocations.flatten.should
|
84
|
+
invocations.flatten.should eq([:arg1])
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'passes along all arguments when the block accepts a variable number of args' do
|
88
|
-
subject.before_foo
|
88
|
+
subject.before_foo(&lambda { |*a| invocations << a })
|
89
89
|
subject.invoke_hook(:before_foo, nil, :arg1, :arg2)
|
90
|
-
invocations.flatten.should
|
90
|
+
invocations.flatten.should eq([:arg1, :arg2])
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
data/spec/vcr_spec.rb
CHANGED
@@ -13,8 +13,8 @@ describe VCR do
|
|
13
13
|
it 'takes over as the #current_cassette' do
|
14
14
|
orig_cassette = VCR.current_cassette
|
15
15
|
new_cassette = insert_cassette
|
16
|
-
new_cassette.should_not
|
17
|
-
VCR.current_cassette.should
|
16
|
+
new_cassette.should_not eq(orig_cassette)
|
17
|
+
VCR.current_cassette.should eq(new_cassette)
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'raises an error if the stack of inserted cassettes already contains a cassette with the same name' do
|
@@ -34,7 +34,7 @@ describe VCR do
|
|
34
34
|
|
35
35
|
it 'returns the ejected cassette' do
|
36
36
|
cassette = insert_cassette
|
37
|
-
VCR.eject_cassette.should
|
37
|
+
VCR.eject_cassette.should eq(cassette)
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'returns the #current_cassette to the previous one' do
|
@@ -64,7 +64,7 @@ describe VCR do
|
|
64
64
|
|
65
65
|
it 'yields the cassette instance if the block expects a variable number of args' do
|
66
66
|
VCR.use_cassette('name', :record => :new_episodes) do |*args|
|
67
|
-
args.size.should
|
67
|
+
args.size.should eq(1)
|
68
68
|
args.first.should equal(VCR.current_cassette)
|
69
69
|
end
|
70
70
|
end
|
@@ -92,7 +92,7 @@ describe VCR do
|
|
92
92
|
VCR.config do |obj|
|
93
93
|
yielded_object = obj
|
94
94
|
end
|
95
|
-
yielded_object.should
|
95
|
+
yielded_object.should eq(VCR::Config)
|
96
96
|
end
|
97
97
|
|
98
98
|
it "sets http_stubbing_adapter.http_connections_allowed to the configured default" do
|
@@ -116,7 +116,7 @@ describe VCR do
|
|
116
116
|
c.ignore_hosts 'example.com', 'example.org'
|
117
117
|
end
|
118
118
|
|
119
|
-
VCR::HttpStubbingAdapters::FakeWeb.send(:ignored_hosts).should
|
119
|
+
VCR::HttpStubbingAdapters::FakeWeb.send(:ignored_hosts).should eq(%w[example.com example.org])
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
@@ -138,10 +138,10 @@ describe VCR do
|
|
138
138
|
|
139
139
|
it 'returns a multi object proxy for the configured stubbing libraries when multiple libs are configured', :unless => RUBY_PLATFORM == 'java' do
|
140
140
|
VCR::Config.stub_with :fakeweb, :typhoeus
|
141
|
-
VCR.http_stubbing_adapter.proxied_objects.should
|
141
|
+
VCR.http_stubbing_adapter.proxied_objects.should eq([
|
142
142
|
VCR::HttpStubbingAdapters::FakeWeb,
|
143
143
|
VCR::HttpStubbingAdapters::Typhoeus
|
144
|
-
]
|
144
|
+
])
|
145
145
|
end
|
146
146
|
|
147
147
|
{
|
@@ -152,7 +152,7 @@ describe VCR do
|
|
152
152
|
}.each do |symbol, klass|
|
153
153
|
it "returns #{klass} for :#{symbol}" do
|
154
154
|
VCR::Config.stub_with symbol
|
155
|
-
VCR.http_stubbing_adapter.should
|
155
|
+
VCR.http_stubbing_adapter.should eq(klass)
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
@@ -296,7 +296,7 @@ describe VCR do
|
|
296
296
|
VCR.should_not be_turned_on
|
297
297
|
end
|
298
298
|
|
299
|
-
yielded.should
|
299
|
+
yielded.should eq(true)
|
300
300
|
VCR.should be_turned_on
|
301
301
|
end
|
302
302
|
|
@@ -308,13 +308,7 @@ describe VCR do
|
|
308
308
|
|
309
309
|
describe '.turned_on?' do
|
310
310
|
it 'is on by default' do
|
311
|
-
# clear internal state
|
312
|
-
VCR.instance_eval do
|
313
|
-
instance_variables.each do |var|
|
314
|
-
remove_instance_variable(var)
|
315
|
-
end
|
316
|
-
end
|
317
|
-
|
311
|
+
VCR.send(:initialize_ivars) # clear internal state
|
318
312
|
VCR.should be_turned_on
|
319
313
|
end
|
320
314
|
end
|
data/vcr.gemspec
CHANGED
@@ -19,11 +19,9 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
{
|
21
21
|
'bundler' => '~> 1.0.7',
|
22
|
-
'rake' => '~> 0.
|
22
|
+
'rake' => '~> 0.9.2',
|
23
23
|
|
24
24
|
'rspec' => '~> 2.6',
|
25
|
-
'cucumber' => '~> 0.9.4',
|
26
|
-
'aruba' => '0.2.4',
|
27
25
|
'shoulda' => '~> 2.9.2',
|
28
26
|
|
29
27
|
'fakeweb' => '~> 1.3.0',
|
@@ -41,10 +39,18 @@ Gem::Specification.new do |s|
|
|
41
39
|
s.add_development_dependency lib, version
|
42
40
|
end
|
43
41
|
|
42
|
+
# Cucumber 1.0.2 seems to have issues installing on 1.8.6 :(.
|
44
43
|
{
|
45
|
-
'
|
44
|
+
'cucumber' => '~> 1.0.2',
|
45
|
+
'aruba' => '~> 0.4.6',
|
46
|
+
}.each do |lib, version|
|
47
|
+
s.add_development_dependency lib, version
|
48
|
+
end unless RUBY_VERSION == '1.8.6'
|
49
|
+
|
50
|
+
{
|
51
|
+
'patron' => '~> 0.4.15',
|
46
52
|
'em-http-request' => '~> 0.3.0',
|
47
|
-
'curb' => '0.7.
|
53
|
+
'curb' => '~> 0.7.15',
|
48
54
|
'typhoeus' => '~> 0.2.1'
|
49
55
|
}.each do |lib, version|
|
50
56
|
s.add_development_dependency lib, version
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 63
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 11
|
9
|
-
-
|
10
|
-
version: 1.11.
|
9
|
+
- 2
|
10
|
+
version: 1.11.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Myron Marston
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-29 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -72,12 +72,12 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
hash:
|
75
|
+
hash: 63
|
76
76
|
segments:
|
77
77
|
- 0
|
78
|
-
-
|
79
|
-
-
|
80
|
-
version: 0.
|
78
|
+
- 9
|
79
|
+
- 2
|
80
|
+
version: 0.9.2
|
81
81
|
name: rake
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
@@ -163,22 +163,6 @@ dependencies:
|
|
163
163
|
requirement: *id009
|
164
164
|
- !ruby/object:Gem::Dependency
|
165
165
|
version_requirements: &id010 !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
|
-
requirements:
|
168
|
-
- - "="
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
hash: 31
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
- 2
|
174
|
-
- 4
|
175
|
-
version: 0.2.4
|
176
|
-
name: aruba
|
177
|
-
type: :development
|
178
|
-
prerelease: false
|
179
|
-
requirement: *id010
|
180
|
-
- !ruby/object:Gem::Dependency
|
181
|
-
version_requirements: &id011 !ruby/object:Gem::Requirement
|
182
166
|
none: false
|
183
167
|
requirements:
|
184
168
|
- - ~>
|
@@ -192,9 +176,9 @@ dependencies:
|
|
192
176
|
name: sinatra
|
193
177
|
type: :development
|
194
178
|
prerelease: false
|
195
|
-
requirement: *
|
179
|
+
requirement: *id010
|
196
180
|
- !ruby/object:Gem::Dependency
|
197
|
-
version_requirements: &
|
181
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
198
182
|
none: false
|
199
183
|
requirements:
|
200
184
|
- - ~>
|
@@ -208,9 +192,9 @@ dependencies:
|
|
208
192
|
name: bundler
|
209
193
|
type: :development
|
210
194
|
prerelease: false
|
211
|
-
requirement: *
|
195
|
+
requirement: *id011
|
212
196
|
- !ruby/object:Gem::Dependency
|
213
|
-
version_requirements: &
|
197
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
214
198
|
none: false
|
215
199
|
requirements:
|
216
200
|
- - ~>
|
@@ -224,6 +208,22 @@ dependencies:
|
|
224
208
|
name: excon
|
225
209
|
type: :development
|
226
210
|
prerelease: false
|
211
|
+
requirement: *id012
|
212
|
+
- !ruby/object:Gem::Dependency
|
213
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
214
|
+
none: false
|
215
|
+
requirements:
|
216
|
+
- - ~>
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
hash: 3
|
219
|
+
segments:
|
220
|
+
- 1
|
221
|
+
- 7
|
222
|
+
- 4
|
223
|
+
version: 1.7.4
|
224
|
+
name: webmock
|
225
|
+
type: :development
|
226
|
+
prerelease: false
|
227
227
|
requirement: *id013
|
228
228
|
- !ruby/object:Gem::Dependency
|
229
229
|
version_requirements: &id014 !ruby/object:Gem::Requirement
|
@@ -231,13 +231,13 @@ dependencies:
|
|
231
231
|
requirements:
|
232
232
|
- - ~>
|
233
233
|
- !ruby/object:Gem::Version
|
234
|
-
hash:
|
234
|
+
hash: 3
|
235
235
|
segments:
|
236
236
|
- 0
|
237
|
-
- 9
|
238
237
|
- 4
|
239
|
-
|
240
|
-
|
238
|
+
- 6
|
239
|
+
version: 0.4.6
|
240
|
+
name: aruba
|
241
241
|
type: :development
|
242
242
|
prerelease: false
|
243
243
|
requirement: *id014
|
@@ -247,13 +247,13 @@ dependencies:
|
|
247
247
|
requirements:
|
248
248
|
- - ~>
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
hash:
|
250
|
+
hash: 19
|
251
251
|
segments:
|
252
252
|
- 1
|
253
|
-
-
|
254
|
-
-
|
255
|
-
version: 1.
|
256
|
-
name:
|
253
|
+
- 0
|
254
|
+
- 2
|
255
|
+
version: 1.0.2
|
256
|
+
name: cucumber
|
257
257
|
type: :development
|
258
258
|
prerelease: false
|
259
259
|
requirement: *id015
|
@@ -261,14 +261,14 @@ dependencies:
|
|
261
261
|
version_requirements: &id016 !ruby/object:Gem::Requirement
|
262
262
|
none: false
|
263
263
|
requirements:
|
264
|
-
- -
|
264
|
+
- - ~>
|
265
265
|
- !ruby/object:Gem::Version
|
266
|
-
hash:
|
266
|
+
hash: 29
|
267
267
|
segments:
|
268
268
|
- 0
|
269
269
|
- 7
|
270
|
-
-
|
271
|
-
version: 0.7.
|
270
|
+
- 15
|
271
|
+
version: 0.7.15
|
272
272
|
name: curb
|
273
273
|
type: :development
|
274
274
|
prerelease: false
|
@@ -277,14 +277,14 @@ dependencies:
|
|
277
277
|
version_requirements: &id017 !ruby/object:Gem::Requirement
|
278
278
|
none: false
|
279
279
|
requirements:
|
280
|
-
- -
|
280
|
+
- - ~>
|
281
281
|
- !ruby/object:Gem::Version
|
282
|
-
hash:
|
282
|
+
hash: 17
|
283
283
|
segments:
|
284
284
|
- 0
|
285
285
|
- 4
|
286
|
-
-
|
287
|
-
version: 0.4.
|
286
|
+
- 15
|
287
|
+
version: 0.4.15
|
288
288
|
name: patron
|
289
289
|
type: :development
|
290
290
|
prerelease: false
|
@@ -371,8 +371,6 @@ files:
|
|
371
371
|
- features/record_modes/none.feature
|
372
372
|
- features/record_modes/once.feature
|
373
373
|
- features/step_definitions/cli_steps.rb
|
374
|
-
- features/support/aruba_workaround/aruba_patches.rb
|
375
|
-
- features/support/aruba_workaround/background_process.rb
|
376
374
|
- features/support/env.rb
|
377
375
|
- features/support/http_lib_filters.rb
|
378
376
|
- features/support/vcr_cucumber_helpers.rb
|
@@ -424,6 +422,7 @@ files:
|
|
424
422
|
- script/FullBuildRakeFile
|
425
423
|
- script/full_build
|
426
424
|
- script/spec
|
425
|
+
- spec/capture_warnings.rb
|
427
426
|
- spec/fixtures/1.9.1/0_3_1_cassette.yml
|
428
427
|
- spec/fixtures/1.9.1/cassette_spec/empty.yml
|
429
428
|
- spec/fixtures/1.9.1/cassette_spec/example.yml
|
@@ -548,8 +547,6 @@ test_files:
|
|
548
547
|
- features/record_modes/none.feature
|
549
548
|
- features/record_modes/once.feature
|
550
549
|
- features/step_definitions/cli_steps.rb
|
551
|
-
- features/support/aruba_workaround/aruba_patches.rb
|
552
|
-
- features/support/aruba_workaround/background_process.rb
|
553
550
|
- features/support/env.rb
|
554
551
|
- features/support/http_lib_filters.rb
|
555
552
|
- features/support/vcr_cucumber_helpers.rb
|
@@ -557,6 +554,7 @@ test_files:
|
|
557
554
|
- features/test_frameworks/rspec.feature
|
558
555
|
- features/test_frameworks/shoulda.feature
|
559
556
|
- features/test_frameworks/test_unit.feature
|
557
|
+
- spec/capture_warnings.rb
|
560
558
|
- spec/fixtures/1.9.1/0_3_1_cassette.yml
|
561
559
|
- spec/fixtures/1.9.1/cassette_spec/empty.yml
|
562
560
|
- spec/fixtures/1.9.1/cassette_spec/example.yml
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# Aruba::Api#run in aruba 0.2.4 does not work w/ JRuby or Rubinius.
|
2
|
-
# This is the version from 0.2.2 before aruba relied upon
|
3
|
-
# BackgroundProcess (which is not jruby/rbx compatible).
|
4
|
-
require 'tempfile'
|
5
|
-
|
6
|
-
Aruba::Api.module_eval do
|
7
|
-
def run(cmd, fail_on_error=true)
|
8
|
-
cmd = detect_ruby(cmd)
|
9
|
-
|
10
|
-
stderr_file = Tempfile.new('cucumber')
|
11
|
-
stderr_file.close
|
12
|
-
in_current_dir do
|
13
|
-
announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
|
14
|
-
announce_or_puts("$ #{cmd}") if @announce_cmd
|
15
|
-
|
16
|
-
mode = RUBY_VERSION =~ /^1\.9/ ? {:external_encoding=>"UTF-8"} : 'r'
|
17
|
-
|
18
|
-
IO.popen("#{cmd} 2> #{stderr_file.path}", mode) do |io|
|
19
|
-
@last_stdout = io.read
|
20
|
-
announce_or_puts(@last_stdout) if @announce_stdout
|
21
|
-
end
|
22
|
-
|
23
|
-
@last_exit_status = $?.exitstatus
|
24
|
-
end
|
25
|
-
@last_stderr = IO.read(stderr_file.path)
|
26
|
-
|
27
|
-
announce_or_puts(@last_stderr) if @announce_stderr
|
28
|
-
|
29
|
-
if(@last_exit_status != 0 && fail_on_error)
|
30
|
-
fail("Exit status was #{@last_exit_status}. Output:\n#{combined_output}")
|
31
|
-
end
|
32
|
-
|
33
|
-
@last_stderr
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
@@ -1,4 +0,0 @@
|
|
1
|
-
# Don't do anything--this is just here to allow aruba to run on JRuby/rbx.
|
2
|
-
# It requires background_process, but that doesn't work on JRuby/rbx.
|
3
|
-
# So on JRuby/rbx, we add this file's dir to the load path, in order to fake out aruba
|
4
|
-
# and force it to load this file instaed.
|