class ParallelTests::Cucumber::Runner
def self.cucumber_opts
def self.cucumber_opts config = 'config/cucumber.yml' if File.exists?(config) && File.read(config) =~ /^parallel:/ "--profile parallel" end end
def self.executable
def self.executable if ParallelTests.bundler_enabled? "bundle exec cucumber" elsif File.file?("script/cucumber") "script/cucumber" else "cucumber" end end
def self.line_is_result?(line)
def self.line_is_result?(line) line =~ /^\d+ (steps|scenarios)/ end
def self.run_tests(test_files, process_number, options)
def self.run_tests(test_files, process_number, options) color = ($stdout.tty? ? 'AUTOTEST=1 ; export AUTOTEST ;' : '')#display color when we are in a terminal runtime_logging = " --format ParallelTests::Cucumber::RuntimeLogger --out #{runtime_log}" cmd = [ color, executable, (runtime_logging if File.directory?(File.dirname(runtime_log))), options[:test_options], cucumber_opts, *test_files ].compact.join(" ") execute_command(cmd, process_number, options) end
def self.runtime_log
def self.runtime_log 'tmp/parallel_runtime_cucumber.log' end
def self.test_file_name
def self.test_file_name "feature" end
def self.test_suffix
def self.test_suffix ".feature" end