[DRE-maint] Bug#926827: ruby-vcr: FTBFS randomly (failing tests)

Santiago Vila sanvila at unex.es
Thu Apr 18 11:50:24 BST 2019


retitle 926827 ruby-vcr: FTBFS randomly (failing tests)
severity 926827 important
tags 926827 + patch
thanks

Hi. This is really random, so I'm downgrading.

I've put a bunch of build logs here from my autobuilders:

https://people.debian.org/~sanvila/build-logs/ruby-vcr/

The failing test seems to be always the same:

-------------------------------------------------------------------
Failed examples:

rspec ./spec/acceptance/concurrency_spec.rb:15 # VCR when used in a multithreaded environment with an around_http_request can use a cassette in an #around_http_request hook
-------------------------------------------------------------------

If the package is useful "as is", and this failing test does not mean
the package is broken, I would recommend disabling it for buster
before the release. (There will plenty of time to forward the bug
upstream and fix it properly).

The patch below may help, but please be warned that I don't know ruby
and it's untested.

[ Note: If you can't reproduce the randomness, please contact me privately and
  I will gladly offer ssh access to a machine where this failure happens ].

Thanks.

--- a/spec/acceptance/concurrency_spec.rb
+++ b/spec/acceptance/concurrency_spec.rb
@@ -12,24 +12,6 @@ describe VCR do
 
     before { preload_yaml_serializer_to_avoid_circular_require_warning_race_condition }
 
-    it 'can use a cassette in an #around_http_request hook', :if => (RUBY_VERSION.to_f > 1.8) do
-      VCR.configure do |vcr|
-        vcr.around_http_request do |req|
-          VCR.use_cassette(req.parsed_uri.path, &req)
-        end
-      end
-
-      threads = 50.times.map do
-        Thread.start do
-          Excon.get "http://localhost:#{VCR::SinatraApp.port}/search?q=thread"
-        end
-      end
-      Excon.get "http://localhost:#{VCR::SinatraApp.port}/foo"
-      threads.each(&:join)
-
-      expect(recorded_content_for("search") +
-             recorded_content_for("foo")).to include("query: thread", "FOO!")
-    end
   end
 
   context 'when used in a multithreaded environment with a cassette', :with_monkey_patches => :excon do



More information about the Pkg-ruby-extras-maintainers mailing list