test-kitchen 1.7.0 → 1.7.1.dev
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 +8 -8
- data/.gitattributes +3 -0
- data/.github/ISSUE_TEMPLATE.md +55 -55
- data/.gitignore +28 -28
- data/.kitchen.ci.yml +23 -23
- data/.kitchen.proxy.yml +27 -27
- data/.rubocop.yml +3 -3
- data/.travis.yml +70 -70
- data/.yardopts +3 -3
- data/Berksfile +3 -3
- data/CHANGELOG.md +1090 -1083
- data/CONTRIBUTING.md +14 -14
- data/Gemfile +19 -19
- data/Gemfile.proxy_tests +4 -4
- data/Guardfile +42 -42
- data/LICENSE +15 -15
- data/MAINTAINERS.md +23 -23
- data/README.md +135 -135
- data/Rakefile +61 -61
- data/appveyor.yml +44 -44
- data/features/kitchen_action_commands.feature +164 -164
- data/features/kitchen_command.feature +16 -16
- data/features/kitchen_console_command.feature +34 -34
- data/features/kitchen_defaults.feature +38 -38
- data/features/kitchen_diagnose_command.feature +96 -96
- data/features/kitchen_driver_create_command.feature +64 -64
- data/features/kitchen_driver_discover_command.feature +25 -25
- data/features/kitchen_help_command.feature +16 -16
- data/features/kitchen_init_command.feature +274 -274
- data/features/kitchen_list_command.feature +104 -104
- data/features/kitchen_login_command.feature +62 -62
- data/features/kitchen_sink_command.feature +30 -30
- data/features/kitchen_test_command.feature +88 -88
- data/features/step_definitions/gem_steps.rb +36 -36
- data/features/step_definitions/git_steps.rb +5 -5
- data/features/step_definitions/output_steps.rb +5 -5
- data/features/support/env.rb +75 -75
- data/lib/kitchen.rb +150 -150
- data/lib/kitchen/base64_stream.rb +55 -55
- data/lib/kitchen/cli.rb +419 -419
- data/lib/kitchen/collection.rb +55 -55
- data/lib/kitchen/color.rb +65 -65
- data/lib/kitchen/command.rb +185 -185
- data/lib/kitchen/command/action.rb +45 -45
- data/lib/kitchen/command/console.rb +58 -58
- data/lib/kitchen/command/diagnose.rb +92 -92
- data/lib/kitchen/command/driver_discover.rb +105 -105
- data/lib/kitchen/command/exec.rb +41 -41
- data/lib/kitchen/command/list.rb +119 -119
- data/lib/kitchen/command/login.rb +43 -43
- data/lib/kitchen/command/sink.rb +54 -54
- data/lib/kitchen/command/test.rb +51 -51
- data/lib/kitchen/config.rb +322 -322
- data/lib/kitchen/configurable.rb +529 -529
- data/lib/kitchen/data_munger.rb +959 -959
- data/lib/kitchen/diagnostic.rb +141 -141
- data/lib/kitchen/driver.rb +56 -56
- data/lib/kitchen/driver/base.rb +134 -134
- data/lib/kitchen/driver/dummy.rb +108 -108
- data/lib/kitchen/driver/proxy.rb +72 -72
- data/lib/kitchen/driver/ssh_base.rb +357 -357
- data/lib/kitchen/errors.rb +229 -229
- data/lib/kitchen/generator/driver_create.rb +177 -177
- data/lib/kitchen/generator/init.rb +296 -296
- data/lib/kitchen/instance.rb +662 -662
- data/lib/kitchen/lazy_hash.rb +142 -142
- data/lib/kitchen/loader/yaml.rb +349 -349
- data/lib/kitchen/logger.rb +423 -423
- data/lib/kitchen/logging.rb +56 -56
- data/lib/kitchen/login_command.rb +52 -52
- data/lib/kitchen/metadata_chopper.rb +52 -52
- data/lib/kitchen/platform.rb +67 -67
- data/lib/kitchen/provisioner.rb +54 -54
- data/lib/kitchen/provisioner/base.rb +236 -236
- data/lib/kitchen/provisioner/chef/berkshelf.rb +114 -114
- data/lib/kitchen/provisioner/chef/common_sandbox.rb +322 -322
- data/lib/kitchen/provisioner/chef/librarian.rb +112 -112
- data/lib/kitchen/provisioner/chef_apply.rb +124 -124
- data/lib/kitchen/provisioner/chef_base.rb +341 -341
- data/lib/kitchen/provisioner/chef_solo.rb +88 -88
- data/lib/kitchen/provisioner/chef_zero.rb +245 -245
- data/lib/kitchen/provisioner/dummy.rb +79 -79
- data/lib/kitchen/provisioner/shell.rb +138 -138
- data/lib/kitchen/rake_tasks.rb +63 -63
- data/lib/kitchen/shell_out.rb +93 -93
- data/lib/kitchen/ssh.rb +276 -276
- data/lib/kitchen/state_file.rb +120 -120
- data/lib/kitchen/suite.rb +51 -51
- data/lib/kitchen/thor_tasks.rb +66 -66
- data/lib/kitchen/transport.rb +54 -54
- data/lib/kitchen/transport/base.rb +176 -176
- data/lib/kitchen/transport/dummy.rb +79 -79
- data/lib/kitchen/transport/ssh.rb +364 -364
- data/lib/kitchen/transport/winrm.rb +486 -486
- data/lib/kitchen/util.rb +147 -147
- data/lib/kitchen/verifier.rb +55 -55
- data/lib/kitchen/verifier/base.rb +235 -235
- data/lib/kitchen/verifier/busser.rb +277 -277
- data/lib/kitchen/verifier/dummy.rb +79 -79
- data/lib/kitchen/verifier/shell.rb +101 -101
- data/lib/kitchen/version.rb +21 -21
- data/lib/vendor/hash_recursive_merge.rb +82 -82
- data/spec/kitchen/base64_stream_spec.rb +77 -77
- data/spec/kitchen/cli_spec.rb +56 -56
- data/spec/kitchen/collection_spec.rb +80 -80
- data/spec/kitchen/color_spec.rb +54 -54
- data/spec/kitchen/config_spec.rb +408 -408
- data/spec/kitchen/configurable_spec.rb +1095 -1095
- data/spec/kitchen/data_munger_spec.rb +2694 -2694
- data/spec/kitchen/diagnostic_spec.rb +129 -129
- data/spec/kitchen/driver/base_spec.rb +121 -121
- data/spec/kitchen/driver/dummy_spec.rb +199 -199
- data/spec/kitchen/driver/proxy_spec.rb +138 -138
- data/spec/kitchen/driver/ssh_base_spec.rb +1115 -1115
- data/spec/kitchen/driver_spec.rb +112 -112
- data/spec/kitchen/errors_spec.rb +309 -309
- data/spec/kitchen/instance_spec.rb +1419 -1419
- data/spec/kitchen/lazy_hash_spec.rb +117 -117
- data/spec/kitchen/loader/yaml_spec.rb +774 -774
- data/spec/kitchen/logger_spec.rb +429 -429
- data/spec/kitchen/logging_spec.rb +59 -59
- data/spec/kitchen/login_command_spec.rb +68 -68
- data/spec/kitchen/metadata_chopper_spec.rb +82 -82
- data/spec/kitchen/platform_spec.rb +89 -89
- data/spec/kitchen/provisioner/base_spec.rb +386 -386
- data/spec/kitchen/provisioner/chef_apply_spec.rb +136 -136
- data/spec/kitchen/provisioner/chef_base_spec.rb +1161 -1161
- data/spec/kitchen/provisioner/chef_solo_spec.rb +557 -557
- data/spec/kitchen/provisioner/chef_zero_spec.rb +1001 -1001
- data/spec/kitchen/provisioner/dummy_spec.rb +99 -99
- data/spec/kitchen/provisioner/shell_spec.rb +566 -566
- data/spec/kitchen/provisioner_spec.rb +107 -107
- data/spec/kitchen/shell_out_spec.rb +150 -150
- data/spec/kitchen/ssh_spec.rb +693 -693
- data/spec/kitchen/state_file_spec.rb +129 -129
- data/spec/kitchen/suite_spec.rb +62 -62
- data/spec/kitchen/transport/base_spec.rb +89 -89
- data/spec/kitchen/transport/ssh_spec.rb +1255 -1255
- data/spec/kitchen/transport/winrm_spec.rb +1143 -1143
- data/spec/kitchen/transport_spec.rb +112 -112
- data/spec/kitchen/util_spec.rb +165 -165
- data/spec/kitchen/verifier/base_spec.rb +362 -362
- data/spec/kitchen/verifier/busser_spec.rb +610 -610
- data/spec/kitchen/verifier/dummy_spec.rb +99 -99
- data/spec/kitchen/verifier/shell_spec.rb +160 -160
- data/spec/kitchen/verifier_spec.rb +120 -120
- data/spec/kitchen_spec.rb +114 -114
- data/spec/spec_helper.rb +85 -85
- data/spec/support/powershell_max_size_spec.rb +40 -40
- data/support/busser_install_command.ps1 +14 -14
- data/support/busser_install_command.sh +14 -14
- data/support/chef-client-zero.rb +77 -77
- data/support/chef_base_init_command.ps1 +18 -18
- data/support/chef_base_init_command.sh +2 -2
- data/support/chef_base_install_command.ps1 +85 -85
- data/support/chef_base_install_command.sh +229 -229
- data/support/chef_zero_prepare_command_legacy.ps1 +9 -9
- data/support/chef_zero_prepare_command_legacy.sh +10 -10
- data/support/download_helpers.sh +109 -109
- data/support/dummy-validation.pem +27 -27
- data/templates/driver/CHANGELOG.md.erb +3 -3
- data/templates/driver/Gemfile.erb +3 -3
- data/templates/driver/README.md.erb +64 -64
- data/templates/driver/Rakefile.erb +21 -21
- data/templates/driver/driver.rb.erb +23 -23
- data/templates/driver/gemspec.erb +29 -29
- data/templates/driver/gitignore.erb +17 -17
- data/templates/driver/license_apachev2.erb +15 -15
- data/templates/driver/license_lgplv3.erb +16 -16
- data/templates/driver/license_mit.erb +22 -22
- data/templates/driver/license_reserved.erb +5 -5
- data/templates/driver/tailor.erb +4 -4
- data/templates/driver/travis.yml.erb +11 -11
- data/templates/driver/version.rb.erb +12 -12
- data/templates/init/chefignore.erb +1 -1
- data/templates/init/kitchen.yml.erb +18 -18
- data/test-kitchen.gemspec +62 -62
- data/test/integration/default/default_spec.rb +3 -3
- data/testing_windows.md +37 -37
- metadata +5 -4
data/CONTRIBUTING.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Release Process
|
|
2
|
-
|
|
3
|
-
This release process applies to all Test Kitchen projects, but each project may have additional requirements.
|
|
4
|
-
|
|
5
|
-
1. Perform a Github diff between master and the last released version. Determine whether included PRs justify a patch, minor or major version release.
|
|
6
|
-
2. Check out the master branch of the project being prepared for release.
|
|
7
|
-
3. Branch into a release-branch of the form `150_release_prep`.
|
|
8
|
-
4. Modify the `version.rb` file to specify the version for releasing.
|
|
9
|
-
5. Run `rake changelog` to regenerate the changelog.
|
|
10
|
-
6. `git commit` the `version.rb` and `CHANGELOG.md` changes to the branch and setup a PR for them. Allow the PR to run any automated tests and review the CHANGELOG for accuracy.
|
|
11
|
-
7. Merge the PR to master after review.
|
|
12
|
-
8. Switch your local copy to the master branch and `git pull` to pull in the release preparation changes.
|
|
13
|
-
9. Run `rake release` on the master branch.
|
|
14
|
-
10. Modify the `version.rb` file and bump the patch or minor version, and commit/push.
|
|
1
|
+
# Release Process
|
|
2
|
+
|
|
3
|
+
This release process applies to all Test Kitchen projects, but each project may have additional requirements.
|
|
4
|
+
|
|
5
|
+
1. Perform a Github diff between master and the last released version. Determine whether included PRs justify a patch, minor or major version release.
|
|
6
|
+
2. Check out the master branch of the project being prepared for release.
|
|
7
|
+
3. Branch into a release-branch of the form `150_release_prep`.
|
|
8
|
+
4. Modify the `version.rb` file to specify the version for releasing.
|
|
9
|
+
5. Run `rake changelog` to regenerate the changelog.
|
|
10
|
+
6. `git commit` the `version.rb` and `CHANGELOG.md` changes to the branch and setup a PR for them. Allow the PR to run any automated tests and review the CHANGELOG for accuracy.
|
|
11
|
+
7. Merge the PR to master after review.
|
|
12
|
+
8. Switch your local copy to the master branch and `git pull` to pull in the release preparation changes.
|
|
13
|
+
9. Run `rake release` on the master branch.
|
|
14
|
+
10. Modify the `version.rb` file and bump the patch or minor version, and commit/push.
|
data/Gemfile
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
source "https://rubygems.org"
|
|
3
|
-
gemspec
|
|
4
|
-
|
|
5
|
-
group :guard do
|
|
6
|
-
gem "guard-minitest"
|
|
7
|
-
gem "guard-cucumber", "~> 1.4"
|
|
8
|
-
gem "guard-rubocop"
|
|
9
|
-
gem "guard-yard"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
group :integration do
|
|
13
|
-
gem "berkshelf", "~> 4.3"
|
|
14
|
-
gem "kitchen-inspec", "~> 0.12.5"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
group :test do
|
|
18
|
-
gem "codeclimate-test-reporter", :require => nil
|
|
19
|
-
end
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
source "https://rubygems.org"
|
|
3
|
+
gemspec
|
|
4
|
+
|
|
5
|
+
group :guard do
|
|
6
|
+
gem "guard-minitest"
|
|
7
|
+
gem "guard-cucumber", "~> 1.4"
|
|
8
|
+
gem "guard-rubocop"
|
|
9
|
+
gem "guard-yard"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
group :integration do
|
|
13
|
+
gem "berkshelf", "~> 4.3"
|
|
14
|
+
gem "kitchen-inspec", "~> 0.12.5"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
group :test do
|
|
18
|
+
gem "codeclimate-test-reporter", :require => nil
|
|
19
|
+
end
|
data/Gemfile.proxy_tests
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
eval_gemfile File.join(File.dirname(__FILE__), "Gemfile")
|
|
3
|
-
|
|
4
|
-
gem "chef-config"
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
eval_gemfile File.join(File.dirname(__FILE__), "Gemfile")
|
|
3
|
+
|
|
4
|
+
gem "chef-config"
|
data/Guardfile
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
ignore %r{^\.gem/}
|
|
3
|
-
|
|
4
|
-
def rubocop_opts
|
|
5
|
-
{ :all_on_start => false, :keep_failed => false, :cli => "-r finstyle" }
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def cucumber_opts
|
|
9
|
-
cucumber_cli = "--no-profile --color --format progress --strict"
|
|
10
|
-
cucumber_cli += " --tags ~@spawn" if RUBY_PLATFORM =~ /mswin|mingw|windows/
|
|
11
|
-
|
|
12
|
-
{ :all_on_start => false, :cli => cucumber_cli }
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def yard_opts
|
|
16
|
-
{ :port => "8808" }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
group :red_green_refactor, :halt_on_fail => true do
|
|
20
|
-
guard :minitest do
|
|
21
|
-
watch(%r{^spec/(.*)_spec\.rb})
|
|
22
|
-
watch(%r{^lib/(.*)([^/]+)\.rb}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
|
23
|
-
watch(%r{^spec/spec_helper\.rb}) { "spec" }
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
guard :rubocop, rubocop_opts do
|
|
27
|
-
watch(%r{.+\.rb$})
|
|
28
|
-
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
guard :cucumber, cucumber_opts do
|
|
33
|
-
watch(%r{^features/.+\.feature$})
|
|
34
|
-
watch(%r{^features/support/.+$}) { "features" }
|
|
35
|
-
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) do |m|
|
|
36
|
-
Dir[File.join("**/#{m[1]}.feature")][0] || "features"
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
guard :yard, yard_opts do
|
|
41
|
-
watch(%r{lib/.+\.rb})
|
|
42
|
-
end
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
ignore %r{^\.gem/}
|
|
3
|
+
|
|
4
|
+
def rubocop_opts
|
|
5
|
+
{ :all_on_start => false, :keep_failed => false, :cli => "-r finstyle" }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def cucumber_opts
|
|
9
|
+
cucumber_cli = "--no-profile --color --format progress --strict"
|
|
10
|
+
cucumber_cli += " --tags ~@spawn" if RUBY_PLATFORM =~ /mswin|mingw|windows/
|
|
11
|
+
|
|
12
|
+
{ :all_on_start => false, :cli => cucumber_cli }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def yard_opts
|
|
16
|
+
{ :port => "8808" }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
group :red_green_refactor, :halt_on_fail => true do
|
|
20
|
+
guard :minitest do
|
|
21
|
+
watch(%r{^spec/(.*)_spec\.rb})
|
|
22
|
+
watch(%r{^lib/(.*)([^/]+)\.rb}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
|
23
|
+
watch(%r{^spec/spec_helper\.rb}) { "spec" }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
guard :rubocop, rubocop_opts do
|
|
27
|
+
watch(%r{.+\.rb$})
|
|
28
|
+
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
guard :cucumber, cucumber_opts do
|
|
33
|
+
watch(%r{^features/.+\.feature$})
|
|
34
|
+
watch(%r{^features/support/.+$}) { "features" }
|
|
35
|
+
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) do |m|
|
|
36
|
+
Dir[File.join("**/#{m[1]}.feature")][0] || "features"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
guard :yard, yard_opts do
|
|
41
|
+
watch(%r{lib/.+\.rb})
|
|
42
|
+
end
|
data/LICENSE
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
Author:: Fletcher Nichol (<fnichol@nichol.ca>)
|
|
2
|
-
|
|
3
|
-
Copyright 2012 Fletcher Nichol
|
|
4
|
-
|
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
you may not use this file except in compliance with the License.
|
|
7
|
-
You may obtain a copy of the License at
|
|
8
|
-
|
|
9
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
|
|
11
|
-
Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
See the License for the specific language governing permissions and
|
|
15
|
-
limitations under the License.
|
|
1
|
+
Author:: Fletcher Nichol (<fnichol@nichol.ca>)
|
|
2
|
+
|
|
3
|
+
Copyright 2012 Fletcher Nichol
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
data/MAINTAINERS.md
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
# Maintainers
|
|
2
|
-
|
|
3
|
-
This file lists how the Test Kitchen project is maintained. When making changes
|
|
4
|
-
to the system, this file tells you who needs to review your patch. You need a :+1: vote
|
|
5
|
-
from at least 2 members of the project team listed below. Additionally, you need to not
|
|
6
|
-
receive a veto from the Lieutenant or the Project Lead.
|
|
7
|
-
|
|
8
|
-
## Project Lead
|
|
9
|
-
|
|
10
|
-
* [Fletcher Nichol](https://github.com/fnichol)
|
|
11
|
-
|
|
12
|
-
## Lieutenants
|
|
13
|
-
* [Seth Thomas](https://github.com/cheeseplus)
|
|
14
|
-
|
|
15
|
-
## Maintainers
|
|
16
|
-
|
|
17
|
-
* [Adam Leff](https://github.com/adamleff)
|
|
18
|
-
* [Jennifer Davis](https://github.com/iennae)
|
|
19
|
-
* [Matt Wrock](https://github.com/mwrock)
|
|
20
|
-
* [Steven Murawski](http://github.com/smurawski)
|
|
21
|
-
* [Chris Hartmann](https://github.com/chris-rock)
|
|
22
|
-
* [Sean Omeara](http://github.com/someara)
|
|
23
|
-
* [Robb Kidd](https://github.com/robbkidd)
|
|
1
|
+
# Maintainers
|
|
2
|
+
|
|
3
|
+
This file lists how the Test Kitchen project is maintained. When making changes
|
|
4
|
+
to the system, this file tells you who needs to review your patch. You need a :+1: vote
|
|
5
|
+
from at least 2 members of the project team listed below. Additionally, you need to not
|
|
6
|
+
receive a veto from the Lieutenant or the Project Lead.
|
|
7
|
+
|
|
8
|
+
## Project Lead
|
|
9
|
+
|
|
10
|
+
* [Fletcher Nichol](https://github.com/fnichol)
|
|
11
|
+
|
|
12
|
+
## Lieutenants
|
|
13
|
+
* [Seth Thomas](https://github.com/cheeseplus)
|
|
14
|
+
|
|
15
|
+
## Maintainers
|
|
16
|
+
|
|
17
|
+
* [Adam Leff](https://github.com/adamleff)
|
|
18
|
+
* [Jennifer Davis](https://github.com/iennae)
|
|
19
|
+
* [Matt Wrock](https://github.com/mwrock)
|
|
20
|
+
* [Steven Murawski](http://github.com/smurawski)
|
|
21
|
+
* [Chris Hartmann](https://github.com/chris-rock)
|
|
22
|
+
* [Sean Omeara](http://github.com/someara)
|
|
23
|
+
* [Robb Kidd](https://github.com/robbkidd)
|
data/README.md
CHANGED
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
# Test Kitchen
|
|
2
|
-
|
|
3
|
-
[](http://badge.fury.io/rb/test-kitchen)
|
|
4
|
-
[](https://travis-ci.org/test-kitchen/test-kitchen)
|
|
5
|
-
[](https://codeclimate.com/github/test-kitchen/test-kitchen)
|
|
6
|
-
[](https://codeclimate.com/github/test-kitchen/test-kitchen)
|
|
7
|
-
[](https://gemnasium.com/test-kitchen/test-kitchen)
|
|
8
|
-
[](http://inch-ci.org/github/test-kitchen/test-kitchen)
|
|
9
|
-
|
|
10
|
-
| | |
|
|
11
|
-
|-------------|-----------------------------------------------|
|
|
12
|
-
| Website | http://kitchen.ci |
|
|
13
|
-
| Source Code | http://kitchen.ci/docs/getting-started/ |
|
|
14
|
-
| IRC | [#kitchenci][irc] channel on Freenode, [transcript][irc_log] thanks to [BotBot.me][botbotme] |
|
|
15
|
-
| Twitter | [@kitchenci][twitter] |
|
|
16
|
-
|
|
17
|
-
> **Test Kitchen is an integration tool for developing and testing
|
|
18
|
-
> infrastructure code and software on isolated target platforms.**
|
|
19
|
-
|
|
20
|
-
## Getting Started Guide
|
|
21
|
-
|
|
22
|
-
To learn how to install and setup Test Kitchen for developing infrastructure
|
|
23
|
-
code, check out the [Getting Started Guide][guide].
|
|
24
|
-
|
|
25
|
-
If you want to get going super fast, then try the Quick Start next...
|
|
26
|
-
|
|
27
|
-
## Quick Start
|
|
28
|
-
|
|
29
|
-
Test Kitchen is a RubyGem and can be installed with:
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
$ gem install test-kitchen
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
If you use Bundler, you can add `gem "test-kitchen"` to your Gemfile and make
|
|
36
|
-
sure to run `bundle install`.
|
|
37
|
-
|
|
38
|
-
Next add support to your library, Chef cookbook, or empty project with `kitchen
|
|
39
|
-
init`:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
$ kitchen init
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
A `.kitchen.yml` will be created in your project base directory. This file
|
|
46
|
-
describes your testing configuration; what you want to test and on which target
|
|
47
|
-
platforms. Each of these suite and platform combinations are called instances.
|
|
48
|
-
By default your instances will be converged with Chef Solo and run in Vagrant
|
|
49
|
-
virtual machines.
|
|
50
|
-
|
|
51
|
-
Get a listing of your instances with:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
$ kitchen list
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Run Chef on an instance, in this case `default-ubuntu-1204`, with:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
$ kitchen converge default-ubuntu-1204
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Destroy all instances with:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
$ kitchen destroy
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
You can clone a Chef cookbook project that contains Test Kitchen support and
|
|
70
|
-
run through all the instances in serial by running:
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
$ kitchen test
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Usage
|
|
77
|
-
|
|
78
|
-
There is help included with the `kitchen help` subcommand which will list all
|
|
79
|
-
subcommands and their usage:
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
$ kitchen help test
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
More verbose logging (for both test-kitchen and the chef-solo/chef-zero provisioners) can be specified when running test-kitchen form the command line using:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
$ kitchen test -l debug
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Documentation
|
|
92
|
-
|
|
93
|
-
Documentation is being added on the Test Kitchen [website][website]. Please
|
|
94
|
-
read and contribute to improve them!
|
|
95
|
-
|
|
96
|
-
## Versioning
|
|
97
|
-
|
|
98
|
-
Test Kitchen aims to adhere to [Semantic Versioning 2.0.0][semver].
|
|
99
|
-
|
|
100
|
-
## Development
|
|
101
|
-
|
|
102
|
-
* Source hosted at [GitHub][repo]
|
|
103
|
-
* Report issues/questions/feature requests on [GitHub Issues][issues]
|
|
104
|
-
|
|
105
|
-
Pull requests are very welcome! Make sure your patches are well tested.
|
|
106
|
-
Ideally create a topic branch for every separate change you make. For
|
|
107
|
-
example:
|
|
108
|
-
|
|
109
|
-
1. Fork the repo
|
|
110
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
111
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
|
112
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
|
113
|
-
5. Create new Pull Request
|
|
114
|
-
|
|
115
|
-
## Authors
|
|
116
|
-
|
|
117
|
-
Created and maintained by [Fletcher Nichol][fnichol] (<fnichol@nichol.ca>) and
|
|
118
|
-
a growing community of [contributors][contributors].
|
|
119
|
-
|
|
120
|
-
## License
|
|
121
|
-
|
|
122
|
-
Apache License, Version 2.0 (see [LICENSE][license])
|
|
123
|
-
|
|
124
|
-
[botbotme]: https://botbot.me/
|
|
125
|
-
[contributors]: https://github.com/test-kitchen/test-kitchen/graphs/contributors
|
|
126
|
-
[fnichol]: https://github.com/fnichol
|
|
127
|
-
[guide]: http://kitchen.ci/docs/getting-started/
|
|
128
|
-
[irc]: http://webchat.freenode.net/?channels=kitchenci
|
|
129
|
-
[irc_log]: https://botbot.me/freenode/kitchenci/
|
|
130
|
-
[issues]: https://github.com/test-kitchen/test-kitchen/issues
|
|
131
|
-
[license]: https://github.com/test-kitchen/test-kitchen/blob/master/LICENSE
|
|
132
|
-
[repo]: https://github.com/test-kitchen/test-kitchen
|
|
133
|
-
[semver]: http://semver.org/
|
|
134
|
-
[twitter]: https://twitter.com/kitchenci
|
|
135
|
-
[website]: http://kitchen.ci
|
|
1
|
+
# Test Kitchen
|
|
2
|
+
|
|
3
|
+
[](http://badge.fury.io/rb/test-kitchen)
|
|
4
|
+
[](https://travis-ci.org/test-kitchen/test-kitchen)
|
|
5
|
+
[](https://codeclimate.com/github/test-kitchen/test-kitchen)
|
|
6
|
+
[](https://codeclimate.com/github/test-kitchen/test-kitchen)
|
|
7
|
+
[](https://gemnasium.com/test-kitchen/test-kitchen)
|
|
8
|
+
[](http://inch-ci.org/github/test-kitchen/test-kitchen)
|
|
9
|
+
|
|
10
|
+
| | |
|
|
11
|
+
|-------------|-----------------------------------------------|
|
|
12
|
+
| Website | http://kitchen.ci |
|
|
13
|
+
| Source Code | http://kitchen.ci/docs/getting-started/ |
|
|
14
|
+
| IRC | [#kitchenci][irc] channel on Freenode, [transcript][irc_log] thanks to [BotBot.me][botbotme] |
|
|
15
|
+
| Twitter | [@kitchenci][twitter] |
|
|
16
|
+
|
|
17
|
+
> **Test Kitchen is an integration tool for developing and testing
|
|
18
|
+
> infrastructure code and software on isolated target platforms.**
|
|
19
|
+
|
|
20
|
+
## Getting Started Guide
|
|
21
|
+
|
|
22
|
+
To learn how to install and setup Test Kitchen for developing infrastructure
|
|
23
|
+
code, check out the [Getting Started Guide][guide].
|
|
24
|
+
|
|
25
|
+
If you want to get going super fast, then try the Quick Start next...
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
Test Kitchen is a RubyGem and can be installed with:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
$ gem install test-kitchen
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If you use Bundler, you can add `gem "test-kitchen"` to your Gemfile and make
|
|
36
|
+
sure to run `bundle install`.
|
|
37
|
+
|
|
38
|
+
Next add support to your library, Chef cookbook, or empty project with `kitchen
|
|
39
|
+
init`:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
$ kitchen init
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
A `.kitchen.yml` will be created in your project base directory. This file
|
|
46
|
+
describes your testing configuration; what you want to test and on which target
|
|
47
|
+
platforms. Each of these suite and platform combinations are called instances.
|
|
48
|
+
By default your instances will be converged with Chef Solo and run in Vagrant
|
|
49
|
+
virtual machines.
|
|
50
|
+
|
|
51
|
+
Get a listing of your instances with:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
$ kitchen list
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Run Chef on an instance, in this case `default-ubuntu-1204`, with:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
$ kitchen converge default-ubuntu-1204
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Destroy all instances with:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
$ kitchen destroy
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
You can clone a Chef cookbook project that contains Test Kitchen support and
|
|
70
|
+
run through all the instances in serial by running:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
$ kitchen test
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Usage
|
|
77
|
+
|
|
78
|
+
There is help included with the `kitchen help` subcommand which will list all
|
|
79
|
+
subcommands and their usage:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
$ kitchen help test
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
More verbose logging (for both test-kitchen and the chef-solo/chef-zero provisioners) can be specified when running test-kitchen form the command line using:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
$ kitchen test -l debug
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Documentation
|
|
92
|
+
|
|
93
|
+
Documentation is being added on the Test Kitchen [website][website]. Please
|
|
94
|
+
read and contribute to improve them!
|
|
95
|
+
|
|
96
|
+
## Versioning
|
|
97
|
+
|
|
98
|
+
Test Kitchen aims to adhere to [Semantic Versioning 2.0.0][semver].
|
|
99
|
+
|
|
100
|
+
## Development
|
|
101
|
+
|
|
102
|
+
* Source hosted at [GitHub][repo]
|
|
103
|
+
* Report issues/questions/feature requests on [GitHub Issues][issues]
|
|
104
|
+
|
|
105
|
+
Pull requests are very welcome! Make sure your patches are well tested.
|
|
106
|
+
Ideally create a topic branch for every separate change you make. For
|
|
107
|
+
example:
|
|
108
|
+
|
|
109
|
+
1. Fork the repo
|
|
110
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
111
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
|
112
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
|
113
|
+
5. Create new Pull Request
|
|
114
|
+
|
|
115
|
+
## Authors
|
|
116
|
+
|
|
117
|
+
Created and maintained by [Fletcher Nichol][fnichol] (<fnichol@nichol.ca>) and
|
|
118
|
+
a growing community of [contributors][contributors].
|
|
119
|
+
|
|
120
|
+
## License
|
|
121
|
+
|
|
122
|
+
Apache License, Version 2.0 (see [LICENSE][license])
|
|
123
|
+
|
|
124
|
+
[botbotme]: https://botbot.me/
|
|
125
|
+
[contributors]: https://github.com/test-kitchen/test-kitchen/graphs/contributors
|
|
126
|
+
[fnichol]: https://github.com/fnichol
|
|
127
|
+
[guide]: http://kitchen.ci/docs/getting-started/
|
|
128
|
+
[irc]: http://webchat.freenode.net/?channels=kitchenci
|
|
129
|
+
[irc_log]: https://botbot.me/freenode/kitchenci/
|
|
130
|
+
[issues]: https://github.com/test-kitchen/test-kitchen/issues
|
|
131
|
+
[license]: https://github.com/test-kitchen/test-kitchen/blob/master/LICENSE
|
|
132
|
+
[repo]: https://github.com/test-kitchen/test-kitchen
|
|
133
|
+
[semver]: http://semver.org/
|
|
134
|
+
[twitter]: https://twitter.com/kitchenci
|
|
135
|
+
[website]: http://kitchen.ci
|