Module: Covet::Options
- Defined in:
- lib/covet/cli.rb
Constant Summary collapse
- DEFAULTS =
{ :collect_cmdline => nil, :VCS => :git, :revision => :last_commit, :test_order => :random_seeded, # one of [:random_seeded, :random, or :ordered] :test_runner => :minitest, # ENV['COVET_TEST_RUNNER'] :exec_run_list => false, :disable_test_method_filter => false, :print_run_list => true, :print_run_list_format => :simple, :collect_gem_whitelist => [], # ENV['COVET_GEM_WHITELIST'] :debug => false, # TODO: use :verbose => 0, # TODO: levels 0, 1, 2, maybe? }.freeze
Class Method Summary collapse
-
.parse!(argv) ⇒ Object
Hash.
Class Method Details
.parse!(argv) ⇒ Object
Returns Hash.
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
# File 'lib/covet/cli.rb', line 191 def self.parse!(argv) = DEFAULTS.dup OptionParser.new do |opts| opts. = "Usage: covet [options]" opts.separator "" opts.separator "Specific options:" opts.on('-c', '--collect CMDLINE', 'collect coverage information for test run of given cmdline') do |cmdline| [:collect_cmdline] = cmdline end opts.on('--whitelist-gems GEMS', Array, 'whitelist given gems for collection phase') do |gems| [:collect_gem_whitelist] = gems gems.each { |gem| CollectionFilter.whitelist_gem(gem) } end opts.on('-f', '--print-fmt FMT', "Format run list - 'simple' (default) or 'test-runner'") do |fmt| case fmt # TODO: add 'json' format to dump run list in JSON when 'simple', 'test-runner' [:print_run_list_format] = fmt.intern else raise OptionParser::InvalidArgument, "Valid values: 'simple', 'test-runner'" end end opts.on('-e', '--exec', 'Execute run list') do [:print_run_list] = false [:exec_run_list] = true end opts.on('--disable-method-filter', 'When executing run list, run all test methods for each file') do [:disable_test_method_filter] = true end opts.on('-r', '--revision REVISION', 'VCS Revision (defaults to last commit)') do |rev| [:revision] = rev end opts.on('-t', '--test-runner RUNNER') do |runner| begin Covet.test_runner = runner rescue ArgumentError => e Kernel.abort "Error: #{e.}" end [:test_runner] = runner.intern end #opts.on('-o', '--test-order ORDER', 'Specify test order for collection phase.') do |order| #begin #Covet.test_order = order.to_s #rescue ArgumentError => e #Kernel.abort "Error: #{e.message}" #end #end opts.on_tail('-v', '--version', 'Show covet version') do puts VERSION Kernel.exit end opts.on('-h', '--help', 'Show this message') do puts opts Kernel.exit end end.parse!(argv) end |