test-kitchen 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +29 -33
- data/CHANGELOG.md +86 -2
- data/CONTRIBUTING.md +17 -0
- data/Gemfile.proxy_tests +5 -0
- data/MAINTAINERS.md +24 -0
- data/features/kitchen_driver_discover_command.feature +6 -0
- data/features/kitchen_init_command.feature +55 -7
- data/features/step_definitions/gem_steps.rb +12 -4
- data/features/step_definitions/git_steps.rb +1 -1
- data/features/step_definitions/output_steps.rb +1 -1
- data/features/support/env.rb +13 -9
- data/lib/kitchen/cli.rb +46 -5
- data/lib/kitchen/command/driver_discover.rb +8 -0
- data/lib/kitchen/command.rb +1 -0
- data/lib/kitchen/config.rb +4 -0
- data/lib/kitchen/configurable.rb +32 -0
- data/lib/kitchen/driver/ssh_base.rb +18 -4
- data/lib/kitchen/generator/driver_create.rb +2 -2
- data/lib/kitchen/generator/init.rb +4 -4
- data/lib/kitchen/instance.rb +7 -0
- data/lib/kitchen/lazy_hash.rb +20 -0
- data/lib/kitchen/logger.rb +4 -7
- data/lib/kitchen/provisioner/base.rb +16 -1
- data/lib/kitchen/provisioner/chef_base.rb +43 -98
- data/lib/kitchen/provisioner/chef_solo.rb +7 -4
- data/lib/kitchen/provisioner/chef_zero.rb +12 -5
- data/lib/kitchen/ssh.rb +1 -1
- data/lib/kitchen/transport/base.rb +7 -0
- data/lib/kitchen/transport/ssh.rb +13 -6
- data/lib/kitchen/transport/winrm.rb +168 -50
- data/lib/kitchen/verifier/base.rb +18 -1
- data/lib/kitchen/verifier/busser.rb +12 -5
- data/lib/kitchen/verifier/shell.rb +101 -0
- data/lib/kitchen/version.rb +1 -2
- data/spec/kitchen/collection_spec.rb +1 -1
- data/spec/kitchen/configurable_spec.rb +211 -2
- data/spec/kitchen/driver/ssh_base_spec.rb +131 -8
- data/spec/kitchen/lazy_hash_spec.rb +27 -0
- data/spec/kitchen/logger_spec.rb +10 -0
- data/spec/kitchen/provisioner/base_spec.rb +25 -0
- data/spec/kitchen/provisioner/chef_base_spec.rb +133 -252
- data/spec/kitchen/provisioner/chef_solo_spec.rb +30 -0
- data/spec/kitchen/provisioner/chef_zero_spec.rb +27 -2
- data/spec/kitchen/provisioner/shell_spec.rb +60 -12
- data/spec/kitchen/ssh_spec.rb +1 -1
- data/spec/kitchen/transport/ssh_spec.rb +2 -1
- data/spec/kitchen/transport/winrm_spec.rb +228 -48
- data/spec/kitchen/verifier/base_spec.rb +26 -0
- data/spec/kitchen/verifier/busser_spec.rb +69 -3
- data/spec/kitchen/verifier/shell_spec.rb +157 -0
- data/support/busser_install_command.sh +1 -2
- data/support/chef_base_install_command.ps1 +19 -12
- data/templates/driver/README.md.erb +1 -1
- data/test-kitchen.gemspec +12 -3
- metadata +106 -10
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Author:: SAWANOBORI Yukihiko (<sawanoboriyu@higanworks.com>)
|
|
4
|
+
#
|
|
5
|
+
# Copyright (C) 2015, HiganWorks LLC
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
require_relative "../../spec_helper"
|
|
20
|
+
|
|
21
|
+
require "logger"
|
|
22
|
+
require "stringio"
|
|
23
|
+
|
|
24
|
+
require "kitchen/verifier/shell"
|
|
25
|
+
|
|
26
|
+
describe Kitchen::Verifier::Shell do
|
|
27
|
+
|
|
28
|
+
let(:logged_output) { StringIO.new }
|
|
29
|
+
let(:logger) { Logger.new(logged_output) }
|
|
30
|
+
let(:platform) { stub(:os_type => nil, :shell_type => nil, :name => "coolbeans") }
|
|
31
|
+
let(:suite) { stub(:name => "fries") }
|
|
32
|
+
let(:state) { Hash.new }
|
|
33
|
+
|
|
34
|
+
let(:config) do
|
|
35
|
+
{ :test_base_path => "/basist", :kitchen_root => "/rooty" }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
let(:instance) do
|
|
39
|
+
stub(
|
|
40
|
+
:name => [platform.name, suite.name].join("-"),
|
|
41
|
+
:to_str => "instance",
|
|
42
|
+
:logger => logger,
|
|
43
|
+
:suite => suite,
|
|
44
|
+
:platform => platform
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
let(:verifier) do
|
|
49
|
+
Kitchen::Verifier::Shell.new(config).finalize_config!(instance)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "verifier api_version is 1" do
|
|
53
|
+
verifier.diagnose_plugin[:api_version].must_equal 1
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "plugin_version is set to Kitchen::VERSION" do
|
|
57
|
+
verifier.diagnose_plugin[:version].must_equal Kitchen::VERSION
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe "configuration" do
|
|
61
|
+
|
|
62
|
+
it "sets :sleep to 0 by default" do
|
|
63
|
+
verifier[:sleep].must_equal 0
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
it "sets :command to 'true' by default" do
|
|
67
|
+
verifier[:command].must_equal "true"
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it "sets :live_stream to stdout by default" do
|
|
71
|
+
verifier[:live_stream].must_equal $stdout
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
describe "#call" do
|
|
76
|
+
|
|
77
|
+
describe "#shell_out" do
|
|
78
|
+
it "calls sleep if :sleep value is greater than 0" do
|
|
79
|
+
config[:sleep] = 3
|
|
80
|
+
verifier.expects(:sleep).with(1).returns(true).at_least(3)
|
|
81
|
+
|
|
82
|
+
verifier.call(state)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it "states are set to environment" do
|
|
86
|
+
state[:hostname] = "testhost"
|
|
87
|
+
state[:server_id] = "i-xxxxxx"
|
|
88
|
+
verifier.call(state)
|
|
89
|
+
config[:shellout_opts][:environment]["KITCHEN_HOSTNAME"].must_equal "testhost"
|
|
90
|
+
config[:shellout_opts][:environment]["KITCHEN_SERVER_ID"].must_equal "i-xxxxxx"
|
|
91
|
+
config[:shellout_opts][:environment]["KITCHEN_INSTANCE"].must_equal "coolbeans-fries"
|
|
92
|
+
config[:shellout_opts][:environment]["KITCHEN_PLATFORM"].must_equal "coolbeans"
|
|
93
|
+
config[:shellout_opts][:environment]["KITCHEN_SUITE"].must_equal "fries"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
it "raises ActionFailed if set false to :command" do
|
|
97
|
+
config[:command] = "false"
|
|
98
|
+
|
|
99
|
+
proc { verifier.call(state) }.must_raise Kitchen::ActionFailed
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it "logs a converge event to INFO" do
|
|
103
|
+
verifier.call(state)
|
|
104
|
+
|
|
105
|
+
logged_output.string.must_match(/^.+ INFO .+ \[Shell\] Verify on .+$/)
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
describe "remote_exec" do
|
|
110
|
+
let(:transport) do
|
|
111
|
+
t = mock("transport")
|
|
112
|
+
t.responds_like_instance_of(Kitchen::Transport::Ssh)
|
|
113
|
+
t
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
let(:connection) do
|
|
117
|
+
c = mock("transport_connection")
|
|
118
|
+
c.responds_like_instance_of(Kitchen::Transport::Ssh::Connection)
|
|
119
|
+
c
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
let(:instance) do
|
|
123
|
+
stub(
|
|
124
|
+
:name => "coolbeans",
|
|
125
|
+
:to_str => "instance",
|
|
126
|
+
:logger => logger,
|
|
127
|
+
:platform => platform,
|
|
128
|
+
:suite => suite,
|
|
129
|
+
:transport => transport
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
before do
|
|
134
|
+
transport.stubs(:connection).yields(connection)
|
|
135
|
+
connection.stubs(:execute)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it "execute command onto instance." do
|
|
139
|
+
config[:remote_exec] = true
|
|
140
|
+
|
|
141
|
+
transport.expects(:connection).with(state).yields(connection)
|
|
142
|
+
verifier.call(state)
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
describe "#run_command" do
|
|
148
|
+
it "execute localy and returns nil" do
|
|
149
|
+
verifier.run_command
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
it "returns string when remote_exec" do
|
|
153
|
+
config[:remote_exec] = true
|
|
154
|
+
verifier.run_command.must_equal "true"
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
$ErrorActionPreference = "stop"
|
|
2
|
+
|
|
1
3
|
Function Check-UpdateChef($root, $version) {
|
|
2
4
|
if (-Not (Test-Path $root)) { return $true }
|
|
3
5
|
elseif ("$version" -eq "true") { return $false }
|
|
4
6
|
elseif ("$version" -eq "latest") { return $true }
|
|
5
|
-
Try { $chef_version = Get-Content $root\version-manifest.txt | select-object -1}
|
|
7
|
+
Try { $chef_version = (Get-Content $root\version-manifest.txt | select-object -first 1) }
|
|
6
8
|
Catch {
|
|
7
|
-
Try { $chef_version = (& $root\bin\chef-solo.bat -v)
|
|
8
|
-
Catch { $chef_version = "" }
|
|
9
|
+
Try { $chef_version = (& $root\bin\chef-solo.bat -v) }
|
|
10
|
+
Catch { $chef_version = " " }
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
if ($chef_version.StartsWith($version)) { return $false }
|
|
13
|
+
if ($chef_version.split(" ", 2)[1].StartsWith($version)) { return $false }
|
|
12
14
|
else { return $true }
|
|
13
15
|
}
|
|
14
16
|
|
|
@@ -66,13 +68,18 @@ Function Unresolve-Path($p) {
|
|
|
66
68
|
else { return $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($p) }
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
|
|
70
|
-
$
|
|
71
|
+
Try {
|
|
72
|
+
$chef_omnibus_root = Unresolve-Path $chef_omnibus_root
|
|
73
|
+
$msi = Unresolve-Path $msi
|
|
71
74
|
|
|
72
|
-
if (Check-UpdateChef $chef_omnibus_root $version) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} else {
|
|
77
|
-
|
|
75
|
+
if (Check-UpdateChef $chef_omnibus_root $version) {
|
|
76
|
+
Write-Host "-----> Installing Chef Omnibus ($pretty_version)`n"
|
|
77
|
+
Download-Chef "$chef_metadata_url" $msi
|
|
78
|
+
Install-Chef $msi
|
|
79
|
+
} else {
|
|
80
|
+
Write-Host "-----> Chef Omnibus installation detected ($pretty_version)`n"
|
|
81
|
+
}
|
|
82
|
+
Catch {
|
|
83
|
+
Write-Error ($_ | ft -Property * | out-string) -ErrorAction Continue
|
|
84
|
+
exit 1
|
|
78
85
|
}
|
|
@@ -61,4 +61,4 @@ Created and maintained by [<%= config[:author] %>][author] (<<%= config[:email]
|
|
|
61
61
|
[license]: https://github.com/enter-github-user/<%= config[:gem_name] %>/blob/master/LICENSE
|
|
62
62
|
[repo]: https://github.com/enter-github-user/<%= config[:gem_name] %>
|
|
63
63
|
[driver_usage]: http://docs.kitchen-ci.org/drivers/usage
|
|
64
|
-
[chef_omnibus_dl]: http://www.
|
|
64
|
+
[chef_omnibus_dl]: http://www.chef.io/chef/install/
|
data/test-kitchen.gemspec
CHANGED
|
@@ -25,21 +25,30 @@ Gem::Specification.new do |gem|
|
|
|
25
25
|
|
|
26
26
|
gem.add_dependency "mixlib-shellout", ">= 1.2", "< 3.0"
|
|
27
27
|
gem.add_dependency "net-scp", "~> 1.1"
|
|
28
|
-
gem.add_dependency "net-ssh", "
|
|
28
|
+
gem.add_dependency "net-ssh", ">= 2.9", "< 4.0"
|
|
29
29
|
gem.add_dependency "safe_yaml", "~> 1.0"
|
|
30
30
|
gem.add_dependency "thor", "~> 0.18"
|
|
31
|
+
gem.add_dependency "mixlib-install", "~> 0.7"
|
|
32
|
+
gem.add_dependency "chef-config", ">= 12.5.1"
|
|
31
33
|
|
|
32
34
|
gem.add_development_dependency "pry"
|
|
33
|
-
gem.add_development_dependency "
|
|
35
|
+
gem.add_development_dependency "pry-byebug"
|
|
36
|
+
gem.add_development_dependency "pry-stack_explorer"
|
|
37
|
+
gem.add_development_dependency "winrm-transport", "~> 1.0", ">= 1.0.3"
|
|
38
|
+
gem.add_development_dependency "winrm-s", "~> 0.3"
|
|
34
39
|
|
|
35
40
|
gem.add_development_dependency "bundler", "~> 1.3"
|
|
36
41
|
gem.add_development_dependency "rake"
|
|
37
42
|
|
|
38
|
-
gem.add_development_dependency "aruba", "~> 0.
|
|
43
|
+
gem.add_development_dependency "aruba", "~> 0.11.1"
|
|
39
44
|
gem.add_development_dependency "fakefs", "~> 0.4"
|
|
40
45
|
gem.add_development_dependency "minitest", "~> 5.3"
|
|
41
46
|
gem.add_development_dependency "mocha", "~> 1.1"
|
|
42
47
|
|
|
48
|
+
# cucumber is getting explicit and aggresive version pin as the behavior of
|
|
49
|
+
# the aruba and cucumber apis are tightly coupled
|
|
50
|
+
gem.add_development_dependency "cucumber", "~> 2.1.0"
|
|
51
|
+
|
|
43
52
|
gem.add_development_dependency "countloc", "~> 0.4"
|
|
44
53
|
gem.add_development_dependency "maruku", "~> 0.6"
|
|
45
54
|
gem.add_development_dependency "simplecov", "~> 0.7"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: test-kitchen
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Fletcher Nichol
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-01-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mixlib-shellout
|
|
@@ -48,22 +48,22 @@ dependencies:
|
|
|
48
48
|
name: net-ssh
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
|
-
- - "
|
|
51
|
+
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.
|
|
53
|
+
version: '2.9'
|
|
54
54
|
- - "<"
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: '
|
|
56
|
+
version: '4.0'
|
|
57
57
|
type: :runtime
|
|
58
58
|
prerelease: false
|
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements:
|
|
61
|
-
- - "
|
|
61
|
+
- - ">="
|
|
62
62
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: '2.
|
|
63
|
+
version: '2.9'
|
|
64
64
|
- - "<"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '
|
|
66
|
+
version: '4.0'
|
|
67
67
|
- !ruby/object:Gem::Dependency
|
|
68
68
|
name: safe_yaml
|
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -92,6 +92,34 @@ dependencies:
|
|
|
92
92
|
- - "~>"
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
94
|
version: '0.18'
|
|
95
|
+
- !ruby/object:Gem::Dependency
|
|
96
|
+
name: mixlib-install
|
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
|
98
|
+
requirements:
|
|
99
|
+
- - "~>"
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: '0.7'
|
|
102
|
+
type: :runtime
|
|
103
|
+
prerelease: false
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
requirements:
|
|
106
|
+
- - "~>"
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '0.7'
|
|
109
|
+
- !ruby/object:Gem::Dependency
|
|
110
|
+
name: chef-config
|
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
|
112
|
+
requirements:
|
|
113
|
+
- - ">="
|
|
114
|
+
- !ruby/object:Gem::Version
|
|
115
|
+
version: 12.5.1
|
|
116
|
+
type: :runtime
|
|
117
|
+
prerelease: false
|
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
119
|
+
requirements:
|
|
120
|
+
- - ">="
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: 12.5.1
|
|
95
123
|
- !ruby/object:Gem::Dependency
|
|
96
124
|
name: pry
|
|
97
125
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,6 +134,34 @@ dependencies:
|
|
|
106
134
|
- - ">="
|
|
107
135
|
- !ruby/object:Gem::Version
|
|
108
136
|
version: '0'
|
|
137
|
+
- !ruby/object:Gem::Dependency
|
|
138
|
+
name: pry-byebug
|
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
|
140
|
+
requirements:
|
|
141
|
+
- - ">="
|
|
142
|
+
- !ruby/object:Gem::Version
|
|
143
|
+
version: '0'
|
|
144
|
+
type: :development
|
|
145
|
+
prerelease: false
|
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
147
|
+
requirements:
|
|
148
|
+
- - ">="
|
|
149
|
+
- !ruby/object:Gem::Version
|
|
150
|
+
version: '0'
|
|
151
|
+
- !ruby/object:Gem::Dependency
|
|
152
|
+
name: pry-stack_explorer
|
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
|
154
|
+
requirements:
|
|
155
|
+
- - ">="
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '0'
|
|
158
|
+
type: :development
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - ">="
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '0'
|
|
109
165
|
- !ruby/object:Gem::Dependency
|
|
110
166
|
name: winrm-transport
|
|
111
167
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -113,6 +169,9 @@ dependencies:
|
|
|
113
169
|
- - "~>"
|
|
114
170
|
- !ruby/object:Gem::Version
|
|
115
171
|
version: '1.0'
|
|
172
|
+
- - ">="
|
|
173
|
+
- !ruby/object:Gem::Version
|
|
174
|
+
version: 1.0.3
|
|
116
175
|
type: :development
|
|
117
176
|
prerelease: false
|
|
118
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -120,6 +179,23 @@ dependencies:
|
|
|
120
179
|
- - "~>"
|
|
121
180
|
- !ruby/object:Gem::Version
|
|
122
181
|
version: '1.0'
|
|
182
|
+
- - ">="
|
|
183
|
+
- !ruby/object:Gem::Version
|
|
184
|
+
version: 1.0.3
|
|
185
|
+
- !ruby/object:Gem::Dependency
|
|
186
|
+
name: winrm-s
|
|
187
|
+
requirement: !ruby/object:Gem::Requirement
|
|
188
|
+
requirements:
|
|
189
|
+
- - "~>"
|
|
190
|
+
- !ruby/object:Gem::Version
|
|
191
|
+
version: '0.3'
|
|
192
|
+
type: :development
|
|
193
|
+
prerelease: false
|
|
194
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
195
|
+
requirements:
|
|
196
|
+
- - "~>"
|
|
197
|
+
- !ruby/object:Gem::Version
|
|
198
|
+
version: '0.3'
|
|
123
199
|
- !ruby/object:Gem::Dependency
|
|
124
200
|
name: bundler
|
|
125
201
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,14 +230,14 @@ dependencies:
|
|
|
154
230
|
requirements:
|
|
155
231
|
- - "~>"
|
|
156
232
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 0.
|
|
233
|
+
version: 0.11.1
|
|
158
234
|
type: :development
|
|
159
235
|
prerelease: false
|
|
160
236
|
version_requirements: !ruby/object:Gem::Requirement
|
|
161
237
|
requirements:
|
|
162
238
|
- - "~>"
|
|
163
239
|
- !ruby/object:Gem::Version
|
|
164
|
-
version: 0.
|
|
240
|
+
version: 0.11.1
|
|
165
241
|
- !ruby/object:Gem::Dependency
|
|
166
242
|
name: fakefs
|
|
167
243
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -204,6 +280,20 @@ dependencies:
|
|
|
204
280
|
- - "~>"
|
|
205
281
|
- !ruby/object:Gem::Version
|
|
206
282
|
version: '1.1'
|
|
283
|
+
- !ruby/object:Gem::Dependency
|
|
284
|
+
name: cucumber
|
|
285
|
+
requirement: !ruby/object:Gem::Requirement
|
|
286
|
+
requirements:
|
|
287
|
+
- - "~>"
|
|
288
|
+
- !ruby/object:Gem::Version
|
|
289
|
+
version: 2.1.0
|
|
290
|
+
type: :development
|
|
291
|
+
prerelease: false
|
|
292
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
293
|
+
requirements:
|
|
294
|
+
- - "~>"
|
|
295
|
+
- !ruby/object:Gem::Version
|
|
296
|
+
version: 2.1.0
|
|
207
297
|
- !ruby/object:Gem::Dependency
|
|
208
298
|
name: countloc
|
|
209
299
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -303,9 +393,12 @@ files:
|
|
|
303
393
|
- ".travis.yml"
|
|
304
394
|
- ".yardopts"
|
|
305
395
|
- CHANGELOG.md
|
|
396
|
+
- CONTRIBUTING.md
|
|
306
397
|
- Gemfile
|
|
398
|
+
- Gemfile.proxy_tests
|
|
307
399
|
- Guardfile
|
|
308
400
|
- LICENSE
|
|
401
|
+
- MAINTAINERS.md
|
|
309
402
|
- README.md
|
|
310
403
|
- Rakefile
|
|
311
404
|
- appveyor.yml
|
|
@@ -388,6 +481,7 @@ files:
|
|
|
388
481
|
- lib/kitchen/verifier/base.rb
|
|
389
482
|
- lib/kitchen/verifier/busser.rb
|
|
390
483
|
- lib/kitchen/verifier/dummy.rb
|
|
484
|
+
- lib/kitchen/verifier/shell.rb
|
|
391
485
|
- lib/kitchen/version.rb
|
|
392
486
|
- lib/vendor/hash_recursive_merge.rb
|
|
393
487
|
- spec/kitchen/base64_stream_spec.rb
|
|
@@ -431,6 +525,7 @@ files:
|
|
|
431
525
|
- spec/kitchen/verifier/base_spec.rb
|
|
432
526
|
- spec/kitchen/verifier/busser_spec.rb
|
|
433
527
|
- spec/kitchen/verifier/dummy_spec.rb
|
|
528
|
+
- spec/kitchen/verifier/shell_spec.rb
|
|
434
529
|
- spec/kitchen/verifier_spec.rb
|
|
435
530
|
- spec/kitchen_spec.rb
|
|
436
531
|
- spec/spec_helper.rb
|
|
@@ -547,6 +642,7 @@ test_files:
|
|
|
547
642
|
- spec/kitchen/verifier/base_spec.rb
|
|
548
643
|
- spec/kitchen/verifier/busser_spec.rb
|
|
549
644
|
- spec/kitchen/verifier/dummy_spec.rb
|
|
645
|
+
- spec/kitchen/verifier/shell_spec.rb
|
|
550
646
|
- spec/kitchen/verifier_spec.rb
|
|
551
647
|
- spec/kitchen_spec.rb
|
|
552
648
|
- spec/spec_helper.rb
|