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
- #logs(*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
327 328 329 |
# File 'lib/kitchen/cli.rb', line 327 def console perform("console", "console") end |
#diagnose(*args) ⇒ Object
147 148 149 150 |
# File 'lib/kitchen/cli.rb', line 147 def diagnose(*args) update_config! perform("diagnose", "diagnose", args, loader: @loader) end |
#doctor(*args) ⇒ Object
299 300 301 302 |
# File 'lib/kitchen/cli.rb', line 299 def doctor(*args) update_config! perform("doctor", "doctor", args) end |
#exec(*args) ⇒ Object
310 311 312 313 |
# File 'lib/kitchen/cli.rb', line 310 def exec(*args) update_config! perform("exec", "exec", args) end |
#list(*args) ⇒ Object
124 125 126 127 128 |
# File 'lib/kitchen/cli.rb', line 124 def list(*args) log_overwrite = [:log_overwrite].nil? ? false : [:log_overwrite] update_config!(log_overwrite:) perform("list", "list", args) end |
#login(*args) ⇒ Object
261 262 263 264 |
# File 'lib/kitchen/cli.rb', line 261 def login(*args) update_config! perform("login", "login", args) end |
#logs(*args) ⇒ Object
282 283 284 285 |
# File 'lib/kitchen/cli.rb', line 282 def logs(*args) update_config!(log_overwrite: false) perform("logs", "logs", args) end |
#package(*args) ⇒ Object
289 290 291 292 |
# File 'lib/kitchen/cli.rb', line 289 def package(*args) update_config! perform("package", "package", args) end |
#sink ⇒ Object
322 323 324 |
# File 'lib/kitchen/cli.rb', line 322 def sink perform("sink", "sink") end |
#test(*args) ⇒ Object
253 254 255 256 257 |
# File 'lib/kitchen/cli.rb', line 253 def test(*args) update_config! ensure_initialized perform("test", "test", args) end |