test-kitchen 1.9.0 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -8
- data/MAINTAINERS.md +5 -4
- data/Rakefile +1 -1
- data/lib/kitchen/cli.rb +5 -0
- data/lib/kitchen/config.rb +7 -1
- data/lib/kitchen/logger.rb +12 -7
- data/lib/kitchen/rake_tasks.rb +8 -1
- data/lib/kitchen/transport/ssh.rb +3 -1
- data/lib/kitchen/version.rb +1 -1
- data/spec/kitchen/config_spec.rb +24 -3
- data/spec/kitchen/logger_spec.rb +10 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25811e79e5d135e683b432c2b949b6e33ee76468
|
4
|
+
data.tar.gz: 13989d7ee63d36e9d6fccd56b38b2e86b857f601
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5aec60ff68922a79b5c09b7fdaf39dd54b4a91e6c487eeff72477b924113ff5292c48a9bf48885e60ea3e9e88ce244f0b48ecf5ea91d47fe01b734126abc6705
|
7
|
+
data.tar.gz: 969e6244b72135b1fbae2ba62c89818237c5dc8eb5b3c9e2a0a0d1906bedc3142b2ed775ab1c202a63e87561315b36e4942c84d355790680eba328e754e82b2c
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
4
|
-
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.
|
3
|
+
## [v1.9.1](https://github.com/test-kitchen/test-kitchen/tree/v1.9.1) (2016-06-02)
|
4
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.9.0...v1.9.1)
|
5
|
+
|
6
|
+
**Implemented enhancements:**
|
7
|
+
|
8
|
+
- Allow rake task to use env var [\#1046](https://github.com/test-kitchen/test-kitchen/pull/1046) ([smurawski](https://github.com/smurawski))
|
9
|
+
- Add color options [\#1032](https://github.com/test-kitchen/test-kitchen/pull/1032) ([jorhett](https://github.com/jorhett))
|
10
|
+
- Add support for SSH connection debugging. [\#990](https://github.com/test-kitchen/test-kitchen/pull/990) ([rhass](https://github.com/rhass))
|
11
|
+
|
12
|
+
## [1.9.0](https://github.com/test-kitchen/test-kitchen/tree/v1.9.0) (2016-05-26)
|
13
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.8.0...v1.9.0)
|
5
14
|
|
6
15
|
**Implemented enhancements:**
|
7
16
|
|
@@ -17,24 +26,24 @@
|
|
17
26
|
- Update `chef\_omnbius\_url` default value [\#1028](https://github.com/test-kitchen/test-kitchen/pull/1028) ([schisamo](https://github.com/schisamo))
|
18
27
|
- Fix grammar in common\_sandbox warning message [\#1031](https://github.com/test-kitchen/test-kitchen/pull/1031) ([emachnic](https://github.com/emachnic))
|
19
28
|
|
20
|
-
## [1.8.0](https://github.com/test-kitchen/test-kitchen/tree/
|
21
|
-
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.3...
|
29
|
+
## [1.8.0](https://github.com/test-kitchen/test-kitchen/tree/v1.8.0) (2016-05-05)
|
30
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.3...v1.8.0)
|
22
31
|
|
23
32
|
**Implemented enhancements:**
|
24
33
|
|
25
34
|
- Add native policyfile resolution support [\#1014](https://github.com/test-kitchen/test-kitchen/pull/1014) ([danielsdeleo](https://github.com/danielsdeleo))
|
26
35
|
- Provide the option to run all winrm commands through a scheduled task [\#1012](https://github.com/test-kitchen/test-kitchen/pull/1012) ([mwrock](https://github.com/mwrock))
|
27
36
|
|
28
|
-
## [1.7.3](https://github.com/test-kitchen/test-kitchen/tree/
|
29
|
-
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.2...
|
37
|
+
## [1.7.3](https://github.com/test-kitchen/test-kitchen/tree/v1.7.3) (2016-04-13)
|
38
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.2...v1.7.3)
|
30
39
|
|
31
40
|
**Fixed bugs:**
|
32
41
|
|
33
42
|
- Test Kitchen on windows fails to upload data bags [\#1006](https://github.com/test-kitchen/test-kitchen/issues/1006)
|
34
43
|
- Fixes busser install for older omnibus windows installs [\#1003](https://github.com/test-kitchen/test-kitchen/pull/1003) ([mwrock](https://github.com/mwrock))
|
35
44
|
|
36
|
-
## [1.7.2](https://github.com/test-kitchen/test-kitchen/tree/
|
37
|
-
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.1...
|
45
|
+
## [1.7.2](https://github.com/test-kitchen/test-kitchen/tree/v1.7.2) (2016-04-07)
|
46
|
+
[Full Changelog](https://github.com/test-kitchen/test-kitchen/compare/v1.7.1...v1.7.2)
|
38
47
|
|
39
48
|
**Merged pull requests:**
|
40
49
|
|
data/MAINTAINERS.md
CHANGED
@@ -15,10 +15,11 @@ receive a veto from the Lieutenant or the Project Lead.
|
|
15
15
|
## Maintainers
|
16
16
|
|
17
17
|
* [Adam Leff](https://github.com/adamleff)
|
18
|
+
* [Chris Hartmann](https://github.com/chris-rock)
|
18
19
|
* [Jennifer Davis](https://github.com/iennae)
|
20
|
+
* [Kimball Johnson](https://github.com/drrk)
|
21
|
+
* [Lamont Granquist](https://github.com/lamont-granquist)
|
19
22
|
* [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
23
|
* [Robb Kidd](https://github.com/robbkidd)
|
24
|
-
* [
|
24
|
+
* [Sean Omeara](http://github.com/someara)
|
25
|
+
* [Steven Murawski](http://github.com/smurawski)
|
data/Rakefile
CHANGED
@@ -72,7 +72,7 @@ begin
|
|
72
72
|
require "kitchen/version"
|
73
73
|
|
74
74
|
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
75
|
-
config.future_release = Kitchen::VERSION
|
75
|
+
config.future_release = "v#{Kitchen::VERSION}"
|
76
76
|
config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature,Improvement".split(",")
|
77
77
|
config.bug_labels = "bug,Bug".split(",")
|
78
78
|
config.exclude_labels = %w[Duplicate Question Discussion No_Changelog]
|
data/lib/kitchen/cli.rb
CHANGED
@@ -91,6 +91,10 @@ module Kitchen
|
|
91
91
|
method_option :log_overwrite,
|
92
92
|
:desc => "Set to false to prevent log overwriting each time Test Kitchen runs",
|
93
93
|
:type => :boolean
|
94
|
+
method_option :color,
|
95
|
+
:type => :boolean,
|
96
|
+
:lazy_default => $stdout.tty?,
|
97
|
+
:desc => "Toggle color output for STDOUT logger"
|
94
98
|
end
|
95
99
|
|
96
100
|
# Sets the test_base_path method_options
|
@@ -349,6 +353,7 @@ module Kitchen
|
|
349
353
|
unless options[:log_overwrite].nil?
|
350
354
|
@config.log_overwrite = options[:log_overwrite]
|
351
355
|
end
|
356
|
+
@config.colorize = options[:color] unless options[:color].nil?
|
352
357
|
|
353
358
|
if options[:test_base_path]
|
354
359
|
# ensure we have an absolute path
|
data/lib/kitchen/config.rb
CHANGED
@@ -81,6 +81,10 @@ module Kitchen
|
|
81
81
|
# @api private
|
82
82
|
attr_accessor :test_base_path
|
83
83
|
|
84
|
+
# @return [Boolean] whether to force color output or not in logger
|
85
|
+
# @api private
|
86
|
+
attr_accessor :colorize
|
87
|
+
|
84
88
|
# Creates a new configuration, representing a particular testing
|
85
89
|
# configuration for a project.
|
86
90
|
#
|
@@ -104,6 +108,7 @@ module Kitchen
|
|
104
108
|
@kitchen_root = options.fetch(:kitchen_root) { Dir.pwd }
|
105
109
|
@log_level = options.fetch(:log_level) { Kitchen::DEFAULT_LOG_LEVEL }
|
106
110
|
@log_overwrite = options.fetch(:log_overwrite) { Kitchen::DEFAULT_LOG_OVERWRITE }
|
111
|
+
@colorize = options.fetch(:colorize) { Kitchen.tty? }
|
107
112
|
@log_root = options.fetch(:log_root) { default_log_root }
|
108
113
|
@test_base_path = options.fetch(:test_base_path) { default_test_base_path }
|
109
114
|
end
|
@@ -268,7 +273,8 @@ module Kitchen
|
|
268
273
|
:logdev => log_location,
|
269
274
|
:level => Util.to_logger_level(log_level),
|
270
275
|
:log_overwrite => log_overwrite,
|
271
|
-
:progname => name
|
276
|
+
:progname => name,
|
277
|
+
:colorize => @colorize
|
272
278
|
)
|
273
279
|
end
|
274
280
|
|
data/lib/kitchen/logger.rb
CHANGED
@@ -54,8 +54,10 @@ module Kitchen
|
|
54
54
|
# messages (default: `"Kitchen"`)
|
55
55
|
# @option options [IO] :stdout a standard out IO object to use
|
56
56
|
# (default: `$stdout`)
|
57
|
+
# @option options [Boolean] :colorize whether to colorize output
|
58
|
+
# when Test Kitchen runs.
|
59
|
+
# (default: `$stdout.tty?`)
|
57
60
|
def initialize(options = {})
|
58
|
-
color = options[:color]
|
59
61
|
@log_overwrite = if options[:log_overwrite].nil?
|
60
62
|
default_log_overwrite
|
61
63
|
else
|
@@ -64,7 +66,7 @@ module Kitchen
|
|
64
66
|
|
65
67
|
@logdev = logdev_logger(options[:logdev], log_overwrite) if options[:logdev]
|
66
68
|
|
67
|
-
populate_loggers(
|
69
|
+
populate_loggers(options)
|
68
70
|
|
69
71
|
# These setters cannot be called until @loggers are populated because
|
70
72
|
# they are delegated
|
@@ -75,11 +77,13 @@ module Kitchen
|
|
75
77
|
# Pulled out for Rubocop complexity issues
|
76
78
|
#
|
77
79
|
# @api private
|
78
|
-
def populate_loggers(
|
80
|
+
def populate_loggers(options)
|
79
81
|
@loggers = []
|
80
82
|
@loggers << logdev unless logdev.nil?
|
81
|
-
@loggers << stdout_logger(options[:stdout], color
|
82
|
-
|
83
|
+
@loggers << stdout_logger(options[:stdout], options[:color], options[:colorize]) if
|
84
|
+
options[:stdout]
|
85
|
+
@loggers << stdout_logger($stdout, options[:color], options[:colorize]) if
|
86
|
+
@loggers.empty?
|
83
87
|
end
|
84
88
|
private :populate_loggers
|
85
89
|
|
@@ -286,11 +290,12 @@ module Kitchen
|
|
286
290
|
#
|
287
291
|
# @param stdout [IO] the IO object that represents stdout (or similar)
|
288
292
|
# @param color [Symbol] color to use when outputing messages
|
293
|
+
# @param colorize [Boolean] whether to enable color
|
289
294
|
# @return [StdoutLogger] a new logger
|
290
295
|
# @api private
|
291
|
-
def stdout_logger(stdout, color)
|
296
|
+
def stdout_logger(stdout, color, colorize)
|
292
297
|
logger = StdoutLogger.new(stdout)
|
293
|
-
if
|
298
|
+
if colorize
|
294
299
|
logger.formatter = proc do |_severity, _datetime, _progname, msg|
|
295
300
|
Color.colorize("#{msg}", color).concat("\n")
|
296
301
|
end
|
data/lib/kitchen/rake_tasks.rb
CHANGED
@@ -31,7 +31,14 @@ module Kitchen
|
|
31
31
|
#
|
32
32
|
# @yield [self] gives itself to the block
|
33
33
|
def initialize
|
34
|
-
@
|
34
|
+
@loader = Kitchen::Loader::YAML.new(
|
35
|
+
:project_config => ENV["KITCHEN_YAML"],
|
36
|
+
:local_config => ENV["KITCHEN_LOCAL_YAML"],
|
37
|
+
:global_config => ENV["KITCHEN_GLOBAL_YAML"]
|
38
|
+
)
|
39
|
+
@config = Kitchen::Config.new(
|
40
|
+
:loader => @loader
|
41
|
+
)
|
35
42
|
Kitchen.logger = Kitchen.default_file_logger(nil, false)
|
36
43
|
yield self if block_given?
|
37
44
|
define
|
@@ -319,7 +319,8 @@ module Kitchen
|
|
319
319
|
# @param data [Hash] merged configuration and mutable state data
|
320
320
|
# @return [Hash] hash of connection options
|
321
321
|
# @api private
|
322
|
-
|
322
|
+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity
|
323
|
+
def connection_options(data)
|
323
324
|
opts = {
|
324
325
|
:logger => logger,
|
325
326
|
:user_known_hosts_file => "/dev/null",
|
@@ -342,6 +343,7 @@ module Kitchen
|
|
342
343
|
opts[:auth_methods] = ["publickey"] if data[:ssh_key]
|
343
344
|
opts[:password] = data[:password] if data.key?(:password)
|
344
345
|
opts[:forward_agent] = data[:forward_agent] if data.key?(:forward_agent)
|
346
|
+
opts[:verbose] = data[:verbose].to_sym if data.key?(:verbose)
|
345
347
|
|
346
348
|
opts
|
347
349
|
end
|
data/lib/kitchen/version.rb
CHANGED
data/spec/kitchen/config_spec.rb
CHANGED
@@ -41,9 +41,14 @@ module Kitchen
|
|
41
41
|
@data || Hash.new
|
42
42
|
end
|
43
43
|
end
|
44
|
+
|
44
45
|
end
|
45
46
|
|
46
47
|
describe Kitchen::Config do
|
48
|
+
# Explicitly enable tty to test colorize default option later
|
49
|
+
before do
|
50
|
+
Kitchen.stubs(:tty?).returns(true)
|
51
|
+
end
|
47
52
|
|
48
53
|
let(:loader) { Kitchen::DummyLoader.new }
|
49
54
|
let(:config) { Kitchen::Config.new(opts) }
|
@@ -55,7 +60,8 @@ describe Kitchen::Config do
|
|
55
60
|
:log_root => "/tmp/logs",
|
56
61
|
:test_base_path => "/testing/yo",
|
57
62
|
:log_level => :debug,
|
58
|
-
:log_overwrite => false
|
63
|
+
:log_overwrite => false,
|
64
|
+
:colorize => false
|
59
65
|
}
|
60
66
|
end
|
61
67
|
|
@@ -70,7 +76,8 @@ describe Kitchen::Config do
|
|
70
76
|
:kitchen_root => "/tmp/that/place",
|
71
77
|
:test_base_path => "/testing/yo",
|
72
78
|
:log_level => :debug,
|
73
|
-
:log_overwrite => false
|
79
|
+
:log_overwrite => false,
|
80
|
+
:colorize => false
|
74
81
|
}
|
75
82
|
end
|
76
83
|
|
@@ -152,6 +159,19 @@ describe Kitchen::Config do
|
|
152
159
|
end
|
153
160
|
end
|
154
161
|
|
162
|
+
describe "#colorize" do
|
163
|
+
|
164
|
+
it "returns its colorize" do
|
165
|
+
config.colorize.must_equal false
|
166
|
+
end
|
167
|
+
|
168
|
+
it "uses true by default" do
|
169
|
+
opts.delete(:colorize)
|
170
|
+
|
171
|
+
config.colorize.must_equal true
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
155
175
|
describe "#platforms" do
|
156
176
|
|
157
177
|
before do
|
@@ -339,7 +359,8 @@ describe Kitchen::Config do
|
|
339
359
|
:logdev => "/tmp/logs/tiny-unax.log",
|
340
360
|
:log_overwrite => false,
|
341
361
|
:level => 0,
|
342
|
-
:progname => "tiny-unax"
|
362
|
+
:progname => "tiny-unax",
|
363
|
+
:colorize => false
|
343
364
|
)
|
344
365
|
|
345
366
|
config.instances
|
data/spec/kitchen/logger_spec.rb
CHANGED
@@ -23,7 +23,6 @@ require "kitchen"
|
|
23
23
|
describe Kitchen::Logger do
|
24
24
|
|
25
25
|
before do
|
26
|
-
Kitchen.stubs(:tty?).returns(true)
|
27
26
|
@orig_stdout = $stdout
|
28
27
|
$stdout = StringIO.new
|
29
28
|
end
|
@@ -37,7 +36,7 @@ describe Kitchen::Logger do
|
|
37
36
|
end
|
38
37
|
|
39
38
|
let(:opts) do
|
40
|
-
{ :color => :red }
|
39
|
+
{ :color => :red, :colorize => true }
|
41
40
|
end
|
42
41
|
|
43
42
|
let(:logger) do
|
@@ -110,7 +109,7 @@ describe Kitchen::Logger do
|
|
110
109
|
end
|
111
110
|
|
112
111
|
it "sets up a simple STDOUT logger by default with no color" do
|
113
|
-
|
112
|
+
opts[:colorize] = false
|
114
113
|
opts.delete(:stdout)
|
115
114
|
logger.info("hello")
|
116
115
|
|
@@ -124,7 +123,7 @@ describe Kitchen::Logger do
|
|
124
123
|
end
|
125
124
|
|
126
125
|
it "accepts a :stdout option to redirect output with no color" do
|
127
|
-
|
126
|
+
opts[:colorize] = false
|
128
127
|
logger.info("hello")
|
129
128
|
|
130
129
|
stdout.string.must_equal " hello\n"
|
@@ -141,7 +140,7 @@ describe Kitchen::Logger do
|
|
141
140
|
end
|
142
141
|
|
143
142
|
it "logs to banner with no color" do
|
144
|
-
|
143
|
+
opts[:colorize] = false
|
145
144
|
logger.banner("yo")
|
146
145
|
|
147
146
|
stdout.string.must_equal "-----> yo\n"
|
@@ -154,7 +153,7 @@ describe Kitchen::Logger do
|
|
154
153
|
end
|
155
154
|
|
156
155
|
it "logs to debug with no color" do
|
157
|
-
|
156
|
+
opts[:colorize] = false
|
158
157
|
logger.debug("yo")
|
159
158
|
|
160
159
|
stdout.string.must_equal "D yo\n"
|
@@ -167,7 +166,7 @@ describe Kitchen::Logger do
|
|
167
166
|
end
|
168
167
|
|
169
168
|
it "logs to info with no color" do
|
170
|
-
|
169
|
+
opts[:colorize] = false
|
171
170
|
logger.info("yo")
|
172
171
|
|
173
172
|
stdout.string.must_equal " yo\n"
|
@@ -180,7 +179,7 @@ describe Kitchen::Logger do
|
|
180
179
|
end
|
181
180
|
|
182
181
|
it "logs to error with no color" do
|
183
|
-
|
182
|
+
opts[:colorize] = false
|
184
183
|
logger.error("yo")
|
185
184
|
|
186
185
|
stdout.string.must_equal ">>>>>> yo\n"
|
@@ -193,7 +192,7 @@ describe Kitchen::Logger do
|
|
193
192
|
end
|
194
193
|
|
195
194
|
it "logs to warn with no color" do
|
196
|
-
|
195
|
+
opts[:colorize] = false
|
197
196
|
logger.warn("yo")
|
198
197
|
|
199
198
|
stdout.string.must_equal "$$$$$$ yo\n"
|
@@ -206,7 +205,7 @@ describe Kitchen::Logger do
|
|
206
205
|
end
|
207
206
|
|
208
207
|
it "logs to fatal with no color" do
|
209
|
-
|
208
|
+
opts[:colorize] = false
|
210
209
|
logger.fatal("yo")
|
211
210
|
|
212
211
|
stdout.string.must_equal "!!!!!! yo\n"
|
@@ -219,7 +218,7 @@ describe Kitchen::Logger do
|
|
219
218
|
end
|
220
219
|
|
221
220
|
it "logs to unknown with no color" do
|
222
|
-
|
221
|
+
opts[:colorize] = false
|
223
222
|
logger.unknown("yo")
|
224
223
|
|
225
224
|
stdout.string.must_equal "?????? yo\n"
|
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.9.
|
4
|
+
version: 1.9.1
|
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-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-shellout
|