test-kitchen 3.3.2 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b2b5ae9a13717d2eb6e02314305d2ee451bdf5739a396ffd649eeb03bd2cbd1
4
- data.tar.gz: 2552cb2ca280b5f696fc17ed7f1346c7b9c9320d6d0f8b5bd729bb7ee23bd480
3
+ metadata.gz: '0640246228199bba84492ed9e4b1261d15afcbc5565718a071d500c3b2ae0a3d'
4
+ data.tar.gz: a697dabc83dc08a3ea1170af7cd0a9c5db500fbae05db675f62e67a65ecd7edb
5
5
  SHA512:
6
- metadata.gz: cd7e48cec7ae4a0a959dc58bdcb196549a432177b8338340d774c9b20165efa95306dcc3f5b1c4aebd8da225462165b5a3d0e5dadbdc1a8d07fd7f282046d0c8
7
- data.tar.gz: cef3fceeb5cc11c249b814fc3681187207eaeadc92dd499f422555ce69992bc57ce8d9177e4e637e57433a6515cc5275b1dbeae60c78b8b10605fa4370980e41
6
+ metadata.gz: 3f6b6482f458207ea554865365984a3ea67c9e44948c9f62145dfae24e96dc745c2d383488a0b24990a16a6e265d1d561c9d7924b45d60c7d514b90ee2a1282e
7
+ data.tar.gz: 8baf732f99adb9b5576d30b8a41ea1d6e293566d9615d6f6716a555e13e28541faef94284c337c8eaed59b99b46297681ba682838f62e06bdaf9907797934dd4
data/Gemfile CHANGED
@@ -5,17 +5,11 @@ gemspec
5
5
 
6
6
  group :integration do
7
7
  gem "berkshelf"
8
- gem "kitchen-inspec"
9
8
  gem "kitchen-dokken"
9
+ gem "kitchen-inspec"
10
10
  gem "kitchen-vagrant"
11
11
  end
12
12
 
13
- group :debug do
14
- gem "pry", "~>0.12"
15
- gem "pry-byebug"
16
- gem "pry-stack_explorer"
17
- end
18
-
19
13
  group :chefstyle do
20
14
  gem "chefstyle", "2.2.2"
21
15
  end
@@ -46,6 +46,8 @@ module Kitchen
46
46
  run(phase, :pre)
47
47
  yield
48
48
  run(phase, :post)
49
+ ensure
50
+ run(phase, :finally)
49
51
  end
50
52
 
51
53
  # @return [Kitchen::StateFile]
@@ -56,7 +58,7 @@ module Kitchen
56
58
  # Execute a specific lifecycle hook.
57
59
  #
58
60
  # @param phase [String] Lifecycle phase which is being executed.
59
- # @param hook_timing [Symbol] `:pre` or `:post` to indicate which hook to run.
61
+ # @param hook_timing [Symbol] `:pre`, `:post`, or `:finally` to indicate which hook to run.
60
62
  # @return [void]
61
63
  def run(phase, hook_timing)
62
64
  # Yes this has to be a symbol because of how data munger works.
@@ -352,14 +352,7 @@ module Kitchen
352
352
  def parse_yaml_string(string, file_name)
353
353
  return {} if string.nil? || string.empty?
354
354
 
355
- result =
356
- if Gem::Requirement.new(">= 3.1.0").satisfied_by?(Gem::Version.new(Psych::VERSION))
357
- # ruby >= 2.6.0
358
- ::YAML.safe_load(string, permitted_classes: [Symbol], permitted_symbols: [], aliases: true) || {}
359
- else
360
- # ruby < 2.6.0
361
- ::YAML.safe_load(string, [Symbol], [], true) || {}
362
- end
355
+ result = ::YAML.safe_load(string, permitted_classes: [Symbol], permitted_symbols: [], aliases: true) || {}
363
356
  unless result.is_a?(Hash)
364
357
  raise UserError, "Error parsing #{file_name} as YAML " \
365
358
  "(Result of parse was not a Hash, but was a #{result.class}).\n" \
@@ -54,7 +54,6 @@ module Kitchen
54
54
  @serial_actions ||= []
55
55
  @serial_actions += methods
56
56
  end
57
-
58
57
  end
59
58
  end
60
59
  end
@@ -161,7 +161,6 @@ module Kitchen
161
161
  "setting includes the path to the `chef` or `chef-cli` commands.")
162
162
  raise UserError, "Could not find the chef or chef-cli executables in your PATH."
163
163
  end
164
-
165
164
  end
166
165
  end
167
166
  end
@@ -151,7 +151,6 @@ module Kitchen
151
151
  info("No provisioner script file specified, skipping")
152
152
  end
153
153
  end
154
-
155
154
  end
156
155
  end
157
156
  end
@@ -73,14 +73,17 @@ module Kitchen
73
73
  conn.upload(sandbox_dirs, config[:root_path])
74
74
  debug("Transfer complete")
75
75
  conn.execute(prepare_command)
76
- conn.execute(run_command)
77
76
 
78
- info("Downloading files from #{instance.to_str}")
79
- config[:downloads].to_h.each do |remotes, local|
80
- debug("Downloading #{Array(remotes).join(", ")} to #{local}")
81
- conn.download(remotes, local)
77
+ begin
78
+ conn.execute(run_command)
79
+ ensure
80
+ info("Downloading files from #{instance.to_str}")
81
+ config[:downloads].to_h.each do |remotes, local|
82
+ debug("Downloading #{Array(remotes).join(", ")} to #{local}")
83
+ conn.download(remotes, local)
84
+ end
85
+ debug("Download complete")
82
86
  end
83
- debug("Download complete")
84
87
  end
85
88
  rescue Kitchen::Transport::TransportFailed => ex
86
89
  raise ActionFailed, ex.message
@@ -16,5 +16,5 @@
16
16
  # limitations under the License.
17
17
 
18
18
  module Kitchen
19
- VERSION = "3.3.2".freeze
19
+ VERSION = "3.5.0".freeze
20
20
  end
data/test-kitchen.gemspec CHANGED
@@ -20,33 +20,33 @@ Gem::Specification.new do |gem|
20
20
  gem.executables = %w{kitchen}
21
21
  gem.require_paths = ["lib"]
22
22
 
23
- gem.required_ruby_version = ">= 2.6"
23
+ gem.required_ruby_version = ">= 2.7"
24
24
 
25
+ gem.add_dependency "bcrypt_pbkdf", "~> 1.0" # ed25519 ssh key support
26
+ gem.add_dependency "chef-utils", ">= 16.4.35"
27
+ gem.add_dependency "ed25519", "~> 1.2" # ed25519 ssh key support
28
+ gem.add_dependency "mixlib-install", "~> 3.6"
25
29
  gem.add_dependency "mixlib-shellout", ">= 1.2", "< 4.0"
26
- gem.add_dependency "net-scp", ">= 1.1", "< 4.0" # pinning until we can confirm 4+ works
27
- gem.add_dependency "net-ssh", ">= 2.9", "< 7.0" # pinning until we can confirm 7+ works
30
+ gem.add_dependency "net-scp", ">= 1.1", "< 5.0" # pinning until we can confirm 4+ works
31
+ gem.add_dependency "net-ssh", ">= 2.9", "< 8.0" # pinning until we can confirm 8+ works
28
32
  gem.add_dependency "net-ssh-gateway", ">= 1.2", "< 3.0" # pinning until we can confirm 3+ works
29
- gem.add_dependency "ed25519", "~> 1.2" # ed25519 ssh key support
30
- gem.add_dependency "bcrypt_pbkdf", "~> 1.0" # ed25519 ssh key support
31
33
  gem.add_dependency "thor", ">= 0.19", "< 2.0"
32
- gem.add_dependency "mixlib-install", "~> 3.6"
33
34
  gem.add_dependency "winrm", "~> 2.0"
34
35
  gem.add_dependency "winrm-elevated", "~> 1.0"
35
36
  gem.add_dependency "winrm-fs", "~> 1.1"
36
- gem.add_dependency "chef-utils", ">= 16.4.35"
37
37
  # Required to run the Chef provisioner local license check for remote systems
38
38
  # TK is not under Chef EULA
39
39
  gem.add_dependency "license-acceptance", ">= 1.0.11", "< 3.0" # pinning until we can confirm 3+ works
40
40
 
41
- gem.add_development_dependency "rb-readline"
42
41
  gem.add_development_dependency "bundler"
43
42
  gem.add_development_dependency "rake"
43
+ gem.add_development_dependency "rb-readline"
44
44
 
45
45
  gem.add_development_dependency "aruba", ">= 0.11", "< 3.0"
46
+ gem.add_development_dependency "countloc", "~> 0.4"
47
+ gem.add_development_dependency "cucumber", ">= 2.1", "< 8.0"
46
48
  gem.add_development_dependency "fakefs", "~> 1.0"
49
+ gem.add_development_dependency "maruku", "~> 0.6"
47
50
  gem.add_development_dependency "minitest", "~> 5.3", "< 5.16"
48
51
  gem.add_development_dependency "mocha", "~> 1.1"
49
- gem.add_development_dependency "cucumber", ">= 2.1", "< 8.0"
50
- gem.add_development_dependency "countloc", "~> 0.4"
51
- gem.add_development_dependency "maruku", "~> 0.6"
52
52
  end
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-kitchen
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.2
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fletcher Nichol
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-03 00:00:00.000000000 Z
11
+ date: 2022-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bcrypt_pbkdf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: chef-utils
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 16.4.35
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 16.4.35
41
+ - !ruby/object:Gem::Dependency
42
+ name: ed25519
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mixlib-install
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.6'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.6'
13
69
  - !ruby/object:Gem::Dependency
14
70
  name: mixlib-shellout
15
71
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +95,7 @@ dependencies:
39
95
  version: '1.1'
40
96
  - - "<"
41
97
  - !ruby/object:Gem::Version
42
- version: '4.0'
98
+ version: '5.0'
43
99
  type: :runtime
44
100
  prerelease: false
45
101
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +105,7 @@ dependencies:
49
105
  version: '1.1'
50
106
  - - "<"
51
107
  - !ruby/object:Gem::Version
52
- version: '4.0'
108
+ version: '5.0'
53
109
  - !ruby/object:Gem::Dependency
54
110
  name: net-ssh
55
111
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +115,7 @@ dependencies:
59
115
  version: '2.9'
60
116
  - - "<"
61
117
  - !ruby/object:Gem::Version
62
- version: '7.0'
118
+ version: '8.0'
63
119
  type: :runtime
64
120
  prerelease: false
65
121
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +125,7 @@ dependencies:
69
125
  version: '2.9'
70
126
  - - "<"
71
127
  - !ruby/object:Gem::Version
72
- version: '7.0'
128
+ version: '8.0'
73
129
  - !ruby/object:Gem::Dependency
74
130
  name: net-ssh-gateway
75
131
  requirement: !ruby/object:Gem::Requirement
@@ -90,34 +146,6 @@ dependencies:
90
146
  - - "<"
91
147
  - !ruby/object:Gem::Version
92
148
  version: '3.0'
93
- - !ruby/object:Gem::Dependency
94
- name: ed25519
95
- requirement: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - "~>"
98
- - !ruby/object:Gem::Version
99
- version: '1.2'
100
- type: :runtime
101
- prerelease: false
102
- version_requirements: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - "~>"
105
- - !ruby/object:Gem::Version
106
- version: '1.2'
107
- - !ruby/object:Gem::Dependency
108
- name: bcrypt_pbkdf
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '1.0'
114
- type: :runtime
115
- prerelease: false
116
- version_requirements: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: '1.0'
121
149
  - !ruby/object:Gem::Dependency
122
150
  name: thor
123
151
  requirement: !ruby/object:Gem::Requirement
@@ -138,20 +166,6 @@ dependencies:
138
166
  - - "<"
139
167
  - !ruby/object:Gem::Version
140
168
  version: '2.0'
141
- - !ruby/object:Gem::Dependency
142
- name: mixlib-install
143
- requirement: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '3.6'
148
- type: :runtime
149
- prerelease: false
150
- version_requirements: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: '3.6'
155
169
  - !ruby/object:Gem::Dependency
156
170
  name: winrm
157
171
  requirement: !ruby/object:Gem::Requirement
@@ -194,20 +208,6 @@ dependencies:
194
208
  - - "~>"
195
209
  - !ruby/object:Gem::Version
196
210
  version: '1.1'
197
- - !ruby/object:Gem::Dependency
198
- name: chef-utils
199
- requirement: !ruby/object:Gem::Requirement
200
- requirements:
201
- - - ">="
202
- - !ruby/object:Gem::Version
203
- version: 16.4.35
204
- type: :runtime
205
- prerelease: false
206
- version_requirements: !ruby/object:Gem::Requirement
207
- requirements:
208
- - - ">="
209
- - !ruby/object:Gem::Version
210
- version: 16.4.35
211
211
  - !ruby/object:Gem::Dependency
212
212
  name: license-acceptance
213
213
  requirement: !ruby/object:Gem::Requirement
@@ -229,7 +229,7 @@ dependencies:
229
229
  - !ruby/object:Gem::Version
230
230
  version: '3.0'
231
231
  - !ruby/object:Gem::Dependency
232
- name: rb-readline
232
+ name: bundler
233
233
  requirement: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - ">="
@@ -243,7 +243,7 @@ dependencies:
243
243
  - !ruby/object:Gem::Version
244
244
  version: '0'
245
245
  - !ruby/object:Gem::Dependency
246
- name: bundler
246
+ name: rake
247
247
  requirement: !ruby/object:Gem::Requirement
248
248
  requirements:
249
249
  - - ">="
@@ -257,7 +257,7 @@ dependencies:
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  - !ruby/object:Gem::Dependency
260
- name: rake
260
+ name: rb-readline
261
261
  requirement: !ruby/object:Gem::Requirement
262
262
  requirements:
263
263
  - - ">="
@@ -291,101 +291,101 @@ dependencies:
291
291
  - !ruby/object:Gem::Version
292
292
  version: '3.0'
293
293
  - !ruby/object:Gem::Dependency
294
- name: fakefs
294
+ name: countloc
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '1.0'
299
+ version: '0.4'
300
300
  type: :development
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '1.0'
306
+ version: '0.4'
307
307
  - !ruby/object:Gem::Dependency
308
- name: minitest
308
+ name: cucumber
309
309
  requirement: !ruby/object:Gem::Requirement
310
310
  requirements:
311
- - - "~>"
311
+ - - ">="
312
312
  - !ruby/object:Gem::Version
313
- version: '5.3'
313
+ version: '2.1'
314
314
  - - "<"
315
315
  - !ruby/object:Gem::Version
316
- version: '5.16'
316
+ version: '8.0'
317
317
  type: :development
318
318
  prerelease: false
319
319
  version_requirements: !ruby/object:Gem::Requirement
320
320
  requirements:
321
- - - "~>"
321
+ - - ">="
322
322
  - !ruby/object:Gem::Version
323
- version: '5.3'
323
+ version: '2.1'
324
324
  - - "<"
325
325
  - !ruby/object:Gem::Version
326
- version: '5.16'
326
+ version: '8.0'
327
327
  - !ruby/object:Gem::Dependency
328
- name: mocha
328
+ name: fakefs
329
329
  requirement: !ruby/object:Gem::Requirement
330
330
  requirements:
331
331
  - - "~>"
332
332
  - !ruby/object:Gem::Version
333
- version: '1.1'
333
+ version: '1.0'
334
334
  type: :development
335
335
  prerelease: false
336
336
  version_requirements: !ruby/object:Gem::Requirement
337
337
  requirements:
338
338
  - - "~>"
339
339
  - !ruby/object:Gem::Version
340
- version: '1.1'
340
+ version: '1.0'
341
341
  - !ruby/object:Gem::Dependency
342
- name: cucumber
342
+ name: maruku
343
343
  requirement: !ruby/object:Gem::Requirement
344
344
  requirements:
345
- - - ">="
346
- - !ruby/object:Gem::Version
347
- version: '2.1'
348
- - - "<"
345
+ - - "~>"
349
346
  - !ruby/object:Gem::Version
350
- version: '8.0'
347
+ version: '0.6'
351
348
  type: :development
352
349
  prerelease: false
353
350
  version_requirements: !ruby/object:Gem::Requirement
354
351
  requirements:
355
- - - ">="
356
- - !ruby/object:Gem::Version
357
- version: '2.1'
358
- - - "<"
352
+ - - "~>"
359
353
  - !ruby/object:Gem::Version
360
- version: '8.0'
354
+ version: '0.6'
361
355
  - !ruby/object:Gem::Dependency
362
- name: countloc
356
+ name: minitest
363
357
  requirement: !ruby/object:Gem::Requirement
364
358
  requirements:
365
359
  - - "~>"
366
360
  - !ruby/object:Gem::Version
367
- version: '0.4'
361
+ version: '5.3'
362
+ - - "<"
363
+ - !ruby/object:Gem::Version
364
+ version: '5.16'
368
365
  type: :development
369
366
  prerelease: false
370
367
  version_requirements: !ruby/object:Gem::Requirement
371
368
  requirements:
372
369
  - - "~>"
373
370
  - !ruby/object:Gem::Version
374
- version: '0.4'
371
+ version: '5.3'
372
+ - - "<"
373
+ - !ruby/object:Gem::Version
374
+ version: '5.16'
375
375
  - !ruby/object:Gem::Dependency
376
- name: maruku
376
+ name: mocha
377
377
  requirement: !ruby/object:Gem::Requirement
378
378
  requirements:
379
379
  - - "~>"
380
380
  - !ruby/object:Gem::Version
381
- version: '0.6'
381
+ version: '1.1'
382
382
  type: :development
383
383
  prerelease: false
384
384
  version_requirements: !ruby/object:Gem::Requirement
385
385
  requirements:
386
386
  - - "~>"
387
387
  - !ruby/object:Gem::Version
388
- version: '0.6'
388
+ version: '1.1'
389
389
  description: Test Kitchen is an integration tool for developing and testing infrastructure
390
390
  code and software on isolated target platforms.
391
391
  email:
@@ -514,14 +514,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
514
514
  requirements:
515
515
  - - ">="
516
516
  - !ruby/object:Gem::Version
517
- version: '2.6'
517
+ version: '2.7'
518
518
  required_rubygems_version: !ruby/object:Gem::Requirement
519
519
  requirements:
520
520
  - - ">="
521
521
  - !ruby/object:Gem::Version
522
522
  version: '0'
523
523
  requirements: []
524
- rubygems_version: 3.2.3
524
+ rubygems_version: 3.3.16
525
525
  signing_key:
526
526
  specification_version: 4
527
527
  summary: Test Kitchen is an integration tool for developing and testing infrastructure