diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-06-14 12:26:15 +0200 |
---|---|---|
committer | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-06-14 16:34:57 +0200 |
commit | b3523c53ce9e5c970e4535c2292493409efee5af (patch) | |
tree | 5357e703c179a4a09efe0ff371b5c14c21d4347b | |
parent | a9ab27eb93b029e8b675669d9e26ed1e1c902cbb (diff) | |
download | bundler-fix_thread_leak.tar.gz |
Fix incorrect spec nestingfix_thread_leak
-rw-r--r-- | spec/bundler/fetcher/compact_index_spec.rb | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/spec/bundler/fetcher/compact_index_spec.rb b/spec/bundler/fetcher/compact_index_spec.rb index f5ae6f4d77..01db82f011 100644 --- a/spec/bundler/fetcher/compact_index_spec.rb +++ b/spec/bundler/fetcher/compact_index_spec.rb @@ -26,80 +26,80 @@ RSpec.describe Bundler::Fetcher::CompactIndex do compact_index.specs_for_names(["lskdjf"]) end + end + + describe "#available?" do + before do + allow(compact_index).to receive(:compact_index_client). + and_return(double(:compact_index_client, :update_and_parse_checksums! => true)) + end + + it "returns true" do + expect(compact_index).to be_available + end - describe "#available?" do + context "when OpenSSL is not available" do before do - allow(compact_index).to receive(:compact_index_client). - and_return(double(:compact_index_client, :update_and_parse_checksums! => true)) + allow(compact_index).to receive(:require).with("openssl").and_raise(LoadError) end it "returns true" do expect(compact_index).to be_available end + end - context "when OpenSSL is not available" do - before do - allow(compact_index).to receive(:require).with("openssl").and_raise(LoadError) - end + context "when OpenSSL is FIPS-enabled" do + def remove_cached_md5_availability + return unless Bundler::SharedHelpers.instance_variable_defined?(:@md5_available) + Bundler::SharedHelpers.remove_instance_variable(:@md5_available) + end - it "returns true" do - expect(compact_index).to be_available - end + before do + remove_cached_md5_availability + stub_const("OpenSSL::OPENSSL_FIPS", true) end - context "when OpenSSL is FIPS-enabled" do - def remove_cached_md5_availability - return unless Bundler::SharedHelpers.instance_variable_defined?(:@md5_available) - Bundler::SharedHelpers.remove_instance_variable(:@md5_available) - end + after { remove_cached_md5_availability } + context "when FIPS-mode is active" do before do - remove_cached_md5_availability - stub_const("OpenSSL::OPENSSL_FIPS", true) + allow(OpenSSL::Digest::MD5).to receive(:digest). + and_raise(OpenSSL::Digest::DigestError) end - after { remove_cached_md5_availability } - - context "when FIPS-mode is active" do - before do - allow(OpenSSL::Digest::MD5).to receive(:digest). - and_raise(OpenSSL::Digest::DigestError) - end - - it "returns false" do - expect(compact_index).to_not be_available - end + it "returns false" do + expect(compact_index).to_not be_available end + end - it "returns true" do - expect(compact_index).to be_available - end + it "returns true" do + expect(compact_index).to be_available end end + end - context "logging" do - before { allow(compact_index).to receive(:log_specs).and_call_original } + context "logging" do + before { allow(compact_index).to receive(:log_specs).and_call_original } - context "with debug on" do - before do - allow(Bundler).to receive_message_chain(:ui, :debug?).and_return(true) - end + context "with debug on" do + before do + allow(Bundler).to receive_message_chain(:ui, :debug?).and_return(true) + end - it "should log at info level" do - expect(Bundler).to receive_message_chain(:ui, :debug).with('Looking up gems ["lskdjf"]') - compact_index.specs_for_names(["lskdjf"]) - end + it "should log at info level" do + expect(Bundler).to receive_message_chain(:ui, :debug).with('Looking up gems ["lskdjf"]') + compact_index.specs_for_names(["lskdjf"]) end + end - context "with debug off" do - before do - allow(Bundler).to receive_message_chain(:ui, :debug?).and_return(false) - end + context "with debug off" do + before do + allow(Bundler).to receive_message_chain(:ui, :debug?).and_return(false) + end - it "should log at info level" do - expect(Bundler).to receive_message_chain(:ui, :info).with(".", false) - compact_index.specs_for_names(["lskdjf"]) - end + it "should log at info level" do + expect(Bundler).to receive_message_chain(:ui, :info).with(".", false) + compact_index.specs_for_names(["lskdjf"]) end end end |