# File lib/cucumber/cli/main.rb, line 19 def execute(args) new(args).execute! end
# File lib/cucumber/cli/main.rb, line 24 def initialize(args, out_stream = STDOUT, error_stream = STDERR) @args = args @out_stream = out_stream @error_stream = error_stream @configuration = nil end
# File lib/cucumber/cli/main.rb, line 51 def configuration return @configuration if @configuration @configuration = Configuration.new(@out_stream, @error_stream) @configuration.parse!(@args) Cucumber.logger = @configuration.log @configuration end
# File lib/cucumber/cli/main.rb, line 32 def execute!(existing_runtime = nil) trap_interrupt return @drb_output if run_drb_client runtime = if existing_runtime existing_runtime.configure(configuration) existing_runtime else Runtime.new(configuration) end runtime.run! runtime.write_stepdefs_json runtime.results.failure? rescue ProfilesNotDefinedError, YmlLoadError, ProfileNotFound => e @error_stream.puts e.message true end