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 Classes: Driver
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
- #exec(*args) ⇒ Object
-
#initialize(*args) ⇒ CLI
constructor
Constructs a new instance.
- #list(*args) ⇒ Object
- #login(*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.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/kitchen/cli.rb', line 70 def initialize(*args) super $stdout.sync = true @loader = Kitchen::Loader::YAML.new( :project_config => ENV["KITCHEN_YAML"], :local_config => ENV["KITCHEN_LOCAL_YAML"], :global_config => ENV["KITCHEN_GLOBAL_YAML"] ) @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.
67 68 69 |
# File 'lib/kitchen/cli.rb', line 67 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
87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/kitchen/cli.rb', line 87 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
102 103 104 105 106 |
# File 'lib/kitchen/cli.rb', line 102 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
264 265 266 |
# File 'lib/kitchen/cli.rb', line 264 def console perform("console", "console") end |
#diagnose(*args) ⇒ Object
138 139 140 141 |
# File 'lib/kitchen/cli.rb', line 138 def diagnose(*args) update_config! perform("diagnose", "diagnose", args, :loader => @loader) end |
#exec(*args) ⇒ Object
247 248 249 250 |
# File 'lib/kitchen/cli.rb', line 247 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
236 237 238 239 |
# File 'lib/kitchen/cli.rb', line 236 def login(*args) update_config! perform("login", "login", args) end |
#sink ⇒ Object
259 260 261 |
# File 'lib/kitchen/cli.rb', line 259 def sink perform("sink", "sink") end |
#test(*args) ⇒ Object
228 229 230 231 232 |
# File 'lib/kitchen/cli.rb', line 228 def test(*args) update_config! ensure_initialized perform("test", "test", args) end |