Class: Kitchen::CLI
- Inherits:
-
Thor
- Object
- Thor
- Kitchen::CLI
- Includes:
- PerformCommand, Logging
- Defined in:
- lib/kitchen/cli.rb
Overview
The command line runner for Kitchen.
Defined Under Namespace
Modules: PerformCommand
Constant Summary collapse
- MAX_CONCURRENCY =
The maximum number of concurrent instances that can run–which is a bit high
9999
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Class Method Summary collapse
-
.log_options ⇒ Object
private
Sets the logging method_options.
-
.test_base_path ⇒ Object
private
Sets the test_base_path method_options.
Instance Method Summary collapse
- #console ⇒ Object
- #diagnose(*args) ⇒ Object
- #doctor(*args) ⇒ Object
- #exec(*args) ⇒ Object
-
#initialize(*args) ⇒ CLI
constructor
Constructs a new instance.
- #list(*args) ⇒ Object
- #login(*args) ⇒ Object
- #package(*args) ⇒ Object
- #sink ⇒ Object
- #test(*args) ⇒ Object
- #version ⇒ Object
Methods included from PerformCommand
Methods included from Logging
#banner, #debug, #error, #fatal, #info, #warn
Constructor Details
#initialize(*args) ⇒ CLI
Constructs a new instance.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/kitchen/cli.rb', line 66 def initialize(*args) super $stdout.sync = true @loader = Kitchen::Loader::YAML.new( project_config: ENV["KITCHEN_YAML"] || ENV["KITCHEN_YML"], local_config: ENV["KITCHEN_LOCAL_YAML"] || ENV["KITCHEN_LOCAL_YML"], global_config: ENV["KITCHEN_GLOBAL_YAML"] || ENV["KITCHEN_GLOBAL_YML"] ) @config = Kitchen::Config.new( loader: @loader ) @config.log_level = Kitchen.env_log unless Kitchen.env_log.nil? @config.log_overwrite = Kitchen.env_log_overwrite unless Kitchen.env_log_overwrite.nil? end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
63 64 65 |
# File 'lib/kitchen/cli.rb', line 63 def config @config end |
Class Method Details
.log_options ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Sets the logging method_options
83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/kitchen/cli.rb', line 83 def self. method_option :log_level, aliases: "-l", desc: "Set the log level (debug, info, warn, error, fatal)" method_option :log_overwrite, desc: "Set to false to prevent log overwriting each time Test Kitchen runs", type: :boolean method_option :color, type: :boolean, lazy_default: $stdout.tty?, desc: "Toggle color output for STDOUT logger" end |
.test_base_path ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Sets the test_base_path method_options
98 99 100 101 102 |
# File 'lib/kitchen/cli.rb', line 98 def self.test_base_path method_option :test_base_path, aliases: "-t", desc: "Set the base path of the tests" end |
Instance Method Details
#console ⇒ Object
300 301 302 |
# File 'lib/kitchen/cli.rb', line 300 def console perform("console", "console") end |
#diagnose(*args) ⇒ Object
140 141 142 143 |
# File 'lib/kitchen/cli.rb', line 140 def diagnose(*args) update_config! perform("diagnose", "diagnose", args, loader: @loader) end |
#doctor(*args) ⇒ Object
272 273 274 275 |
# File 'lib/kitchen/cli.rb', line 272 def doctor(*args) update_config! perform("doctor", "doctor", args) end |
#exec(*args) ⇒ Object
283 284 285 286 |
# File 'lib/kitchen/cli.rb', line 283 def exec(*args) update_config! perform("exec", "exec", args) end |
#list(*args) ⇒ Object
118 119 120 121 |
# File 'lib/kitchen/cli.rb', line 118 def list(*args) update_config! perform("list", "list", args) end |
#login(*args) ⇒ Object
255 256 257 258 |
# File 'lib/kitchen/cli.rb', line 255 def login(*args) update_config! perform("login", "login", args) end |
#package(*args) ⇒ Object
262 263 264 265 |
# File 'lib/kitchen/cli.rb', line 262 def package(*args) update_config! perform("package", "package", args) end |
#sink ⇒ Object
295 296 297 |
# File 'lib/kitchen/cli.rb', line 295 def sink perform("sink", "sink") end |
#test(*args) ⇒ Object
247 248 249 250 251 |
# File 'lib/kitchen/cli.rb', line 247 def test(*args) update_config! ensure_initialized perform("test", "test", args) end |