summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2019-06-14 12:26:15 +0200
committerDavid Rodríguez <deivid.rodriguez@riseup.net>2019-06-14 16:34:57 +0200
commitb3523c53ce9e5c970e4535c2292493409efee5af (patch)
tree5357e703c179a4a09efe0ff371b5c14c21d4347b
parenta9ab27eb93b029e8b675669d9e26ed1e1c902cbb (diff)
downloadbundler-fix_thread_leak.tar.gz
Fix incorrect spec nestingfix_thread_leak
-rw-r--r--spec/bundler/fetcher/compact_index_spec.rb98
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