summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@opscode.com>2021-03-23 00:57:36 -0700
committerGitHub <noreply@github.com>2021-03-23 00:57:36 -0700
commit33bd8ff233527e2f57c3d5faa78965e71bb43061 (patch)
treebeef795785a0d697a1047af592cece1b15059ec4
parenta936b0af98ed729fbefc131a55c7ac0bd864bc49 (diff)
parent0b447964d67764aef8ef737a142c213e171a5eca (diff)
downloadchef-33bd8ff233527e2f57c3d5faa78965e71bb43061.tar.gz
Merge pull request #11211 from chef/lcg/backport-post-bundle-install2
-rw-r--r--Gemfile.lock104
-rw-r--r--habitat/plan.sh8
-rw-r--r--kitchen-tests/Gemfile10
-rw-r--r--kitchen-tests/cookbooks/end_to_end/attributes/default.rb7
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/default.rb9
-rw-r--r--kitchen-tests/data_bags/users/adam.json2
-rw-r--r--kitchen-tests/kitchen.yml11
-rw-r--r--omnibus/Gemfile.lock54
-rw-r--r--post-bundle-install.rb29
-rw-r--r--spec/unit/knife/supermarket_share_spec.rb6
-rwxr-xr-xtasks/bin/run_external_test2
11 files changed, 142 insertions, 100 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 9dec156e3b..261ae8e2a0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -126,7 +126,7 @@ GEM
appbundler (0.13.2)
mixlib-cli (>= 1.4, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
- ast (2.4.1)
+ ast (2.4.2)
bcrypt_pbkdf (1.1.0)
bcrypt_pbkdf (1.1.0-x64-mingw32)
bcrypt_pbkdf (1.1.0-x86-mingw32)
@@ -134,10 +134,9 @@ GEM
debug_inspector (>= 0.0.1)
builder (3.2.4)
byebug (11.1.3)
- chef-telemetry (1.0.14)
+ chef-telemetry (1.0.29)
chef-config
concurrent-ruby (~> 1.0)
- ffi-yajl (~> 2.2)
chef-vault (4.1.0)
chef-zero (14.0.17)
ffi-yajl (~> 2.2)
@@ -151,7 +150,7 @@ GEM
chefstyle (1.2.1)
rubocop (= 0.89.1)
coderay (1.1.3)
- concurrent-ruby (1.1.7)
+ concurrent-ruby (1.1.8)
crack (0.4.5)
rexml
debug_inspector (1.0.0)
@@ -159,14 +158,19 @@ GEM
ed25519 (1.2.4)
erubi (1.10.0)
erubis (2.7.0)
- faraday (1.0.1)
+ faraday (1.3.0)
+ faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
- fauxhai-ng (8.3.1)
+ ruby2_keywords
+ faraday-net_http (1.0.1)
+ faraday_middleware (1.0.0)
+ faraday (~> 1.0)
+ fauxhai-ng (8.7.0)
net-ssh
- ffi (1.13.1)
- ffi (1.13.1-x64-mingw32)
- ffi (1.13.1-x86-mingw32)
- ffi-libarchive (1.0.4)
+ ffi (1.15.0)
+ ffi (1.15.0-x64-mingw32)
+ ffi (1.15.0-x86-mingw32)
+ ffi-libarchive (1.0.17)
ffi (~> 1.0)
ffi-win32-extensions (1.0.4)
ffi
@@ -182,30 +186,31 @@ GEM
highline (1.7.10)
httpclient (2.8.3)
iniparse (1.5.0)
- inspec-core (4.24.8)
+ inspec-core (4.28.0)
addressable (~> 2.4)
chef-telemetry (~> 1.0)
- faraday (>= 0.9.0, < 1.1)
- hashie (~> 3.4)
+ faraday (>= 0.9.0, < 1.4)
+ faraday_middleware (~> 1.0)
+ hashie (>= 3.4, < 5.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9)
- parslet (~> 1.5)
+ parslet (>= 1.5, < 2.0)
pry (~> 0.13)
- rspec (~> 3.9.0)
+ rspec (>= 3.9, < 3.11)
rspec-its (~> 1.2)
- rubyzip (~> 1.2, >= 1.2.2)
+ rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
- tomlrb (~> 1.2.0)
+ tomlrb (>= 1.2, < 2.1)
train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
- inspec-core-bin (4.24.8)
- inspec-core (= 4.24.8)
+ inspec-core-bin (4.28.0)
+ inspec-core (= 4.28.0)
ipaddress (0.8.3)
iso8601 (0.13.0)
json (2.5.1)
@@ -220,11 +225,11 @@ GEM
little-plugger (~> 1.1)
multi_json (~> 1.14)
method_source (1.0.0)
- mixlib-archive (1.0.7)
+ mixlib-archive (1.1.7)
mixlib-log
- mixlib-archive (1.0.7-universal-mingw32)
+ mixlib-archive (1.1.7-universal-mingw32)
mixlib-log
- mixlib-authentication (3.0.7)
+ mixlib-authentication (3.0.10)
mixlib-cli (2.1.8)
mixlib-config (3.0.9)
tomlrb
@@ -274,24 +279,24 @@ GEM
rainbow (3.0.0)
rake (12.3.3)
rb-readline (0.5.5)
- regexp_parser (2.0.3)
+ regexp_parser (2.1.1)
rexml (3.2.4)
- rspec (3.9.0)
- rspec-core (~> 3.9.0)
- rspec-expectations (~> 3.9.0)
- rspec-mocks (~> 3.9.0)
- rspec-core (3.9.3)
- rspec-support (~> 3.9.3)
- rspec-expectations (3.9.4)
+ rspec (3.10.0)
+ rspec-core (~> 3.10.0)
+ rspec-expectations (~> 3.10.0)
+ rspec-mocks (~> 3.10.0)
+ rspec-core (3.10.1)
+ rspec-support (~> 3.10.0)
+ rspec-expectations (3.10.1)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.9.0)
+ rspec-support (~> 3.10.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
- rspec-mocks (3.9.1)
+ rspec-mocks (3.10.2)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.9.0)
- rspec-support (3.9.4)
+ rspec-support (~> 3.10.0)
+ rspec-support (3.10.2)
rspec_junit_formatter (0.2.3)
builder (< 4)
rspec-core (>= 2, < 4, != 2.12.0)
@@ -309,30 +314,31 @@ GEM
ruby-prof (1.2.0)
ruby-progressbar (1.11.0)
ruby-shadow (2.5.0)
- rubyntlm (0.6.2)
- rubyzip (1.3.0)
+ ruby2_keywords (0.0.4)
+ rubyntlm (0.6.3)
+ rubyzip (2.3.0)
semverse (3.0.0)
slop (3.6.0)
sslshake (1.3.1)
- strings (0.2.0)
+ strings (0.2.1)
strings-ansi (~> 0.2)
- unicode-display_width (~> 1.5)
+ unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
structured_warnings (0.4.0)
syslog-logger (1.6.8)
systemu (2.6.5)
- thor (1.0.1)
- tomlrb (1.2.9)
- train-core (3.4.4)
+ thor (1.1.0)
+ tomlrb (1.3.0)
+ train-core (3.5.4)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0)
net-ssh (>= 2.9, < 7.0)
- train-winrm (0.2.11)
- winrm (~> 2.0)
+ train-winrm (0.2.12)
+ winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.7.0)
@@ -356,12 +362,12 @@ GEM
unicode-display_width (1.7.0)
unicode_utils (1.4.0)
uuidtools (2.1.5)
- webmock (3.11.0)
+ webmock (3.12.1)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
win32-api (1.5.3-universal-mingw32)
- win32-certstore (0.4.1)
+ win32-certstore (0.6.1)
ffi
mixlib-shellout
win32-dir (0.5.1)
@@ -384,7 +390,7 @@ GEM
win32-taskscheduler (2.0.4)
ffi
structured_warnings
- winrm (2.3.5)
+ winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
@@ -392,15 +398,15 @@ GEM
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
- rubyntlm (~> 0.6.0, >= 0.6.1)
+ rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
- winrm-fs (1.3.3)
+ winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
- rubyzip (~> 1.1)
+ rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
wmi-lite (1.0.5)
diff --git a/habitat/plan.sh b/habitat/plan.sh
index 2bc13785d8..1f7c4fb065 100644
--- a/habitat/plan.sh
+++ b/habitat/plan.sh
@@ -95,14 +95,10 @@ do_build() {
( cd "$CACHE_PATH" || exit_with "unable to enter hab-cache directory" 1
build_line "Installing gem dependencies ..."
bundle install --jobs=3 --retry=3
+ build_line "Installing gems from git repos properly ..."
+ ruby ./post-bundle-install.rb
build_line "Installing this project's gems ..."
bundle exec rake install
- for gem in $GEM_HOME/bundler/gems/*; do
- ( cd $gem
- build_line "Installing gems from git repos properly ..."
- rake install
- )
- done
)
}
diff --git a/kitchen-tests/Gemfile b/kitchen-tests/Gemfile
index 151af64fac..61bfe020b7 100644
--- a/kitchen-tests/Gemfile
+++ b/kitchen-tests/Gemfile
@@ -1,10 +1,10 @@
source "https://rubygems.org"
gem "rake" # required to build some native extensions
-gem "chef", path: ".."
-gem "ohai", git: "https://github.com/chef/ohai.git", branch: "15-stable" # avoids failures when we bump chef major
-gem "berkshelf", git: "https://github.com/berkshelf/berkshelf.git", branch: "master"
+gem "chef", "~> 16.0"
+gem "ohai", "~> 16.0"
+gem "berkshelf"
gem "kitchen-dokken", "~> 2.0"
-gem "kitchen-inspec", git: "https://github.com/chef/kitchen-inspec.git", branch: "master"
+gem "kitchen-inspec"
gem "inspec"
-gem "test-kitchen", git: "https://github.com/test-kitchen/test-kitchen.git", branch: "master"
+gem "test-kitchen"
diff --git a/kitchen-tests/cookbooks/end_to_end/attributes/default.rb b/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
index 332a3fe462..052d89a474 100644
--- a/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
+++ b/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
@@ -65,13 +65,6 @@ default["chef_client"]["config"]["verbose_logging"] = false
default["chef_client"]["chef_license"] = "accept-no-persist"
#
-# resolver cookbook overrides
-#
-
-default["resolver"]["nameservers"] = [ "8.8.8.8", "8.8.4.4" ]
-default["resolver"]["search"] = "chef.io"
-
-#
# nscd cookbook overrides
#
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/default.rb b/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
index c387c87e6b..b782f958cd 100644
--- a/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
@@ -44,10 +44,17 @@ include_recipe "::packages"
include_recipe "ntp"
-include_recipe "resolver"
+resolver_config "/etc/resolv.conf" do
+ nameservers [ "8.8.8.8", "8.8.4.4" ]
+ search [ "chef.io" ]
+end
+
+users_from_databag = search("users", "*:*")
users_manage "sysadmin" do
+ group_name "sysadmin"
group_id 2300
+ users users_from_databag
action [:create]
end
diff --git a/kitchen-tests/data_bags/users/adam.json b/kitchen-tests/data_bags/users/adam.json
index f96d7c213f..ecd4b73e74 100644
--- a/kitchen-tests/data_bags/users/adam.json
+++ b/kitchen-tests/data_bags/users/adam.json
@@ -5,5 +5,5 @@
"shell": "/bin/zsh",
"groups": [ "sysadmin" ],
"comment": "Adam Jacob",
- "password": "*"
+ "password": "$6$QQk10qmDjMv.o$wHIjLH9JOxUmaJTsxYFttFhP1jZZtTk/ovhpasmQJS5mfimeFs8HMRWGWM8uBB5dhEmP6svqhRdJE5k1oWRPF1"
}
diff --git a/kitchen-tests/kitchen.yml b/kitchen-tests/kitchen.yml
index 3ceb111f6a..fccf46bb22 100644
--- a/kitchen-tests/kitchen.yml
+++ b/kitchen-tests/kitchen.yml
@@ -22,8 +22,18 @@ lifecycle:
- remote: /opt/chef/embedded/bin/rake --version
- remote: /opt/chef/embedded/bin/bundle -v
- remote: /opt/chef/embedded/bin/gem install appbundler appbundle-updater --no-doc
+ - remote: scl enable devtoolset-8 '/opt/chef/embedded/bin/appbundle-updater chef ohai <%= File.readlines('../Gemfile.lock', File.expand_path(File.dirname(__FILE__))).find { |l| l =~ /^\s+ohai \((\d+\.\d+\.\d+)\)/ }; 'v' + $1 %> --tarball --github chef/ohai'
+ includes:
+ - centos-6
+ - remote: scl enable devtoolset-8 '/opt/chef/embedded/bin/appbundle-updater chef chef <%= ENV['BUILDKITE_COMMIT'] || %x(git rev-parse HEAD).chomp %> --tarball --github chef/chef'
+ includes:
+ - centos-6
- remote: /opt/chef/embedded/bin/appbundle-updater chef ohai <%= File.readlines('../Gemfile.lock', File.expand_path(File.dirname(__FILE__))).find { |l| l =~ /^\s+ohai \((\d+\.\d+\.\d+)\)/ }; 'v' + $1 %> --tarball --github chef/ohai
+ excludes:
+ - centos-6
- remote: /opt/chef/embedded/bin/appbundle-updater chef chef <%= ENV['BUILDKITE_COMMIT'] || %x(git rev-parse HEAD).chomp %> --tarball --github chef/chef
+ excludes:
+ - centos-6
- remote: echo "Installed Chef / Ohai release:"
- remote: /opt/chef/bin/chef-client -v
- remote: /opt/chef/bin/ohai -v
@@ -76,7 +86,6 @@ platforms:
- RUN sed -i -e "s/Defaults.*requiretty.*/Defaults !requiretty/g" /etc/sudoers
- RUN yum install -y centos-release-scl
- RUN yum install -y devtoolset-7
- - RUN scl enable devtoolset-7 bash
- name: centos-7
driver:
diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock
index 822ed15ebb..827136634b 100644
--- a/omnibus/Gemfile.lock
+++ b/omnibus/Gemfile.lock
@@ -18,7 +18,7 @@ GIT
GIT
remote: https://github.com/chef/omnibus-software
- revision: f903311ba8ae9ff8f1e7bd7a9c21421fd39f7c7e
+ revision: 5286aa675239cf2ed36c7412625fbfb375575fdd
branch: master
specs:
omnibus-software (4.0.0)
@@ -32,7 +32,7 @@ GEM
artifactory (3.0.15)
awesome_print (1.9.2)
aws-eventstream (1.1.1)
- aws-partitions (1.433.0)
+ aws-partitions (1.434.0)
aws-sdk-core (3.113.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
@@ -41,15 +41,15 @@ GEM
aws-sdk-kms (1.43.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.91.0)
+ aws-sdk-s3 (1.92.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.3)
aws-eventstream (~> 1, >= 1.0.2)
- bcrypt_pbkdf (1.1.0.rc2)
- bcrypt_pbkdf (1.1.0.rc2-x64-mingw32)
- bcrypt_pbkdf (1.1.0.rc2-x86-mingw32)
+ bcrypt_pbkdf (1.1.0)
+ bcrypt_pbkdf (1.1.0-x64-mingw32)
+ bcrypt_pbkdf (1.1.0-x86-mingw32)
berkshelf (7.2.0)
chef (>= 15.7.32)
chef-config
@@ -64,12 +64,12 @@ GEM
solve (~> 4.0)
thor (>= 0.20)
builder (3.2.4)
- chef (16.10.8)
+ chef (16.11.7)
addressable
- bcrypt_pbkdf (= 1.1.0.rc2)
+ bcrypt_pbkdf (~> 1.1)
bundler (>= 1.10)
- chef-config (= 16.10.8)
- chef-utils (= 16.10.8)
+ chef-config (= 16.11.7)
+ chef-utils (= 16.11.7)
chef-vault
chef-zero (>= 14.0.11)
diff-lcs (>= 1.2.4, < 1.4.0)
@@ -101,12 +101,12 @@ GEM
tty-screen (~> 0.6)
tty-table (~> 0.11)
uuidtools (>= 2.1.5, < 3.0)
- chef (16.10.8-universal-mingw32)
+ chef (16.11.7-universal-mingw32)
addressable
- bcrypt_pbkdf (= 1.1.0.rc2)
+ bcrypt_pbkdf (~> 1.1)
bundler (>= 1.10)
- chef-config (= 16.10.8)
- chef-utils (= 16.10.8)
+ chef-config (= 16.11.7)
+ chef-utils (= 16.11.7)
chef-vault
chef-zero (>= 14.0.11)
diff-lcs (>= 1.2.4, < 1.4.0)
@@ -140,7 +140,7 @@ GEM
tty-table (~> 0.11)
uuidtools (>= 2.1.5, < 3.0)
win32-api (~> 1.5.3)
- win32-certstore (~> 0.5)
+ win32-certstore (~> 0.5.0)
win32-event (~> 0.6.1)
win32-eventlog (= 0.6.3)
win32-mmap (~> 0.4.1)
@@ -150,18 +150,17 @@ GEM
win32-taskscheduler (~> 2.0)
wmi-lite (~> 1.0)
chef-cleanroom (1.0.2)
- chef-config (16.10.8)
+ chef-config (16.11.7)
addressable
- chef-utils (= 16.10.8)
+ chef-utils (= 16.11.7)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
- chef-telemetry (1.0.14)
+ chef-telemetry (1.0.29)
chef-config
concurrent-ruby (~> 1.0)
- ffi-yajl (~> 2.2)
- chef-utils (16.10.8)
+ chef-utils (16.11.7)
chef-vault (4.1.0)
chef-zero (15.0.4)
ffi-yajl (~> 2.2)
@@ -203,7 +202,7 @@ GEM
highline (2.0.3)
httpclient (2.8.3)
iniparse (1.5.0)
- inspec-core (4.26.4)
+ inspec-core (4.28.0)
addressable (~> 2.4)
chef-telemetry (~> 1.0)
faraday (>= 0.9.0, < 1.4)
@@ -253,11 +252,11 @@ GEM
mixlib-log
mixlib-archive (1.1.7-universal-mingw32)
mixlib-log
- mixlib-authentication (3.0.7)
+ mixlib-authentication (3.0.10)
mixlib-cli (2.1.8)
mixlib-config (3.0.9)
tomlrb
- mixlib-install (3.12.7)
+ mixlib-install (3.12.11)
mixlib-shellout
mixlib-versioning
thor
@@ -347,15 +346,16 @@ GEM
molinillo (~> 0.6)
semverse (>= 1.1, < 4.0)
sslshake (1.3.1)
- strings (0.2.0)
+ strings (0.2.1)
strings-ansi (~> 0.2)
- unicode-display_width (~> 1.5)
+ unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
structured_warnings (0.4.0)
syslog-logger (1.6.8)
- test-kitchen (2.10.0)
+ test-kitchen (2.11.1)
bcrypt_pbkdf (~> 1.0)
+ chef-utils (>= 16.4.35)
ed25519 (~> 1.2)
license-acceptance (>= 1.0.11, < 3.0)
mixlib-install (~> 3.6)
@@ -400,7 +400,7 @@ GEM
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
- unicode-display_width (1.7.0)
+ unicode-display_width (2.0.0)
unicode_utils (1.4.0)
uuidtools (2.2.0)
webrick (1.7.0)
diff --git a/post-bundle-install.rb b/post-bundle-install.rb
new file mode 100644
index 0000000000..9d7491de77
--- /dev/null
+++ b/post-bundle-install.rb
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+
+gem_home = Gem.paths.home
+
+puts "fixing bundle installed gems in #{gem_home}"
+
+# Install gems from git repos. This makes the assumption that there is a <gem_name>.gemspec and
+# you can simply gem build + gem install the resulting gem, so nothing fancy. This does not use
+# rake install since we need --conservative --minimal-deps in order to not install duplicate gems.
+#
+Dir["#{gem_home}/bundler/gems/*"].each do |gempath|
+ matches = File.basename(gempath).match(/(.*)-[A-Fa-f0-9]{12}/)
+ next unless matches
+
+ gem_name = matches[1]
+ next unless gem_name
+
+ next if gem_name == "chef"
+
+ puts "re-installing #{gem_name}..."
+
+ # we can't use "commmand" or "bundle" or "gem" DSL methods here since those are lazy and we need to run commands immediately
+ # (this is like a shell_out inside of a ruby_block in core chef, you don't use an execute resource inside of a ruby_block or
+ # things get really weird and unexpected)
+ Dir.chdir(gempath) do
+ system("gem build #{gem_name}.gemspec") or raise "gem build failed"
+ system("gem install #{gem_name}*.gem --conservative --minimal-deps --no-document") or raise "gem install failed"
+ end
+end
diff --git a/spec/unit/knife/supermarket_share_spec.rb b/spec/unit/knife/supermarket_share_spec.rb
index f6c44f4cd8..9e9d520540 100644
--- a/spec/unit/knife/supermarket_share_spec.rb
+++ b/spec/unit/knife/supermarket_share_spec.rb
@@ -140,7 +140,9 @@ describe Chef::Knife::SupermarketShare do
before do
allow(Chef::CookbookSiteStreamingUploader).to receive(:create_build_dir).and_return("/var/tmp/dummy")
@knife.config = { dry_run: true }
- allow(@knife).to receive_message_chain(:shell_out!, :stdout).and_return("file")
+ @so = instance_double("Mixlib::ShellOut")
+ allow(@knife).to receive(:shell_out!).and_return(@so)
+ allow(@so).to receive(:stdout).and_return("file")
end
it "should list files in the tarball" do
@@ -151,7 +153,7 @@ describe Chef::Knife::SupermarketShare do
end
it "does not upload the cookbook" do
- allow(@knife).to receive(:shell_out!).and_return(true)
+ allow(@knife).to receive(:shell_out!).and_return(@so)
expect(@knife).not_to receive(:do_upload)
@knife.run
end
diff --git a/tasks/bin/run_external_test b/tasks/bin/run_external_test
index 36fde0ea4d..95466bca6b 100755
--- a/tasks/bin/run_external_test
+++ b/tasks/bin/run_external_test
@@ -32,7 +32,7 @@ Dir.mktmpdir("chef-external-test") do |dir|
Dir.chdir(dir) do
shell_out!("git checkout #{git_thing}", live_stream: STDOUT)
Bundler.with_clean_env do
- shell_out!("bundle install", live_stream: STDOUT, env: env)
+ shell_out!("bundle install --jobs=3 --retry=3", live_stream: STDOUT, env: env, timeout: 3600)
shell_out!("bundle exec #{ARGV.join(" ")}", live_stream: STDOUT, env: env)
end
end