test-kitchen 1.2.1 → 1.3.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/.cane +1 -1
- data/.rubocop.yml +3 -0
- data/.travis.yml +20 -9
- data/CHANGELOG.md +219 -108
- data/Gemfile +10 -6
- data/Guardfile +38 -9
- data/README.md +11 -1
- data/Rakefile +21 -37
- data/bin/kitchen +4 -4
- data/features/kitchen_action_commands.feature +161 -0
- data/features/kitchen_console_command.feature +34 -0
- data/features/kitchen_diagnose_command.feature +64 -0
- data/features/kitchen_init_command.feature +29 -17
- data/features/kitchen_list_command.feature +2 -2
- data/features/kitchen_login_command.feature +56 -0
- data/features/{sink_command.feature → kitchen_sink_command.feature} +0 -0
- data/features/kitchen_test_command.feature +88 -0
- data/features/step_definitions/gem_steps.rb +8 -6
- data/features/step_definitions/git_steps.rb +4 -2
- data/features/step_definitions/output_steps.rb +5 -0
- data/features/support/env.rb +12 -9
- data/lib/kitchen.rb +60 -38
- data/lib/kitchen/base64_stream.rb +55 -0
- data/lib/kitchen/busser.rb +124 -58
- data/lib/kitchen/cli.rb +121 -38
- data/lib/kitchen/collection.rb +3 -3
- data/lib/kitchen/color.rb +4 -4
- data/lib/kitchen/command.rb +78 -11
- data/lib/kitchen/command/action.rb +3 -2
- data/lib/kitchen/command/console.rb +12 -5
- data/lib/kitchen/command/diagnose.rb +17 -3
- data/lib/kitchen/command/driver_discover.rb +26 -7
- data/lib/kitchen/command/exec.rb +41 -0
- data/lib/kitchen/command/list.rb +44 -14
- data/lib/kitchen/command/login.rb +2 -1
- data/lib/kitchen/command/sink.rb +2 -1
- data/lib/kitchen/command/test.rb +5 -4
- data/lib/kitchen/config.rb +146 -14
- data/lib/kitchen/configurable.rb +314 -0
- data/lib/kitchen/data_munger.rb +522 -18
- data/lib/kitchen/diagnostic.rb +43 -4
- data/lib/kitchen/driver.rb +4 -4
- data/lib/kitchen/driver/base.rb +80 -115
- data/lib/kitchen/driver/dummy.rb +34 -6
- data/lib/kitchen/driver/proxy.rb +14 -3
- data/lib/kitchen/driver/ssh_base.rb +61 -7
- data/lib/kitchen/errors.rb +109 -9
- data/lib/kitchen/generator/driver_create.rb +39 -5
- data/lib/kitchen/generator/init.rb +130 -45
- data/lib/kitchen/instance.rb +162 -28
- data/lib/kitchen/lazy_hash.rb +79 -7
- data/lib/kitchen/loader/yaml.rb +159 -27
- data/lib/kitchen/logger.rb +267 -21
- data/lib/kitchen/logging.rb +30 -3
- data/lib/kitchen/login_command.rb +11 -2
- data/lib/kitchen/metadata_chopper.rb +2 -2
- data/lib/kitchen/provisioner.rb +4 -4
- data/lib/kitchen/provisioner/base.rb +107 -103
- data/lib/kitchen/provisioner/chef/berkshelf.rb +36 -8
- data/lib/kitchen/provisioner/chef/librarian.rb +40 -11
- data/lib/kitchen/provisioner/chef_base.rb +206 -167
- data/lib/kitchen/provisioner/chef_solo.rb +25 -7
- data/lib/kitchen/provisioner/chef_zero.rb +105 -29
- data/lib/kitchen/provisioner/dummy.rb +1 -1
- data/lib/kitchen/provisioner/shell.rb +21 -6
- data/lib/kitchen/rake_tasks.rb +8 -3
- data/lib/kitchen/shell_out.rb +15 -18
- data/lib/kitchen/ssh.rb +122 -27
- data/lib/kitchen/state_file.rb +24 -7
- data/lib/kitchen/thor_tasks.rb +9 -4
- data/lib/kitchen/util.rb +43 -118
- data/lib/kitchen/version.rb +1 -1
- data/lib/vendor/hash_recursive_merge.rb +10 -2
- data/spec/kitchen/base64_stream_spec.rb +77 -0
- data/spec/kitchen/busser_spec.rb +490 -0
- data/spec/kitchen/collection_spec.rb +10 -10
- data/spec/kitchen/color_spec.rb +2 -2
- data/spec/kitchen/config_spec.rb +234 -62
- data/spec/kitchen/configurable_spec.rb +490 -0
- data/spec/kitchen/data_munger_spec.rb +1070 -862
- data/spec/kitchen/diagnostic_spec.rb +79 -0
- data/spec/kitchen/driver/base_spec.rb +80 -85
- data/spec/kitchen/driver/dummy_spec.rb +43 -14
- data/spec/kitchen/driver/proxy_spec.rb +134 -0
- data/spec/kitchen/driver/ssh_base_spec.rb +644 -0
- data/spec/kitchen/driver_spec.rb +15 -15
- data/spec/kitchen/errors_spec.rb +309 -0
- data/spec/kitchen/instance_spec.rb +143 -46
- data/spec/kitchen/lazy_hash_spec.rb +36 -9
- data/spec/kitchen/loader/yaml_spec.rb +237 -226
- data/spec/kitchen/logger_spec.rb +419 -0
- data/spec/kitchen/logging_spec.rb +59 -0
- data/spec/kitchen/login_command_spec.rb +49 -0
- data/spec/kitchen/metadata_chopper_spec.rb +82 -0
- data/spec/kitchen/platform_spec.rb +4 -4
- data/spec/kitchen/provisioner/base_spec.rb +65 -125
- data/spec/kitchen/provisioner/chef_base_spec.rb +798 -0
- data/spec/kitchen/provisioner/chef_solo_spec.rb +316 -0
- data/spec/kitchen/provisioner/chef_zero_spec.rb +624 -0
- data/spec/kitchen/provisioner/shell_spec.rb +269 -0
- data/spec/kitchen/provisioner_spec.rb +6 -6
- data/spec/kitchen/shell_out_spec.rb +143 -0
- data/spec/kitchen/ssh_spec.rb +683 -0
- data/spec/kitchen/state_file_spec.rb +28 -21
- data/spec/kitchen/suite_spec.rb +7 -7
- data/spec/kitchen/util_spec.rb +68 -10
- data/spec/kitchen_spec.rb +107 -0
- data/spec/spec_helper.rb +18 -13
- data/support/chef-client-zero.rb +10 -9
- data/support/chef_helpers.sh +16 -0
- data/support/download_helpers.sh +109 -0
- data/test-kitchen.gemspec +42 -33
- metadata +107 -33
@@ -0,0 +1,16 @@
|
|
1
|
+
# @param $1 the omnibus root directory
|
2
|
+
# @param $2 the requested version of omnibus package
|
3
|
+
# @return 0 if omnibus needs to be installed, non-zero otherwise
|
4
|
+
should_update_chef() {
|
5
|
+
if test ! -d "$1" ; then return 0
|
6
|
+
elif test "$2" = "true" ; then return 1
|
7
|
+
elif test "$2" = "latest" ; then return 0
|
8
|
+
fi
|
9
|
+
|
10
|
+
local version="`$1/bin/chef-solo -v | cut -d " " -f 2`"
|
11
|
+
if echo "$version" | grep "^$2" 2>&1 >/dev/null; then
|
12
|
+
return 1
|
13
|
+
else
|
14
|
+
return 0
|
15
|
+
fi
|
16
|
+
}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# Check whether a command exists - returns 0 if it does, 1 if it does not
|
2
|
+
exists() {
|
3
|
+
if command -v $1 >/dev/null 2>&1
|
4
|
+
then
|
5
|
+
return 0
|
6
|
+
else
|
7
|
+
return 1
|
8
|
+
fi
|
9
|
+
}
|
10
|
+
|
11
|
+
# do_wget URL FILENAME
|
12
|
+
do_wget() {
|
13
|
+
echo "trying wget..."
|
14
|
+
wget -O "$2" "$1" 2>/tmp/stderr
|
15
|
+
# check for bad return status
|
16
|
+
test $? -ne 0 && return 1
|
17
|
+
# check for 404 or empty file
|
18
|
+
grep "ERROR 404" /tmp/stderr 2>&1 >/dev/null
|
19
|
+
if test $? -eq 0 || test ! -s "$2"; then
|
20
|
+
return 1
|
21
|
+
fi
|
22
|
+
return 0
|
23
|
+
}
|
24
|
+
|
25
|
+
# do_curl URL FILENAME
|
26
|
+
do_curl() {
|
27
|
+
echo "trying curl..."
|
28
|
+
curl -L "$1" > "$2"
|
29
|
+
# check for bad return status
|
30
|
+
[ $? -ne 0 ] && return 1
|
31
|
+
# check for bad output or empty file
|
32
|
+
grep "The specified key does not exist." "$2" 2>&1 >/dev/null
|
33
|
+
if test $? -eq 0 || test ! -s "$2"; then
|
34
|
+
return 1
|
35
|
+
fi
|
36
|
+
return 0
|
37
|
+
}
|
38
|
+
|
39
|
+
# do_fetch URL FILENAME
|
40
|
+
do_fetch() {
|
41
|
+
echo "trying fetch..."
|
42
|
+
fetch -o "$2" "$1" 2>/tmp/stderr
|
43
|
+
# check for bad return status
|
44
|
+
test $? -ne 0 && return 1
|
45
|
+
return 0
|
46
|
+
}
|
47
|
+
|
48
|
+
# do_perl URL FILENAME
|
49
|
+
do_perl() {
|
50
|
+
echo "trying perl..."
|
51
|
+
perl -e "use LWP::Simple; getprint($ARGV[0]);" "$1" > "$2"
|
52
|
+
# check for bad return status
|
53
|
+
test $? -ne 0 && return 1
|
54
|
+
# check for bad output or empty file
|
55
|
+
# grep "The specified key does not exist." "$2" 2>&1 >/dev/null
|
56
|
+
# if test $? -eq 0 || test ! -s "$2"; then
|
57
|
+
# unable_to_retrieve_package
|
58
|
+
# fi
|
59
|
+
return 0
|
60
|
+
}
|
61
|
+
|
62
|
+
# do_python URL FILENAME
|
63
|
+
do_python() {
|
64
|
+
echo "trying python..."
|
65
|
+
python -c "import sys,urllib2 ; sys.stdout.write(urllib2.urlopen(sys.argv[1]).read())" "$1" > "$2"
|
66
|
+
# check for bad return status
|
67
|
+
test $? -ne 0 && return 1
|
68
|
+
# check for bad output or empty file
|
69
|
+
#grep "The specified key does not exist." "$2" 2>&1 >/dev/null
|
70
|
+
#if test $? -eq 0 || test ! -s "$2"; then
|
71
|
+
# unable_to_retrieve_package
|
72
|
+
#fi
|
73
|
+
return 0
|
74
|
+
}
|
75
|
+
|
76
|
+
# do_download URL FILENAME
|
77
|
+
do_download() {
|
78
|
+
PATH=/opt/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
79
|
+
export PATH
|
80
|
+
|
81
|
+
echo "downloading $1"
|
82
|
+
echo " to file $2"
|
83
|
+
|
84
|
+
# we try all of these until we get success.
|
85
|
+
# perl, in particular may be present but LWP::Simple may not be installed
|
86
|
+
|
87
|
+
if exists wget; then
|
88
|
+
do_wget $1 $2 && return 0
|
89
|
+
fi
|
90
|
+
|
91
|
+
if exists curl; then
|
92
|
+
do_curl $1 $2 && return 0
|
93
|
+
fi
|
94
|
+
|
95
|
+
if exists fetch; then
|
96
|
+
do_fetch $1 $2 && return 0
|
97
|
+
fi
|
98
|
+
|
99
|
+
if exists perl; then
|
100
|
+
do_perl $1 $2 && return 0
|
101
|
+
fi
|
102
|
+
|
103
|
+
if exists python; then
|
104
|
+
do_python $1 $2 && return 0
|
105
|
+
fi
|
106
|
+
|
107
|
+
echo ">>>>>> wget, curl, fetch, perl or python not found on this instance."
|
108
|
+
return 16
|
109
|
+
}
|
data/test-kitchen.gemspec
CHANGED
@@ -1,43 +1,52 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require "kitchen/version"
|
5
|
+
require "English"
|
5
6
|
|
6
7
|
Gem::Specification.new do |gem|
|
7
8
|
gem.name = "test-kitchen"
|
8
9
|
gem.version = Kitchen::VERSION
|
9
|
-
gem.license =
|
10
|
-
gem.authors = [
|
11
|
-
gem.email = [
|
12
|
-
gem.description =
|
10
|
+
gem.license = "Apache 2.0"
|
11
|
+
gem.authors = ["Fletcher Nichol"]
|
12
|
+
gem.email = ["fnichol@nichol.ca"]
|
13
|
+
gem.description = "Test Kitchen is an integration tool for developing " \
|
14
|
+
"and testing infrastructure code and software on " \
|
15
|
+
"isolated target platforms."
|
13
16
|
gem.summary = gem.description
|
14
|
-
gem.homepage =
|
17
|
+
gem.homepage = "http://kitchen.ci"
|
15
18
|
|
16
|
-
gem.files = `git ls-files`.split(
|
17
|
-
gem.executables = %w
|
19
|
+
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
20
|
+
gem.executables = %w[kitchen]
|
18
21
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
|
-
gem.require_paths = [
|
20
|
-
|
21
|
-
gem.required_ruby_version =
|
22
|
-
|
23
|
-
gem.add_dependency
|
24
|
-
gem.add_dependency
|
25
|
-
gem.add_dependency
|
26
|
-
gem.add_dependency
|
27
|
-
gem.add_dependency
|
28
|
-
|
29
|
-
gem.add_development_dependency
|
30
|
-
|
31
|
-
|
32
|
-
gem.add_development_dependency
|
33
|
-
|
34
|
-
gem.add_development_dependency
|
35
|
-
gem.add_development_dependency
|
36
|
-
|
37
|
-
gem.add_development_dependency
|
38
|
-
|
39
|
-
gem.add_development_dependency
|
40
|
-
gem.add_development_dependency
|
41
|
-
gem.add_development_dependency
|
42
|
-
gem.add_development_dependency
|
22
|
+
gem.require_paths = ["lib"]
|
23
|
+
|
24
|
+
gem.required_ruby_version = ">= 1.9.1"
|
25
|
+
|
26
|
+
gem.add_dependency "mixlib-shellout", ">= 1.2", "< 3.0"
|
27
|
+
gem.add_dependency "net-scp", "~> 1.1"
|
28
|
+
gem.add_dependency "net-ssh", "~> 2.7"
|
29
|
+
gem.add_dependency "safe_yaml", "~> 1.0"
|
30
|
+
gem.add_dependency "thor", "~> 0.18"
|
31
|
+
|
32
|
+
gem.add_development_dependency "pry"
|
33
|
+
|
34
|
+
gem.add_development_dependency "bundler", "~> 1.3"
|
35
|
+
gem.add_development_dependency "rake"
|
36
|
+
|
37
|
+
gem.add_development_dependency "aruba", "~> 0.5"
|
38
|
+
gem.add_development_dependency "fakefs", "~> 0.4"
|
39
|
+
gem.add_development_dependency "minitest", "~> 5.3"
|
40
|
+
gem.add_development_dependency "mocha", "~> 1.1"
|
41
|
+
|
42
|
+
gem.add_development_dependency "countloc", "~> 0.4"
|
43
|
+
gem.add_development_dependency "maruku", "~> 0.6"
|
44
|
+
gem.add_development_dependency "simplecov", "~> 0.7"
|
45
|
+
gem.add_development_dependency "yard", "~> 0.8"
|
46
|
+
|
47
|
+
# style and complexity libraries are tightly version pinned as newer releases
|
48
|
+
# may introduce new and undesireable style choices which would be immediately
|
49
|
+
# enforced in CI
|
50
|
+
gem.add_development_dependency "finstyle", "1.4.0"
|
51
|
+
gem.add_development_dependency "cane", "2.6.2"
|
43
52
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-kitchen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.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: 2015-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: net-scp
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +86,20 @@ dependencies:
|
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
88
|
version: '0.18'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: pry
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
83
103
|
- !ruby/object:Gem::Dependency
|
84
104
|
name: bundler
|
85
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,42 +162,28 @@ dependencies:
|
|
142
162
|
requirements:
|
143
163
|
- - "~>"
|
144
164
|
- !ruby/object:Gem::Version
|
145
|
-
version: 5.
|
165
|
+
version: '5.3'
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
149
169
|
requirements:
|
150
170
|
- - "~>"
|
151
171
|
- !ruby/object:Gem::Version
|
152
|
-
version: 5.
|
172
|
+
version: '5.3'
|
153
173
|
- !ruby/object:Gem::Dependency
|
154
174
|
name: mocha
|
155
175
|
requirement: !ruby/object:Gem::Requirement
|
156
176
|
requirements:
|
157
177
|
- - "~>"
|
158
178
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0.14'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: cane
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '2.6'
|
179
|
+
version: '1.1'
|
174
180
|
type: :development
|
175
181
|
prerelease: false
|
176
182
|
version_requirements: !ruby/object:Gem::Requirement
|
177
183
|
requirements:
|
178
184
|
- - "~>"
|
179
185
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
186
|
+
version: '1.1'
|
181
187
|
- !ruby/object:Gem::Dependency
|
182
188
|
name: countloc
|
183
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,33 +227,47 @@ dependencies:
|
|
221
227
|
- !ruby/object:Gem::Version
|
222
228
|
version: '0.7'
|
223
229
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
230
|
+
name: yard
|
225
231
|
requirement: !ruby/object:Gem::Requirement
|
226
232
|
requirements:
|
227
233
|
- - "~>"
|
228
234
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
235
|
+
version: '0.8'
|
230
236
|
type: :development
|
231
237
|
prerelease: false
|
232
238
|
version_requirements: !ruby/object:Gem::Requirement
|
233
239
|
requirements:
|
234
240
|
- - "~>"
|
235
241
|
- !ruby/object:Gem::Version
|
236
|
-
version: '
|
242
|
+
version: '0.8'
|
237
243
|
- !ruby/object:Gem::Dependency
|
238
|
-
name:
|
244
|
+
name: finstyle
|
239
245
|
requirement: !ruby/object:Gem::Requirement
|
240
246
|
requirements:
|
241
|
-
- -
|
247
|
+
- - '='
|
242
248
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
249
|
+
version: 1.4.0
|
244
250
|
type: :development
|
245
251
|
prerelease: false
|
246
252
|
version_requirements: !ruby/object:Gem::Requirement
|
247
253
|
requirements:
|
248
|
-
- -
|
254
|
+
- - '='
|
249
255
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
256
|
+
version: 1.4.0
|
257
|
+
- !ruby/object:Gem::Dependency
|
258
|
+
name: cane
|
259
|
+
requirement: !ruby/object:Gem::Requirement
|
260
|
+
requirements:
|
261
|
+
- - '='
|
262
|
+
- !ruby/object:Gem::Version
|
263
|
+
version: 2.6.2
|
264
|
+
type: :development
|
265
|
+
prerelease: false
|
266
|
+
version_requirements: !ruby/object:Gem::Requirement
|
267
|
+
requirements:
|
268
|
+
- - '='
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: 2.6.2
|
251
271
|
description: Test Kitchen is an integration tool for developing and testing infrastructure
|
252
272
|
code and software on isolated target platforms.
|
253
273
|
email:
|
@@ -259,6 +279,7 @@ extra_rdoc_files: []
|
|
259
279
|
files:
|
260
280
|
- ".cane"
|
261
281
|
- ".gitignore"
|
282
|
+
- ".rubocop.yml"
|
262
283
|
- ".travis.yml"
|
263
284
|
- ".yardopts"
|
264
285
|
- CHANGELOG.md
|
@@ -268,17 +289,24 @@ files:
|
|
268
289
|
- README.md
|
269
290
|
- Rakefile
|
270
291
|
- bin/kitchen
|
292
|
+
- features/kitchen_action_commands.feature
|
271
293
|
- features/kitchen_command.feature
|
294
|
+
- features/kitchen_console_command.feature
|
295
|
+
- features/kitchen_diagnose_command.feature
|
272
296
|
- features/kitchen_driver_create_command.feature
|
273
297
|
- features/kitchen_driver_discover_command.feature
|
274
298
|
- features/kitchen_help_command.feature
|
275
299
|
- features/kitchen_init_command.feature
|
276
300
|
- features/kitchen_list_command.feature
|
277
|
-
- features/
|
301
|
+
- features/kitchen_login_command.feature
|
302
|
+
- features/kitchen_sink_command.feature
|
303
|
+
- features/kitchen_test_command.feature
|
278
304
|
- features/step_definitions/gem_steps.rb
|
279
305
|
- features/step_definitions/git_steps.rb
|
306
|
+
- features/step_definitions/output_steps.rb
|
280
307
|
- features/support/env.rb
|
281
308
|
- lib/kitchen.rb
|
309
|
+
- lib/kitchen/base64_stream.rb
|
282
310
|
- lib/kitchen/busser.rb
|
283
311
|
- lib/kitchen/cli.rb
|
284
312
|
- lib/kitchen/collection.rb
|
@@ -288,11 +316,13 @@ files:
|
|
288
316
|
- lib/kitchen/command/console.rb
|
289
317
|
- lib/kitchen/command/diagnose.rb
|
290
318
|
- lib/kitchen/command/driver_discover.rb
|
319
|
+
- lib/kitchen/command/exec.rb
|
291
320
|
- lib/kitchen/command/list.rb
|
292
321
|
- lib/kitchen/command/login.rb
|
293
322
|
- lib/kitchen/command/sink.rb
|
294
323
|
- lib/kitchen/command/test.rb
|
295
324
|
- lib/kitchen/config.rb
|
325
|
+
- lib/kitchen/configurable.rb
|
296
326
|
- lib/kitchen/data_munger.rb
|
297
327
|
- lib/kitchen/diagnostic.rb
|
298
328
|
- lib/kitchen/driver.rb
|
@@ -329,24 +359,44 @@ files:
|
|
329
359
|
- lib/kitchen/util.rb
|
330
360
|
- lib/kitchen/version.rb
|
331
361
|
- lib/vendor/hash_recursive_merge.rb
|
362
|
+
- spec/kitchen/base64_stream_spec.rb
|
363
|
+
- spec/kitchen/busser_spec.rb
|
332
364
|
- spec/kitchen/collection_spec.rb
|
333
365
|
- spec/kitchen/color_spec.rb
|
334
366
|
- spec/kitchen/config_spec.rb
|
367
|
+
- spec/kitchen/configurable_spec.rb
|
335
368
|
- spec/kitchen/data_munger_spec.rb
|
369
|
+
- spec/kitchen/diagnostic_spec.rb
|
336
370
|
- spec/kitchen/driver/base_spec.rb
|
337
371
|
- spec/kitchen/driver/dummy_spec.rb
|
372
|
+
- spec/kitchen/driver/proxy_spec.rb
|
373
|
+
- spec/kitchen/driver/ssh_base_spec.rb
|
338
374
|
- spec/kitchen/driver_spec.rb
|
375
|
+
- spec/kitchen/errors_spec.rb
|
339
376
|
- spec/kitchen/instance_spec.rb
|
340
377
|
- spec/kitchen/lazy_hash_spec.rb
|
341
378
|
- spec/kitchen/loader/yaml_spec.rb
|
379
|
+
- spec/kitchen/logger_spec.rb
|
380
|
+
- spec/kitchen/logging_spec.rb
|
381
|
+
- spec/kitchen/login_command_spec.rb
|
382
|
+
- spec/kitchen/metadata_chopper_spec.rb
|
342
383
|
- spec/kitchen/platform_spec.rb
|
343
384
|
- spec/kitchen/provisioner/base_spec.rb
|
385
|
+
- spec/kitchen/provisioner/chef_base_spec.rb
|
386
|
+
- spec/kitchen/provisioner/chef_solo_spec.rb
|
387
|
+
- spec/kitchen/provisioner/chef_zero_spec.rb
|
388
|
+
- spec/kitchen/provisioner/shell_spec.rb
|
344
389
|
- spec/kitchen/provisioner_spec.rb
|
390
|
+
- spec/kitchen/shell_out_spec.rb
|
391
|
+
- spec/kitchen/ssh_spec.rb
|
345
392
|
- spec/kitchen/state_file_spec.rb
|
346
393
|
- spec/kitchen/suite_spec.rb
|
347
394
|
- spec/kitchen/util_spec.rb
|
395
|
+
- spec/kitchen_spec.rb
|
348
396
|
- spec/spec_helper.rb
|
349
397
|
- support/chef-client-zero.rb
|
398
|
+
- support/chef_helpers.sh
|
399
|
+
- support/download_helpers.sh
|
350
400
|
- support/dummy-validation.pem
|
351
401
|
- templates/driver/CHANGELOG.md.erb
|
352
402
|
- templates/driver/Gemfile.erb
|
@@ -384,37 +434,61 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
384
434
|
version: '0'
|
385
435
|
requirements: []
|
386
436
|
rubyforge_project:
|
387
|
-
rubygems_version: 2.
|
437
|
+
rubygems_version: 2.4.5
|
388
438
|
signing_key:
|
389
439
|
specification_version: 4
|
390
440
|
summary: Test Kitchen is an integration tool for developing and testing infrastructure
|
391
441
|
code and software on isolated target platforms.
|
392
442
|
test_files:
|
443
|
+
- features/kitchen_action_commands.feature
|
393
444
|
- features/kitchen_command.feature
|
445
|
+
- features/kitchen_console_command.feature
|
446
|
+
- features/kitchen_diagnose_command.feature
|
394
447
|
- features/kitchen_driver_create_command.feature
|
395
448
|
- features/kitchen_driver_discover_command.feature
|
396
449
|
- features/kitchen_help_command.feature
|
397
450
|
- features/kitchen_init_command.feature
|
398
451
|
- features/kitchen_list_command.feature
|
399
|
-
- features/
|
452
|
+
- features/kitchen_login_command.feature
|
453
|
+
- features/kitchen_sink_command.feature
|
454
|
+
- features/kitchen_test_command.feature
|
400
455
|
- features/step_definitions/gem_steps.rb
|
401
456
|
- features/step_definitions/git_steps.rb
|
457
|
+
- features/step_definitions/output_steps.rb
|
402
458
|
- features/support/env.rb
|
459
|
+
- spec/kitchen/base64_stream_spec.rb
|
460
|
+
- spec/kitchen/busser_spec.rb
|
403
461
|
- spec/kitchen/collection_spec.rb
|
404
462
|
- spec/kitchen/color_spec.rb
|
405
463
|
- spec/kitchen/config_spec.rb
|
464
|
+
- spec/kitchen/configurable_spec.rb
|
406
465
|
- spec/kitchen/data_munger_spec.rb
|
466
|
+
- spec/kitchen/diagnostic_spec.rb
|
407
467
|
- spec/kitchen/driver/base_spec.rb
|
408
468
|
- spec/kitchen/driver/dummy_spec.rb
|
469
|
+
- spec/kitchen/driver/proxy_spec.rb
|
470
|
+
- spec/kitchen/driver/ssh_base_spec.rb
|
409
471
|
- spec/kitchen/driver_spec.rb
|
472
|
+
- spec/kitchen/errors_spec.rb
|
410
473
|
- spec/kitchen/instance_spec.rb
|
411
474
|
- spec/kitchen/lazy_hash_spec.rb
|
412
475
|
- spec/kitchen/loader/yaml_spec.rb
|
476
|
+
- spec/kitchen/logger_spec.rb
|
477
|
+
- spec/kitchen/logging_spec.rb
|
478
|
+
- spec/kitchen/login_command_spec.rb
|
479
|
+
- spec/kitchen/metadata_chopper_spec.rb
|
413
480
|
- spec/kitchen/platform_spec.rb
|
414
481
|
- spec/kitchen/provisioner/base_spec.rb
|
482
|
+
- spec/kitchen/provisioner/chef_base_spec.rb
|
483
|
+
- spec/kitchen/provisioner/chef_solo_spec.rb
|
484
|
+
- spec/kitchen/provisioner/chef_zero_spec.rb
|
485
|
+
- spec/kitchen/provisioner/shell_spec.rb
|
415
486
|
- spec/kitchen/provisioner_spec.rb
|
487
|
+
- spec/kitchen/shell_out_spec.rb
|
488
|
+
- spec/kitchen/ssh_spec.rb
|
416
489
|
- spec/kitchen/state_file_spec.rb
|
417
490
|
- spec/kitchen/suite_spec.rb
|
418
491
|
- spec/kitchen/util_spec.rb
|
492
|
+
- spec/kitchen_spec.rb
|
419
493
|
- spec/spec_helper.rb
|
420
494
|
has_rdoc:
|