test-kitchen 1.6.0 → 1.7.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 +8 -7
- data/.github/ISSUE_TEMPLATE.md +56 -0
- data/.gitignore +28 -27
- data/.kitchen.ci.yml +23 -0
- data/.kitchen.proxy.yml +27 -0
- data/.rubocop.yml +3 -3
- data/.travis.yml +70 -53
- data/.yardopts +3 -3
- data/Berksfile +3 -0
- data/CHANGELOG.md +1083 -1051
- data/CONTRIBUTING.md +14 -14
- data/Gemfile +19 -14
- data/Gemfile.proxy_tests +4 -5
- data/Guardfile +42 -42
- data/LICENSE +15 -15
- data/MAINTAINERS.md +23 -24
- data/README.md +135 -135
- data/Rakefile +61 -76
- data/appveyor.yml +44 -34
- 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 -960
- 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 -125
- data/lib/kitchen/provisioner/chef_base.rb +341 -294
- data/lib/kitchen/provisioner/chef_solo.rb +88 -89
- 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 -1062
- data/spec/kitchen/data_munger_spec.rb +2694 -2383
- 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 -1067
- 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 -158
- 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 -0
- data/testing_windows.md +37 -37
- metadata +23 -11
data/testing_windows.md
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
## Testing test-kitchen contributions against windows test instances
|
|
2
|
-
|
|
3
|
-
### Choose a windows based cookbook
|
|
4
|
-
The [windows cookbook](https://github.com/chef-cookbooks/windows) is a grand choice.
|
|
5
|
-
|
|
6
|
-
### Edit the `Gemfile`
|
|
7
|
-
Ensure that the cookbook's root directory includes a `Gemfile` that includes your local test-kitchen repo on the branch you would like to test as well as required windows-only needed gems:
|
|
8
|
-
```
|
|
9
|
-
gem 'test-kitchen', git: 'https://github.com/mwrock/test-kitchen', branch: 'winrm-fs'
|
|
10
|
-
gem 'winrm', '~> 1.6'
|
|
11
|
-
gem 'winrm-fs', '~> 0.
|
|
12
|
-
```
|
|
13
|
-
The above would target the `winrm-fs` branch in mwrock's test-kitchen repo.
|
|
14
|
-
|
|
15
|
-
### Finding a windows image
|
|
16
|
-
Make sure you have a windows test image handy. You can use your favorite cloud or hypervisor. An easy vagrant option is `mwrock/Windows2012R2` which is publicly available on atlas. To use that, edit your cookbook's `.kitchen.yml` to include:
|
|
17
|
-
```
|
|
18
|
-
platforms:
|
|
19
|
-
- name: win2012r2-standard
|
|
20
|
-
driver:
|
|
21
|
-
box: mwrock/Windows2012R2
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
For other windows OS versions, you can spin up instances in your favorite cloud provider or create your own vagrant box. The windows packer templates found in the [boxcutter repo](https://github.com/boxcutter/windows) provide a good place to start here.
|
|
25
|
-
|
|
26
|
-
### `bundle install`
|
|
27
|
-
|
|
28
|
-
From the root of your cookbook directory run `bundle install`
|
|
29
|
-
|
|
30
|
-
### Converge and test!
|
|
31
|
-
|
|
32
|
-
Now run `bundle exec kitchen verify`.
|
|
33
|
-
|
|
34
|
-
If your cookbook has multiple suites (like the windows cookbook), you likely just want to run one:
|
|
35
|
-
```
|
|
36
|
-
bundle exec kitchen verify feature
|
|
37
|
-
```
|
|
1
|
+
## Testing test-kitchen contributions against windows test instances
|
|
2
|
+
|
|
3
|
+
### Choose a windows based cookbook
|
|
4
|
+
The [windows cookbook](https://github.com/chef-cookbooks/windows) is a grand choice.
|
|
5
|
+
|
|
6
|
+
### Edit the `Gemfile`
|
|
7
|
+
Ensure that the cookbook's root directory includes a `Gemfile` that includes your local test-kitchen repo on the branch you would like to test as well as required windows-only needed gems:
|
|
8
|
+
```
|
|
9
|
+
gem 'test-kitchen', git: 'https://github.com/mwrock/test-kitchen', branch: 'winrm-fs'
|
|
10
|
+
gem 'winrm', '~> 1.6'
|
|
11
|
+
gem 'winrm-fs', '~> 0.4.0'
|
|
12
|
+
```
|
|
13
|
+
The above would target the `winrm-fs` branch in mwrock's test-kitchen repo.
|
|
14
|
+
|
|
15
|
+
### Finding a windows image
|
|
16
|
+
Make sure you have a windows test image handy. You can use your favorite cloud or hypervisor. An easy vagrant option is `mwrock/Windows2012R2` which is publicly available on atlas. To use that, edit your cookbook's `.kitchen.yml` to include:
|
|
17
|
+
```
|
|
18
|
+
platforms:
|
|
19
|
+
- name: win2012r2-standard
|
|
20
|
+
driver:
|
|
21
|
+
box: mwrock/Windows2012R2
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
For other windows OS versions, you can spin up instances in your favorite cloud provider or create your own vagrant box. The windows packer templates found in the [boxcutter repo](https://github.com/boxcutter/windows) provide a good place to start here.
|
|
25
|
+
|
|
26
|
+
### `bundle install`
|
|
27
|
+
|
|
28
|
+
From the root of your cookbook directory run `bundle install`
|
|
29
|
+
|
|
30
|
+
### Converge and test!
|
|
31
|
+
|
|
32
|
+
Now run `bundle exec kitchen verify`.
|
|
33
|
+
|
|
34
|
+
If your cookbook has multiple suites (like the windows cookbook), you likely just want to run one:
|
|
35
|
+
```
|
|
36
|
+
bundle exec kitchen verify feature
|
|
37
|
+
```
|
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.7.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: 2016-
|
|
11
|
+
date: 2016-04-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mixlib-shellout
|
|
@@ -98,14 +98,20 @@ dependencies:
|
|
|
98
98
|
requirements:
|
|
99
99
|
- - "~>"
|
|
100
100
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: '0
|
|
101
|
+
version: '1.0'
|
|
102
|
+
- - ">="
|
|
103
|
+
- !ruby/object:Gem::Version
|
|
104
|
+
version: 1.0.2
|
|
102
105
|
type: :runtime
|
|
103
106
|
prerelease: false
|
|
104
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
108
|
requirements:
|
|
106
109
|
- - "~>"
|
|
107
110
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: '0
|
|
111
|
+
version: '1.0'
|
|
112
|
+
- - ">="
|
|
113
|
+
- !ruby/object:Gem::Version
|
|
114
|
+
version: 1.0.2
|
|
109
115
|
- !ruby/object:Gem::Dependency
|
|
110
116
|
name: pry
|
|
111
117
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,14 +174,14 @@ dependencies:
|
|
|
168
174
|
requirements:
|
|
169
175
|
- - "~>"
|
|
170
176
|
- !ruby/object:Gem::Version
|
|
171
|
-
version:
|
|
177
|
+
version: 0.4.0
|
|
172
178
|
type: :development
|
|
173
179
|
prerelease: false
|
|
174
180
|
version_requirements: !ruby/object:Gem::Requirement
|
|
175
181
|
requirements:
|
|
176
182
|
- - "~>"
|
|
177
183
|
- !ruby/object:Gem::Version
|
|
178
|
-
version:
|
|
184
|
+
version: 0.4.0
|
|
179
185
|
- !ruby/object:Gem::Dependency
|
|
180
186
|
name: bundler
|
|
181
187
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -194,16 +200,16 @@ dependencies:
|
|
|
194
200
|
name: rake
|
|
195
201
|
requirement: !ruby/object:Gem::Requirement
|
|
196
202
|
requirements:
|
|
197
|
-
- - "
|
|
203
|
+
- - "~>"
|
|
198
204
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: '0'
|
|
205
|
+
version: '10.0'
|
|
200
206
|
type: :development
|
|
201
207
|
prerelease: false
|
|
202
208
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
209
|
requirements:
|
|
204
|
-
- - "
|
|
210
|
+
- - "~>"
|
|
205
211
|
- !ruby/object:Gem::Version
|
|
206
|
-
version: '0'
|
|
212
|
+
version: '10.0'
|
|
207
213
|
- !ruby/object:Gem::Dependency
|
|
208
214
|
name: github_changelog_generator
|
|
209
215
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -382,10 +388,14 @@ extensions: []
|
|
|
382
388
|
extra_rdoc_files: []
|
|
383
389
|
files:
|
|
384
390
|
- ".cane"
|
|
391
|
+
- ".github/ISSUE_TEMPLATE.md"
|
|
385
392
|
- ".gitignore"
|
|
393
|
+
- ".kitchen.ci.yml"
|
|
394
|
+
- ".kitchen.proxy.yml"
|
|
386
395
|
- ".rubocop.yml"
|
|
387
396
|
- ".travis.yml"
|
|
388
397
|
- ".yardopts"
|
|
398
|
+
- Berksfile
|
|
389
399
|
- CHANGELOG.md
|
|
390
400
|
- CONTRIBUTING.md
|
|
391
401
|
- Gemfile
|
|
@@ -554,6 +564,7 @@ files:
|
|
|
554
564
|
- templates/init/chefignore.erb
|
|
555
565
|
- templates/init/kitchen.yml.erb
|
|
556
566
|
- test-kitchen.gemspec
|
|
567
|
+
- test/integration/default/default_spec.rb
|
|
557
568
|
- testing_windows.md
|
|
558
569
|
homepage: http://kitchen.ci
|
|
559
570
|
licenses:
|
|
@@ -575,7 +586,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
575
586
|
version: '0'
|
|
576
587
|
requirements: []
|
|
577
588
|
rubyforge_project:
|
|
578
|
-
rubygems_version: 2.
|
|
589
|
+
rubygems_version: 2.5.2
|
|
579
590
|
signing_key:
|
|
580
591
|
specification_version: 4
|
|
581
592
|
summary: Test Kitchen is an integration tool for developing and testing infrastructure
|
|
@@ -645,4 +656,5 @@ test_files:
|
|
|
645
656
|
- spec/kitchen_spec.rb
|
|
646
657
|
- spec/spec_helper.rb
|
|
647
658
|
- spec/support/powershell_max_size_spec.rb
|
|
659
|
+
- test/integration/default/default_spec.rb
|
|
648
660
|
has_rdoc:
|