test-kitchen 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|