test-kitchen 1.14.1 → 1.14.2

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.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +1 -1
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +1 -1
  5. data/Guardfile +5 -5
  6. data/Rakefile +5 -5
  7. data/bin/kitchen +1 -1
  8. data/features/step_definitions/gem_steps.rb +6 -6
  9. data/features/support/env.rb +6 -7
  10. data/lib/kitchen.rb +5 -7
  11. data/lib/kitchen/base64_stream.rb +2 -8
  12. data/lib/kitchen/cli.rb +76 -80
  13. data/lib/kitchen/collection.rb +0 -2
  14. data/lib/kitchen/color.rb +7 -9
  15. data/lib/kitchen/command.rb +0 -4
  16. data/lib/kitchen/command/action.rb +0 -3
  17. data/lib/kitchen/command/console.rb +4 -7
  18. data/lib/kitchen/command/diagnose.rb +7 -14
  19. data/lib/kitchen/command/driver_discover.rb +1 -4
  20. data/lib/kitchen/command/exec.rb +0 -3
  21. data/lib/kitchen/command/list.rb +9 -12
  22. data/lib/kitchen/command/login.rb +0 -3
  23. data/lib/kitchen/command/package.rb +0 -3
  24. data/lib/kitchen/command/sink.rb +6 -9
  25. data/lib/kitchen/command/test.rb +1 -4
  26. data/lib/kitchen/config.rb +25 -27
  27. data/lib/kitchen/configurable.rb +26 -31
  28. data/lib/kitchen/data_munger.rb +34 -36
  29. data/lib/kitchen/diagnostic.rb +5 -7
  30. data/lib/kitchen/driver.rb +3 -5
  31. data/lib/kitchen/driver/base.rb +0 -3
  32. data/lib/kitchen/driver/dummy.rb +0 -3
  33. data/lib/kitchen/driver/proxy.rb +0 -3
  34. data/lib/kitchen/driver/ssh_base.rb +13 -16
  35. data/lib/kitchen/errors.rb +11 -16
  36. data/lib/kitchen/generator/driver_create.rb +18 -21
  37. data/lib/kitchen/generator/init.rb +21 -26
  38. data/lib/kitchen/instance.rb +19 -23
  39. data/lib/kitchen/lazy_hash.rb +1 -2
  40. data/lib/kitchen/loader/yaml.rb +22 -25
  41. data/lib/kitchen/logger.rb +9 -14
  42. data/lib/kitchen/logging.rb +0 -3
  43. data/lib/kitchen/login_command.rb +0 -2
  44. data/lib/kitchen/metadata_chopper.rb +0 -2
  45. data/lib/kitchen/platform.rb +1 -3
  46. data/lib/kitchen/provisioner.rb +3 -5
  47. data/lib/kitchen/provisioner/base.rb +2 -5
  48. data/lib/kitchen/provisioner/chef/berkshelf.rb +1 -5
  49. data/lib/kitchen/provisioner/chef/common_sandbox.rb +24 -29
  50. data/lib/kitchen/provisioner/chef/librarian.rb +2 -6
  51. data/lib/kitchen/provisioner/chef/policyfile.rb +4 -8
  52. data/lib/kitchen/provisioner/chef_apply.rb +14 -17
  53. data/lib/kitchen/provisioner/chef_base.rb +43 -46
  54. data/lib/kitchen/provisioner/chef_solo.rb +10 -13
  55. data/lib/kitchen/provisioner/chef_zero.rb +22 -29
  56. data/lib/kitchen/provisioner/dummy.rb +0 -3
  57. data/lib/kitchen/provisioner/shell.rb +6 -9
  58. data/lib/kitchen/rake_tasks.rb +4 -6
  59. data/lib/kitchen/shell_out.rb +3 -5
  60. data/lib/kitchen/ssh.rb +16 -22
  61. data/lib/kitchen/state_file.rb +3 -5
  62. data/lib/kitchen/suite.rb +0 -2
  63. data/lib/kitchen/thor_tasks.rb +2 -4
  64. data/lib/kitchen/transport.rb +3 -5
  65. data/lib/kitchen/transport/base.rb +1 -7
  66. data/lib/kitchen/transport/dummy.rb +0 -4
  67. data/lib/kitchen/transport/ssh.rb +41 -47
  68. data/lib/kitchen/transport/winrm.rb +41 -40
  69. data/lib/kitchen/util.rb +1 -3
  70. data/lib/kitchen/verifier.rb +3 -5
  71. data/lib/kitchen/verifier/base.rb +2 -5
  72. data/lib/kitchen/verifier/busser.rb +24 -24
  73. data/lib/kitchen/verifier/dummy.rb +0 -3
  74. data/lib/kitchen/verifier/shell.rb +1 -3
  75. data/lib/kitchen/version.rb +1 -1
  76. data/lib/vendor/hash_recursive_merge.rb +0 -2
  77. data/spec/kitchen/base64_stream_spec.rb +3 -6
  78. data/spec/kitchen/cli_spec.rb +0 -2
  79. data/spec/kitchen/collection_spec.rb +4 -8
  80. data/spec/kitchen/color_spec.rb +0 -3
  81. data/spec/kitchen/config_spec.rb +91 -106
  82. data/spec/kitchen/configurable_spec.rb +44 -76
  83. data/spec/kitchen/data_munger_spec.rb +1178 -1247
  84. data/spec/kitchen/diagnostic_spec.rb +37 -38
  85. data/spec/kitchen/driver/base_spec.rb +7 -14
  86. data/spec/kitchen/driver/dummy_spec.rb +1 -7
  87. data/spec/kitchen/driver/proxy_spec.rb +2 -7
  88. data/spec/kitchen/driver/ssh_base_spec.rb +128 -149
  89. data/spec/kitchen/driver_spec.rb +7 -13
  90. data/spec/kitchen/errors_spec.rb +50 -60
  91. data/spec/kitchen/instance_spec.rb +217 -294
  92. data/spec/kitchen/lazy_hash_spec.rb +14 -18
  93. data/spec/kitchen/loader/yaml_spec.rb +201 -227
  94. data/spec/kitchen/logger_spec.rb +7 -15
  95. data/spec/kitchen/logging_spec.rb +1 -4
  96. data/spec/kitchen/login_command_spec.rb +3 -4
  97. data/spec/kitchen/metadata_chopper_spec.rb +0 -3
  98. data/spec/kitchen/platform_spec.rb +31 -32
  99. data/spec/kitchen/provisioner/base_spec.rb +22 -41
  100. data/spec/kitchen/provisioner/chef/policyfile_spec.rb +15 -15
  101. data/spec/kitchen/provisioner/chef_apply_spec.rb +8 -13
  102. data/spec/kitchen/provisioner/chef_base_spec.rb +150 -182
  103. data/spec/kitchen/provisioner/chef_solo_spec.rb +58 -72
  104. data/spec/kitchen/provisioner/chef_zero_spec.rb +99 -125
  105. data/spec/kitchen/provisioner/dummy_spec.rb +8 -11
  106. data/spec/kitchen/provisioner/shell_spec.rb +86 -103
  107. data/spec/kitchen/provisioner_spec.rb +5 -11
  108. data/spec/kitchen/shell_out_spec.rb +15 -19
  109. data/spec/kitchen/ssh_spec.rb +16 -35
  110. data/spec/kitchen/state_file_spec.rb +6 -11
  111. data/spec/kitchen/suite_spec.rb +5 -6
  112. data/spec/kitchen/transport/base_spec.rb +6 -14
  113. data/spec/kitchen/transport/ssh_spec.rb +39 -64
  114. data/spec/kitchen/transport/winrm_spec.rb +99 -127
  115. data/spec/kitchen/transport_spec.rb +7 -13
  116. data/spec/kitchen/util_spec.rb +17 -26
  117. data/spec/kitchen/verifier/base_spec.rb +24 -40
  118. data/spec/kitchen/verifier/busser_spec.rb +38 -68
  119. data/spec/kitchen/verifier/dummy_spec.rb +8 -11
  120. data/spec/kitchen/verifier/shell_spec.rb +14 -17
  121. data/spec/kitchen/verifier_spec.rb +7 -13
  122. data/spec/kitchen_spec.rb +4 -6
  123. data/spec/spec_helper.rb +1 -1
  124. data/spec/support/powershell_max_size_spec.rb +1 -2
  125. data/support/chef-client-zero.rb +3 -4
  126. data/test-kitchen.gemspec +4 -6
  127. metadata +9 -9
@@ -21,7 +21,6 @@ require_relative "../spec_helper"
21
21
  require "kitchen"
22
22
 
23
23
  describe Kitchen::Logger do
24
-
25
24
  before do
26
25
  @orig_stdout = $stdout
27
26
  $stdout = StringIO.new
@@ -36,7 +35,7 @@ describe Kitchen::Logger do
36
35
  end
37
36
 
38
37
  let(:opts) do
39
- { :color => :red, :colorize => true }
38
+ { color: :red, colorize: true }
40
39
  end
41
40
 
42
41
  let(:logger) do
@@ -96,7 +95,6 @@ describe Kitchen::Logger do
96
95
  end
97
96
 
98
97
  describe "stdout-based logger" do
99
-
100
98
  let(:stdout) { StringIO.new }
101
99
 
102
100
  before { opts[:stdout] = stdout }
@@ -130,7 +128,6 @@ describe Kitchen::Logger do
130
128
  end
131
129
 
132
130
  describe "for severity" do
133
-
134
131
  before { opts[:level] = Kitchen::Util.to_logger_level(:debug) }
135
132
 
136
133
  it "logs to banner" do
@@ -226,7 +223,6 @@ describe Kitchen::Logger do
226
223
  end
227
224
 
228
225
  describe "#<<" do
229
-
230
226
  it "message with a newline are logged on info" do
231
227
  logger << "yo\n"
232
228
 
@@ -247,7 +243,7 @@ describe Kitchen::Logger do
247
243
  "-----> banner",
248
244
  " info",
249
245
  ">>>>>> error",
250
- "vanilla"
246
+ "vanilla",
251
247
  ].join("\n").concat("\n")
252
248
 
253
249
  stdout.string.must_equal(
@@ -262,7 +258,7 @@ describe Kitchen::Logger do
262
258
  logger << [
263
259
  "-----> banner",
264
260
  " info",
265
- "partial"
261
+ "partial",
266
262
  ].join("\n")
267
263
 
268
264
  stdout.string.must_equal(
@@ -294,7 +290,7 @@ describe Kitchen::Logger do
294
290
  it "logger chomps carriage return characters" do
295
291
  logger << [
296
292
  "-----> banner\r",
297
- "vanilla\r"
293
+ "vanilla\r",
298
294
  ].join("\n").concat("\n")
299
295
 
300
296
  stdout.string.must_equal(
@@ -306,16 +302,14 @@ describe Kitchen::Logger do
306
302
  end
307
303
 
308
304
  describe "opened IO logdev-based logger" do
309
-
310
305
  let(:logdev) { StringIO.new }
311
306
 
312
307
  before { opts[:logdev] = logdev }
313
308
 
314
309
  describe "for severity" do
315
-
316
310
  before { opts[:level] = Kitchen::Util.to_logger_level(:debug) }
317
311
 
318
- let(:ts) { "\\[[^\\]]+\\]" }
312
+ let(:ts) { '\\[[^\\]]+\\]' }
319
313
 
320
314
  it "logs to banner" do
321
315
  logger.banner("yo")
@@ -362,8 +356,7 @@ describe Kitchen::Logger do
362
356
  end
363
357
 
364
358
  describe "file IO logdev-based logger" do
365
-
366
- let(:logfile) { Dir::Tmpname.make_tmpname(%w[kitchen .log], nil) }
359
+ let(:logfile) { Dir::Tmpname.make_tmpname(%w{kitchen .log}, nil) }
367
360
 
368
361
  before do
369
362
  opts[:logdev] = logfile
@@ -377,10 +370,9 @@ describe Kitchen::Logger do
377
370
  end
378
371
 
379
372
  describe "for severity" do
380
-
381
373
  before { opts[:level] = Kitchen::Util.to_logger_level(:debug) }
382
374
 
383
- let(:ts) { "\\[[^\\]]+\\]" }
375
+ let(:ts) { '\\[[^\\]]+\\]' }
384
376
 
385
377
  it "logs to banner" do
386
378
  logger.banner("yo")
@@ -21,7 +21,6 @@ require_relative "../spec_helper"
21
21
  require "kitchen/logging"
22
22
 
23
23
  class LoggingDummy
24
-
25
24
  include Kitchen::Logging
26
25
 
27
26
  attr_reader :logger
@@ -31,8 +30,7 @@ class LoggingDummy
31
30
  end
32
31
 
33
32
  class Logger
34
-
35
- METHODS = [:banner, :debug, :info, :warn, :error, :fatal]
33
+ METHODS = [:banner, :debug, :info, :warn, :error, :fatal].freeze
36
34
 
37
35
  attr_reader(*(METHODS.map { |m| "#{m}_msg".to_sym }))
38
36
 
@@ -45,7 +43,6 @@ class LoggingDummy
45
43
  end
46
44
 
47
45
  describe Kitchen::Logging do
48
-
49
46
  let(:logger) { LoggingDummy::Logger.new }
50
47
  let(:subject) { LoggingDummy.new(logger) }
51
48
 
@@ -21,9 +21,8 @@ require_relative "../spec_helper"
21
21
  require "kitchen/login_command"
22
22
 
23
23
  describe Kitchen::LoginCommand do
24
-
25
24
  let(:cmd) { "" }
26
- let(:argv) { Array.new }
25
+ let(:argv) { [] }
27
26
  let(:opts) { Hash.new }
28
27
 
29
28
  let(:login_command) { Kitchen::LoginCommand.new(cmd, argv, opts) }
@@ -51,7 +50,7 @@ describe Kitchen::LoginCommand do
51
50
  it "#options returns the options hash from the constructor" do
52
51
  opts[:cake] = "yummy"
53
52
 
54
- login_command.options.must_equal(:cake => "yummy")
53
+ login_command.options.must_equal(cake: "yummy")
55
54
  end
56
55
 
57
56
  it "#exec_args returns an array of arguments for Kernel.exec" do
@@ -63,6 +62,6 @@ describe Kitchen::LoginCommand do
63
62
 
64
63
  opts[:charlie] = "delta"
65
64
  login_command.exec_args.must_equal [
66
- "alpha", "-o", "beta", { :charlie => "delta" }]
65
+ "alpha", "-o", "beta", { charlie: "delta" }]
67
66
  end
68
67
  end
@@ -21,7 +21,6 @@ require_relative "../spec_helper"
21
21
  require "kitchen/metadata_chopper"
22
22
 
23
23
  describe Kitchen::MetadataChopper do
24
-
25
24
  before do
26
25
  FakeFS.activate!
27
26
  FileUtils.mkdir_p("/tmp")
@@ -35,7 +34,6 @@ describe Kitchen::MetadataChopper do
35
34
  let(:described_class) { Kitchen::MetadataChopper }
36
35
 
37
36
  describe ".new" do
38
-
39
37
  it "contains a :name attribute" do
40
38
  stub_metadata!("banzai")
41
39
 
@@ -50,7 +48,6 @@ describe Kitchen::MetadataChopper do
50
48
  end
51
49
 
52
50
  describe ".extract" do
53
-
54
51
  it "returns a tuple" do
55
52
  stub_metadata!("foo", "1.2.3")
56
53
 
@@ -22,8 +22,7 @@ require "kitchen/errors"
22
22
  require "kitchen/platform"
23
23
 
24
24
  describe Kitchen::Platform do
25
-
26
- let(:opts) do; { :name => "plata" }; end
25
+ let(:opts) { ; { name: "plata" }; }
27
26
  let(:klass) { Kitchen::Platform }
28
27
 
29
28
  it "raises an ArgumentError if name is missing" do
@@ -32,49 +31,49 @@ describe Kitchen::Platform do
32
31
  end
33
32
 
34
33
  it "#os_type returns value passed into constructor with :os_type" do
35
- klass.new(:name => "p", :os_type => "unix").os_type.must_equal "unix"
36
- klass.new(:name => "p", :os_type => "windows").os_type.must_equal "windows"
37
- klass.new(:name => "p", :os_type => "unicorn").os_type.must_equal "unicorn"
38
- klass.new(:name => "p", :os_type => nil).os_type.must_equal nil
34
+ klass.new(name: "p", os_type: "unix").os_type.must_equal "unix"
35
+ klass.new(name: "p", os_type: "windows").os_type.must_equal "windows"
36
+ klass.new(name: "p", os_type: "unicorn").os_type.must_equal "unicorn"
37
+ klass.new(name: "p", os_type: nil).os_type.must_equal nil
39
38
  end
40
39
 
41
40
  it "#os_type defaults to `unix` when not provided" do
42
- klass.new(:name => "p").os_type.must_equal "unix"
41
+ klass.new(name: "p").os_type.must_equal "unix"
43
42
  end
44
43
 
45
44
  it "#os_type defaults to `windows` if the name starts with 'win'" do
46
- klass.new(:name => "win").os_type.must_equal "windows"
47
- klass.new(:name => "Win").os_type.must_equal "windows"
48
- klass.new(:name => "win7").os_type.must_equal "windows"
49
- klass.new(:name => "windows").os_type.must_equal "windows"
50
- klass.new(:name => "Windows").os_type.must_equal "windows"
51
- klass.new(:name => "windows81").os_type.must_equal "windows"
52
- klass.new(:name => "windows-2012").os_type.must_equal "windows"
45
+ klass.new(name: "win").os_type.must_equal "windows"
46
+ klass.new(name: "Win").os_type.must_equal "windows"
47
+ klass.new(name: "win7").os_type.must_equal "windows"
48
+ klass.new(name: "windows").os_type.must_equal "windows"
49
+ klass.new(name: "Windows").os_type.must_equal "windows"
50
+ klass.new(name: "windows81").os_type.must_equal "windows"
51
+ klass.new(name: "windows-2012").os_type.must_equal "windows"
53
52
  end
54
53
 
55
54
  it "#shell_type returns value passed into constructor with :shell_type" do
56
- klass.new(:name => "p", :shell_type => "bourne").
57
- shell_type.must_equal "bourne"
58
- klass.new(:name => "p", :shell_type => "powershell").
59
- shell_type.must_equal "powershell"
60
- klass.new(:name => "p", :shell_type => "unicorn").
61
- shell_type.must_equal "unicorn"
62
- klass.new(:name => "p", :shell_type => nil).
63
- shell_type.must_equal nil
55
+ klass.new(name: "p", shell_type: "bourne")
56
+ .shell_type.must_equal "bourne"
57
+ klass.new(name: "p", shell_type: "powershell")
58
+ .shell_type.must_equal "powershell"
59
+ klass.new(name: "p", shell_type: "unicorn")
60
+ .shell_type.must_equal "unicorn"
61
+ klass.new(name: "p", shell_type: nil)
62
+ .shell_type.must_equal nil
64
63
  end
65
64
 
66
65
  it "#shell_type defaults to `bourne` when not provided" do
67
- klass.new(:name => "p").shell_type.must_equal "bourne"
66
+ klass.new(name: "p").shell_type.must_equal "bourne"
68
67
  end
69
68
 
70
69
  it "#shell_type defaults to `powershell` if the name starts with 'windows'" do
71
- klass.new(:name => "win").shell_type.must_equal "powershell"
72
- klass.new(:name => "Win").shell_type.must_equal "powershell"
73
- klass.new(:name => "win7").shell_type.must_equal "powershell"
74
- klass.new(:name => "windows").shell_type.must_equal "powershell"
75
- klass.new(:name => "Windows").shell_type.must_equal "powershell"
76
- klass.new(:name => "windows81").shell_type.must_equal "powershell"
77
- klass.new(:name => "windows-2012").shell_type.must_equal "powershell"
70
+ klass.new(name: "win").shell_type.must_equal "powershell"
71
+ klass.new(name: "Win").shell_type.must_equal "powershell"
72
+ klass.new(name: "win7").shell_type.must_equal "powershell"
73
+ klass.new(name: "windows").shell_type.must_equal "powershell"
74
+ klass.new(name: "Windows").shell_type.must_equal "powershell"
75
+ klass.new(name: "windows81").shell_type.must_equal "powershell"
76
+ klass.new(name: "windows-2012").shell_type.must_equal "powershell"
78
77
  end
79
78
 
80
79
  it "#diagnose returns a hash with sorted keys" do
@@ -82,8 +81,8 @@ describe Kitchen::Platform do
82
81
  opts[:shell_type] = "wundershell"
83
82
 
84
83
  klass.new(opts).diagnose.must_equal(
85
- :os_type => "unikitty",
86
- :shell_type => "wundershell"
84
+ os_type: "unikitty",
85
+ shell_type: "wundershell"
87
86
  )
88
87
  end
89
88
  end
@@ -23,11 +23,8 @@ require "stringio"
23
23
  require "kitchen"
24
24
 
25
25
  module Kitchen
26
-
27
26
  module Provisioner
28
-
29
27
  class TestingDummy < Kitchen::Provisioner::Base
30
-
31
28
  attr_reader :called_create_sandbox, :called_cleanup_sandbox
32
29
 
33
30
  def install_command
@@ -62,10 +59,9 @@ module Kitchen
62
59
  end
63
60
 
64
61
  describe Kitchen::Provisioner::Base do
65
-
66
62
  let(:logged_output) { StringIO.new }
67
63
  let(:logger) { Logger.new(logged_output) }
68
- let(:platform) { stub(:os_type => nil, :shell_type => nil) }
64
+ let(:platform) { stub(os_type: nil, shell_type: nil) }
69
65
  let(:config) { Hash.new }
70
66
 
71
67
  let(:transport) do
@@ -76,11 +72,11 @@ describe Kitchen::Provisioner::Base do
76
72
 
77
73
  let(:instance) do
78
74
  stub(
79
- :name => "coolbeans",
80
- :to_str => "instance",
81
- :logger => logger,
82
- :platform => platform,
83
- :transport => transport
75
+ name: "coolbeans",
76
+ to_str: "instance",
77
+ logger: logger,
78
+ platform: platform,
79
+ transport: transport
84
80
  )
85
81
  end
86
82
 
@@ -89,9 +85,7 @@ describe Kitchen::Provisioner::Base do
89
85
  end
90
86
 
91
87
  describe "configuration" do
92
-
93
88
  describe "for unix operating systems" do
94
-
95
89
  before { platform.stubs(:os_type).returns("unix") }
96
90
 
97
91
  it ":root_path defaults to /tmp/kitchen" do
@@ -108,11 +102,10 @@ describe Kitchen::Provisioner::Base do
108
102
  end
109
103
 
110
104
  describe "for windows operating systems" do
111
-
112
105
  before { platform.stubs(:os_type).returns("windows") }
113
106
 
114
- it ":root_path defaults to $env:TEMP\\kitchen" do
115
- provisioner[:root_path].must_equal "$env:TEMP\\kitchen"
107
+ it ':root_path defaults to $env:TEMP\\kitchen' do
108
+ provisioner[:root_path].must_equal '$env:TEMP\\kitchen'
116
109
  end
117
110
 
118
111
  it ":sudo defaults to nil" do
@@ -138,7 +131,6 @@ describe Kitchen::Provisioner::Base do
138
131
  end
139
132
 
140
133
  describe "#call" do
141
-
142
134
  let(:state) { Hash.new }
143
135
  let(:cmd) { provisioner.call(state) }
144
136
 
@@ -202,8 +194,8 @@ describe Kitchen::Provisioner::Base do
202
194
  it "logs to info" do
203
195
  cmd
204
196
 
205
- logged_output.string.
206
- must_match(/INFO -- : Transferring files to instance$/)
197
+ logged_output.string
198
+ .must_match(/INFO -- : Transferring files to instance$/)
207
199
  end
208
200
 
209
201
  it "uploads sandbox files" do
@@ -219,29 +211,27 @@ describe Kitchen::Provisioner::Base do
219
211
  end
220
212
 
221
213
  it "raises an ActionFailed on transfer when TransportFailed is raised" do
222
- connection.stubs(:upload).
223
- raises(Kitchen::Transport::TransportFailed.new("dang"))
214
+ connection.stubs(:upload)
215
+ .raises(Kitchen::Transport::TransportFailed.new("dang"))
224
216
 
225
217
  proc { cmd }.must_raise Kitchen::ActionFailed
226
218
  end
227
219
 
228
220
  it "raises an ActionFailed on execute when TransportFailed is raised" do
229
- connection.stubs(:execute).
230
- raises(Kitchen::Transport::TransportFailed.new("dang"))
221
+ connection.stubs(:execute)
222
+ .raises(Kitchen::Transport::TransportFailed.new("dang"))
231
223
 
232
224
  proc { cmd }.must_raise Kitchen::ActionFailed
233
225
  end
234
226
  end
235
227
 
236
228
  [:init_command, :install_command, :prepare_command, :run_command].each do |cmd|
237
-
238
229
  it "has a #{cmd} method" do
239
230
  provisioner.public_send(cmd).must_be_nil
240
231
  end
241
232
  end
242
233
 
243
234
  describe "sandbox" do
244
-
245
235
  after do
246
236
  begin
247
237
  provisioner.cleanup_sandbox
@@ -257,8 +247,8 @@ describe Kitchen::Provisioner::Base do
257
247
  provisioner.create_sandbox
258
248
 
259
249
  File.directory?(provisioner.sandbox_path).must_equal true
260
- format("%o", File.stat(provisioner.sandbox_path).mode)[1, 4].
261
- must_equal "0755"
250
+ format("%o", File.stat(provisioner.sandbox_path).mode)[1, 4]
251
+ .must_equal "0755"
262
252
  end
263
253
 
264
254
  it "#create_sandbox logs an info message" do
@@ -270,8 +260,8 @@ describe Kitchen::Provisioner::Base do
270
260
  it "#create_sandbox logs a debug message" do
271
261
  provisioner.create_sandbox
272
262
 
273
- logged_output.string.
274
- must_match debug_line_starting_with("Creating local sandbox in ")
263
+ logged_output.string
264
+ .must_match debug_line_starting_with("Creating local sandbox in ")
275
265
  end
276
266
 
277
267
  it "#cleanup_sandbox deletes the sandbox directory" do
@@ -285,23 +275,21 @@ describe Kitchen::Provisioner::Base do
285
275
  provisioner.create_sandbox
286
276
  provisioner.cleanup_sandbox
287
277
 
288
- logged_output.string.
289
- must_match debug_line_starting_with("Cleaning up local sandbox in ")
278
+ logged_output.string
279
+ .must_match debug_line_starting_with("Cleaning up local sandbox in ")
290
280
  end
291
281
 
292
282
  def info_line(msg)
293
- %r{^I, .* : #{Regexp.escape(msg)}$}
283
+ /^I, .* : #{Regexp.escape(msg)}$/
294
284
  end
295
285
 
296
286
  def debug_line_starting_with(msg)
297
- %r{^D, .* : #{Regexp.escape(msg)}}
287
+ /^D, .* : #{Regexp.escape(msg)}/
298
288
  end
299
289
  end
300
290
 
301
291
  describe "#sudo" do
302
-
303
292
  describe "with :sudo set" do
304
-
305
293
  before { config[:sudo] = true }
306
294
 
307
295
  it "prepends sudo command" do
@@ -316,7 +304,6 @@ describe Kitchen::Provisioner::Base do
316
304
  end
317
305
 
318
306
  describe "with :sudo falsey" do
319
-
320
307
  before { config[:sudo] = false }
321
308
 
322
309
  it "does not include sudo command" do
@@ -332,9 +319,7 @@ describe Kitchen::Provisioner::Base do
332
319
  end
333
320
 
334
321
  describe "#sudo_command" do
335
-
336
322
  describe "with :sudo set" do
337
-
338
323
  before { config[:sudo] = true }
339
324
 
340
325
  it "returns the default sudo_command" do
@@ -349,7 +334,6 @@ describe Kitchen::Provisioner::Base do
349
334
  end
350
335
 
351
336
  describe "with :sudo falsey" do
352
-
353
337
  before { config[:sudo] = false }
354
338
 
355
339
  it "returns empty string for default sudo_command" do
@@ -365,9 +349,7 @@ describe Kitchen::Provisioner::Base do
365
349
  end
366
350
 
367
351
  describe "#prefix_command" do
368
-
369
352
  describe "with :command_prefix set" do
370
-
371
353
  before { config[:command_prefix] = "my_prefix" }
372
354
 
373
355
  it "prepends the command with the prefix" do
@@ -376,7 +358,6 @@ describe Kitchen::Provisioner::Base do
376
358
  end
377
359
 
378
360
  describe "with :command_prefix unset" do
379
-
380
361
  before { config[:command_prefix] = nil }
381
362
 
382
363
  it "returns an unaltered command" do