Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Commits on Jun 15, 2012
@myronmarston Add link to IRC channel. 617f02d
Commits on Jun 27, 2012
@myronmarston Excon 0.14 is out and works fine with VCR. 339bb3f
Commits on Jul 10, 2012
@myronmarston Fix typos in comments. dfda4cd
@Jacobkg Jacobkg Failing test for reusing net/http request in Fakeweb 498994a
@myronmarston Fix FakeWeb library hook for when a Net::HTTP request is re-used.
Previously I assumed a single Net::HTTP request object would only be used for a single
request. It turns out it can trivially be re-used. I've refactored the implementation to
no longer assume that. The request object was being used to hold a VCR request type
object to handle internal recursion performed by Net::HTTP; now I have a special
recursive request handler for this situation.

Closes #178.
@myronmarston No need for this global "seen request" tracking now that we're handli…
…ng Net::HTTP's recursion directly.
@myronmarston Fix uninitialized ivar warning. 460ba73
@myronmarston It's `expect { }.to`, not `expect { }.should`. 8075246
@myronmarston Update RSpec. 661450a
@myronmarston Filter out unexplainable warnings. b47858a
@myronmarston 2.2.3 release. 9b2d293
Commits on Jul 20, 2012
@myronmarston Fix excon so real requests are made with a connection constructed wit…
…h same args.

I got this warning from VCR on some tests using fog/excon to download a file from S3 over SSL:

WARNING: VCR could not extract a response from Excon error (#<OpenSSL::SSL::SSLError: hostname does not match the server certificate>)

I discovered that the SSL cert verification for a real request w/o VCR was made against
``, while the verification for the request being recorded by VCR was made
against `<bucket_name>`. The difference is due to the fact that fog
constructs an Excon::Connection instance with a URI of ``, then makes a
request with a :host param set to the FQDN. Before this commit, VCR made the real
request by constructing a new Excon::Connection instance with the URI set to the full
URI, and it caused the SSL cert verification failure.

This fixes it by ensuring the "real request" connection instance is constructed with
the same args as the original connection instance.
@myronmarston Excon 0.15 is out and works fine with VCR. ae9a0b3
@myronmarston Update relish.
I got this message from relish just now:
Sorry, your relish gem 0.5.3 is out of date. Please update to at least version 0.6
@myronmarston 2.2.4 release. 93b5f13
Commits on Jul 25, 2012
@JonathanTron JonathanTron Typhoeus 0.4.2 is out and works fine with VCR d09de03
@myronmarston Merge pull request #184 from JonathanTron/patch-1
Typhoeus 0.4.2 is out and works fine with VCR
@myronmarston Add @JonathanTron to contributors list. 12905a3
@myronmarston The new WebMock release has fixed the Net::HTTP empty body bug. d9873fb
@myronmarston Ignore rbx18-mode failures.
The travis build failed with no indication as to why:!/myronmarston/vcr/jobs/1952677/L30

..and I've often had problems with the rbx build due to rbx issues.
Commits on Jul 26, 2012
Joe Nelson and Stephen Anderson Fix :use_scenario_name behavior for cucumber scenario outlines 5fc309b
Joe Nelson and Stephen Anderson remove debugging artifact c061001
Commits on Aug 12, 2012
@myronmarston Relax the faraday version constraint. c5b249a
Commits on Aug 13, 2012
@myronmarston Allow jruby 18 failure.
I'm getting a weird error from Jruby:

$ script/ `cacheAndCall': java.lang.NullPointerException
82	from `call'
83	from /home/vagrant/.rvm/rubies/jruby- `__file__'
84	from /home/vagrant/.rvm/rubies/jruby- `__file__'
85	from `call'
86	from `call'
87	from `call'
88	from `interpret'
89	from `interpret'
90	from `interpret'
91	from `interpret'
93	from `call'
94	from `call'
95	from `invokedynamic'
96	from `op_ge'
97	from RubyComparable$s$1$0$op_ge.gen:65535:in `call'
98	from `cacheAndCall'
99	from `call'
100	from `call'
101	from `interpret'
102	from `interpret'
103	from `interpret'
104	from `interpret'
105	from `interpret'
106	from `interpret'
107	from `interpret'
109	from `evalBlockBody'
110	from `yield'
111	from `yield'
112	from `yield'
113	from `interpret'
114	from `interpret'
115	from `interpret'
116	from `interpret'
118	from `call'
119	from `call'
120	from `callBlock'
121	from `call'
122	from `newInstance'
123	from RubyClass$i$newInstance.gen:65535:in `call'
124	from `cacheAndCall'
125	from `callBlock'
126	from `callIter'
127	from `interpret'
128	from `interpret'
129	from `interpret'
131	from `evalWithBinding'
132	from `evalCommon'
133	from `eval'
134	from RubyKernel$s$0$3$eval.gen:65535:in `call'
135	from `call'
136	from `call'
137	from `call'
138	from `interpret'
139	from `interpret'
140	from `interpret'
141	from `interpret'
142	from `executeBody'
143	from `interpretWithJavaExceptions'
144	from `interpret'
145	from `interpret'
146	from `interpret'
147	from `interpret'
149	from `call'
150	from `call'
151	from `call'
152	from `interpret'
153	from `interpret'
154	from `interpret'
155	from `interpret'
157	from `evalBlockBody'
158	from `yield'
159	from `yield'
160	from `yield'
161	from `eachCommon'
162	from `each'
163	from RubyArray$i$0$0$each.gen:65535:in `call'
164	from `cacheAndCall'
165	from `callBlock'
166	from `callIter'
167	from `interpret'
168	from `interpret'
170	from `evalBlockBody'
171	from `yield'
172	from `yield'
173	from `yield'
174	from `eachCommon'
175	from `each'
176	from RubyArray$i$0$0$each.gen:65535:in `call'
177	from `cacheAndCall'
178	from `callBlock'
179	from `callIter'
180	from `interpret'
181	from `interpret'
182	from `interpret'
183	from `interpret'
184	from `interpret'
185	from `interpret'
187	from `call'
188	from `call'
189	from `cacheAndCall'
190	from `call'
191	from `interpret'
192	from `interpret'
193	from `interpret'
194	from `interpret'
196	from `call'
197	from `call'
198	from `finvoke'
199	from `invoke'
200	from `callEach'
201	from `selectCommon'
202	from `find_all'
203	from RubyEnumerable$s$0$0$find_all.gen:65535:in `call'
204	from `cacheAndCall'
205	from `callBlock'
206	from `callIter'
207	from `interpret'
208	from `interpret'
209	from `interpret'
210	from `interpret'
212	from `call'
213	from `call'
214	from `cacheAndCall'
215	from `call'
216	from `interpret'
217	from `interpret'
218	from `interpret'
219	from `interpret'
221	from `call'
222	from `call'
223	from `cacheAndCall'
224	from `call'
225	from `interpret'
226	from `interpret'
227	from `interpret'
228	from `interpret'
230	from `call'
231	from `call'
232	from `cacheAndCall'
233	from `call'
234	from `interpret'
235	from `interpret'
236	from `interpret'
237	from `interpret'
239	from `call'
240	from `call'
241	from `cacheAndCall'
242	from `call'
243	from /home/vagrant/.rvm/gems/jruby- `__file__'
244	from /home/vagrant/.rvm/gems/jruby- `load'
245	from `runScript'
246	from `runScript'
247	from `runNormally'
248	from `runFromMain'
249	from `doRunFromMain'
250	from `internalRun'
251	from `run'
252	from `run'
253	from `main'
255Done. Build script exited with: 1
Commits on Aug 15, 2012
@Jacobkg Jacobkg Fix for #188. Add mention of debug logging configuration option to un…
…handled request error message. Also added it to the no_cassette.feature.
@myronmarston Update changelog and readme. b93fdcd
@myronmarston Fix failing specs.
- The debug_logger note wasn't included in the error message when there is no cassette.
- The new Faraday release includes my fix for the handling of an empty response by its Net::HTTP adapter.
@myronmarston Excon 0.16 is out and works fine with VCR. d748f06
Commits on Aug 18, 2012
@myronmarston My Faraday fix was in 0.8.3 but that got yanked and it's not in 0.8.4. 93aa595
Commits on Sep 05, 2012
@myronmarston Fix excon compatibility.
We need to remove the undesirable options from the connection's instance variable params, and not simply from the params that are passed to #request.

I suspect that there might have been edge case bugs before now with the old

Fixes #193.
Commits on Sep 07, 2012
@Jacobkg Jacobkg Merge pull request #186 from bendyworks/fix_scenario_outline
Fix scenario outline
@Jacobkg Jacobkg Collapse cucumber scenario outline feature into cucumber feature. Ref…
…actor cucumber.rb naming code. Add spec.
@myronmarston Fix excon hook so it works on 1.8.7.
My use of splat args wasn't able to parse on 1.8.7.

Thanks to @jacobkg for pointing this out.
@myronmarston Update changelog. 4f3bf03
@myronmarston Thank @jacobkg for help with VCR maintenance. 6cbceea
Commits on Sep 08, 2012
@myronmarston 2.2.5 release. 7dfa240
Commits on Sep 25, 2012
@markburns markburns Fix typo in lib/vcr/errors.rb 1fde090
@myronmarston Add Mark to list of contributors. 02d31bd
Commits on Sep 27, 2012
@rhburrows rhburrows Make the uri parser configurable
Instead of using just Ruby's `URI` class to parse URIs, allow the
parser to be set through the configuration and just use `URI` as a
default. This allows the use of more permissive parser to, e.g. allow
subdomains with underscores in them
@rhburrows rhburrows Set the spec uri parser to enforce the URI interface
Set the `uri_parser` to a limited one wrapping the default `URI` for
use in the specs to ensure that the interface required by acceptable
uri parsers isn't accidentally expanded in the future.
@rhburrows rhburrows Add `parsed_uri` convenience method to request 0aba90d
@myronmarston Improve uri_parser docs a bit. e06937b
@myronmarston Prefer `should eq` to `should ==`. c53c42d
@myronmarston Fix up `uri` requires.
- It should be required from `configuration` since that's the one place it's used now.
- request_matcher_registry_spec and structs_spec should be runnable in isolation.
@myronmarston Add missing yard doc. 031e54d
@myronmarston Update changelog. b8d402d
Commits on Oct 12, 2012
@myronmarston Build all branches.
[ci skip]
Commits on Oct 29, 2012
Pascal Van Hecke Excluding Rubymine project config files from repo 126c5af
Pascal Van Hecke Only use the first line of the cuke scenario name in the cassette name.
Just like features, scenarios can have multiline preambles. When
using the :use_scenario_name option, VCR will only use the first line
of the scenario name as the directory for the cassette. This change
is modeled after commit 034bdaf
Commits on Oct 30, 2012
@myronmarston Merge pull request #203 from pascalvanhecke/feature/scenario_name_in_…

Feature/scenario name in case of multiline scenario description
@i0rek i0rek Update typhoeus code to work with Typheous 0.5. 11e310e
@myronmarston Typhoeus 0.9 has merged my fix that was causing this failure. 06ede93
@myronmarston Make Gemfile compatible with appraisals.
- It wasn't picking up gems in a group.
- I got an undefined method error from `platforms`.
@myronmarston Add back support for Typhoeus 0.4. ec845e2
@myronmarston Don't print a warning for Faraday 0.9. 01b5a09
@myronmarston Put Typhoeus 0.4 specs first.
The coverage check runs at the end and should run against the code coverage from the full spec build.
@myronmarston Words. 61280c0
@myronmarston Don't use 1.9 hash syntax. 7563715
@myronmarston Don't use a forking server - use threads instead.
I think this may help solve the travis CI build problems--the forked process may be exiting with another status code causing a failed spec run even though no specs failed.

The forked process approach was needed for Patron in the past but that appears to be fixed.
@myronmarston Add -x flag so it gives me more info.
I can't repro the travis failure locally so hopefully this'll provide the missing info.
@myronmarston Skip strange 1.9.2 warning I'm getting on Travis CI. eda62d7
@myronmarston Switch to debugger gem for 1.9 1b4703d
@myronmarston Skip patron on 1.8.7.
The HTTP requests timeout (presumably due to switching to a threaded server instead of a forked one) on 1.8.7. We can safely skip them as there isn't any patron-specific logic in VCR.
@myronmarston Switch back to released faraday.
@i0rek moved the new typhoeus faraday adapter into typhoeus itself.
@myronmarston Don't attempt to run typhoeus specs on non-MRI interpreters.
I'm having FFI problems on JRuby and Rubinius.
@myronmarston Skip cukes that have been intermittently failing on 1.8.7 on travis. 6575a7f
@myronmarston Update changelog.
[ci skip]
@myronmarston 2.3.0 release. 66e0577
Commits on Nov 20, 2012
@myronmarston Update to released versions of things. e298c6c
@myronmarston Put Gemfile.lock under source control.
Even though the bundler team recommends against this for gems, I like having the record of what gem versions the build passed against at specific points in the git history.
@myronmarston Remove trailing ".rb" that is unnecessary. bfd0099
@myronmarston Wait to load http_library_adapters until typhoeus is loaded.
This is necessary because it has conditional logic based on which typhoeus version has been loaded.  The monkey_patches file loads typhoeus.
@myronmarston The newest Typhoeus release breaks backwards compat and requires down…
…case header keys.

See typhoeus/typhoeus#227 for more info.

This is a hack that hopefully we won't have to do in the future, but it'll work for now.
@myronmarston WebMock 1.9 works fine with VCR. f75353b
Commits on Nov 23, 2012
@myronmarston Add regression spec for typhoeus/VCR bug found by @jeg2.
For more details, see:
- typhoeus/typhoeus#240

The fix for the spec was simply updating Typhoeus (now that the
bug has been fixed there and @i0rek cut a release). I had some weird
issues updating Typhoeus where it didn't include ethon in the bundle,
though, so I deleted my Gemfile.lock and re-bundled so it would get
pulled in.
@myronmarston Fix YAML serialization on ruby 2.0.
Fixes #210.

Ruby 2.0 hashes are ordered, too.
Commits on Jan 10, 2014
@JonahMoses JonahMoses Update readme to include irc server and channel
If someone doesn't have an irc client install the link won't work, this way its easy for them to know where to go.
@myronmarston Merge pull request #5 from JonahMoses/patch-1
Update readme to include irc server/channel with link