summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2018-09-25 22:33:30 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2018-09-25 22:33:30 -0700
commit9fb62cda391591e0369ce32b8c8ec1afd3dfb8af (patch)
treeddfda448b6b63e88da8ed2e865a29311c18538bf
parent671a1a740209a021fd31f451ec233bd884a5a37f (diff)
downloadchef-9fb62cda391591e0369ce32b8c8ec1afd3dfb8af.tar.gz
Work around rspec 3.8.0 issues
Problem is described in detail here: https://github.com/rspec/rspec-expectations/issues/1068#issuecomment-424580564 Note that this is self-inflicted damage and our pattern of having #to_hash on objects be called by #to_json and to produce a serialized 'flavor' of the object breaks what ruby's semantics are supposed to be and those should all be `#to_h` methods, and we should deprecate `#to_hash` but I imagine that will be a reasonably large breaking change (Although hopefully most of the use by users will be Node#to_hash which is entirely correct usage since that thing is actually a kind of glorified Hash-like monster). Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--Gemfile.lock34
-rw-r--r--chef.gemspec2
-rw-r--r--omnibus/Gemfile.lock26
-rw-r--r--spec/unit/run_context/child_run_context_spec.rb6
-rw-r--r--spec/unit/shell/shell_session_spec.rb5
5 files changed, 37 insertions, 36 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 31fa6e95b0..72457137f0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -32,9 +32,9 @@ PATH
ohai (~> 14.0)
plist (~> 3.2)
proxifier (~> 1.0)
- rspec-core (~> 3.5, < 3.8)
- rspec-expectations (~> 3.5, < 3.8)
- rspec-mocks (~> 3.5, < 3.8)
+ rspec-core (~> 3.5)
+ rspec-expectations (~> 3.5)
+ rspec-mocks (~> 3.5)
rspec_junit_formatter (~> 0.2.0)
serverspec (~> 2.7)
specinfra (~> 2.10)
@@ -63,9 +63,9 @@ PATH
ohai (~> 14.0)
plist (~> 3.2)
proxifier (~> 1.0)
- rspec-core (~> 3.5, < 3.8)
- rspec-expectations (~> 3.5, < 3.8)
- rspec-mocks (~> 3.5, < 3.8)
+ rspec-core (~> 3.5)
+ rspec-expectations (~> 3.5)
+ rspec-mocks (~> 3.5)
rspec_junit_formatter (~> 0.2.0)
serverspec (~> 2.7)
specinfra (~> 2.10)
@@ -243,22 +243,22 @@ GEM
rainbow (3.0.0)
rake (12.3.1)
rb-readline (0.5.5)
- rspec (3.7.0)
- rspec-core (~> 3.7.0)
- rspec-expectations (~> 3.7.0)
- rspec-mocks (~> 3.7.0)
- rspec-core (3.7.1)
- rspec-support (~> 3.7.0)
- rspec-expectations (3.7.0)
+ rspec (3.8.0)
+ rspec-core (~> 3.8.0)
+ rspec-expectations (~> 3.8.0)
+ rspec-mocks (~> 3.8.0)
+ rspec-core (3.8.0)
+ rspec-support (~> 3.8.0)
+ rspec-expectations (3.8.1)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.7.0)
+ rspec-support (~> 3.8.0)
rspec-its (1.2.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
- rspec-mocks (3.7.0)
+ rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.7.0)
- rspec-support (3.7.1)
+ rspec-support (~> 3.8.0)
+ rspec-support (3.8.0)
rspec_junit_formatter (0.2.3)
builder (< 4)
rspec-core (>= 2, < 4, != 2.12.0)
diff --git a/chef.gemspec b/chef.gemspec
index 6cbbe4b7fc..6ad2e4e2c3 100644
--- a/chef.gemspec
+++ b/chef.gemspec
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
s.add_dependency "iso8601", "~> 0.11.0"
# Audit mode requires these, so they are non-developmental dependencies now
- %w{rspec-core rspec-expectations rspec-mocks}.each { |gem| s.add_dependency gem, "~> 3.5", "< 3.8" }
+ %w{rspec-core rspec-expectations rspec-mocks}.each { |gem| s.add_dependency gem, "~> 3.5" }
s.add_dependency "rspec_junit_formatter", "~> 0.2.0"
s.add_dependency "serverspec", "~> 2.7"
s.add_dependency "specinfra", "~> 2.10"
diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock
index ec0ea17772..1abb83416f 100644
--- a/omnibus/Gemfile.lock
+++ b/omnibus/Gemfile.lock
@@ -31,13 +31,13 @@ GEM
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
awesome_print (1.8.0)
- aws-sdk (2.11.135)
- aws-sdk-resources (= 2.11.135)
- aws-sdk-core (2.11.135)
+ aws-sdk (2.11.137)
+ aws-sdk-resources (= 2.11.137)
+ aws-sdk-core (2.11.137)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
- aws-sdk-resources (2.11.135)
- aws-sdk-core (= 2.11.135)
+ aws-sdk-resources (2.11.137)
+ aws-sdk-core (= 2.11.137)
aws-sigv4 (1.0.3)
berkshelf (7.0.6)
chef (>= 13.6.52)
@@ -56,10 +56,10 @@ GEM
debug_inspector (>= 0.0.1)
builder (3.2.3)
byebug (10.0.2)
- chef (14.5.27)
+ chef (14.5.33)
addressable
bundler (>= 1.10)
- chef-config (= 14.5.27)
+ chef-config (= 14.5.33)
chef-zero (>= 13.0)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
@@ -87,10 +87,10 @@ GEM
specinfra (~> 2.10)
syslog-logger (~> 1.6)
uuidtools (~> 2.1.5)
- chef (14.5.27-universal-mingw32)
+ chef (14.5.33-universal-mingw32)
addressable
bundler (>= 1.10)
- chef-config (= 14.5.27)
+ chef-config (= 14.5.33)
chef-zero (>= 13.0)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
@@ -129,7 +129,7 @@ GEM
win32-taskscheduler (~> 1.0.0)
windows-api (~> 0.4.4)
wmi-lite (~> 1.0)
- chef-config (14.5.27)
+ chef-config (14.5.33)
addressable
fuzzyurl
mixlib-config (>= 2.2.12, < 3.0)
@@ -213,7 +213,7 @@ GEM
net-ssh-multi (1.2.1)
net-ssh (>= 2.6.5)
net-ssh-gateway (>= 1.2.0)
- net-telnet (0.2.0)
+ net-telnet (0.1.1)
nori (2.6.0)
octokit (4.12.0)
sawyer (~> 0.8.0, >= 0.5.3)
@@ -285,10 +285,10 @@ GEM
solve (4.0.0)
molinillo (~> 0.6)
semverse (>= 1.1, < 3.0)
- specinfra (2.76.1)
+ specinfra (2.76.2)
net-scp
net-ssh (>= 2.7)
- net-telnet
+ net-telnet (= 0.1.1)
sfl
structured_warnings (0.3.0)
syslog-logger (1.6.8)
diff --git a/spec/unit/run_context/child_run_context_spec.rb b/spec/unit/run_context/child_run_context_spec.rb
index 47a6c84f7a..be45aaa1cc 100644
--- a/spec/unit/run_context/child_run_context_spec.rb
+++ b/spec/unit/run_context/child_run_context_spec.rb
@@ -2,7 +2,7 @@
# Author:: Adam Jacob (<adam@chef.io>)
# Author:: Tim Hinderliter (<tim@chef.io>)
# Author:: Christopher Walters (<cw@chef.io>)
-# Copyright:: Copyright 2008-2016, Chef Software Inc.
+# Copyright:: Copyright 2008-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -55,8 +55,8 @@ describe Chef::RunContext::ChildRunContext do
expect(child.resource_collection.object_id).not_to eq run_context.resource_collection.object_id
f = Chef::Resource::File.new("hi", child)
child.resource_collection.insert(f)
- expect(child.resource_collection).to include f
- expect(run_context.resource_collection).not_to include f
+ expect(child.resource_collection.include?(f)).to be true
+ expect(run_context.resource_collection.include?(f)).to be false
end
it "immediate_notification_collection is not the same as the parent" do
diff --git a/spec/unit/shell/shell_session_spec.rb b/spec/unit/shell/shell_session_spec.rb
index ce66676196..2e32e6547d 100644
--- a/spec/unit/shell/shell_session_spec.rb
+++ b/spec/unit/shell/shell_session_spec.rb
@@ -204,7 +204,7 @@ describe Shell::SoloLegacySession do
allow(@session).to receive(:node_built?).and_return(true)
kitteh = Chef::Resource::Cat.new("keyboard")
@recipe.run_context.resource_collection << kitteh
- expect(@session.resource_collection).to include(kitteh)
+ expect(@session.resource_collection.include?(kitteh)).to be true
end
it "returns definitions from its compilation object" do
@@ -224,7 +224,8 @@ describe Shell::SoloLegacySession do
keyboard_cat = Chef::Resource::Cat.new("keyboard_cat")
@recipe.run_context.resource_collection << keyboard_cat
# @session.rebuild_collection
- expect(@session.resource_collection).to include(kitteh_cat, keyboard_cat)
+ expect(@session.resource_collection.include?(kitteh_cat)).to be true
+ expect(@session.resource_collection.include?(keyboard_cat)).to be true
end
it "runs chef with a resource collection from the compiled cookbooks" do