Sha256: 087de6e44f0a36c64ae363f245b936cc8ab9df6c3e724d9dd83f8cd585a6dd83
Contents?: true
Size: 1.8 KB
Versions: 4
Compression:
Stored size: 1.8 KB
Contents
require 'parallel_tests/test/runner' module ParallelTests module Cucumber class Runner < ParallelTests::Test::Runner 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))), cucumber_opts(options[:test_options]), *test_files ].compact.join(" ") execute_command(cmd, process_number, options) end def self.executable if ParallelTests.bundler_enabled? "bundle exec cucumber" elsif File.file?("script/cucumber") "script/cucumber" else "cucumber" end end def self.runtime_log 'tmp/parallel_runtime_cucumber.log' end def self.test_file_name "feature" end def self.test_suffix ".feature" end def self.line_is_result?(line) line =~ /^\d+ (steps|scenarios)/ end def self.cucumber_opts(given) if given =~ /--profile/ or given =~ /(^|\s)-p / given else [given, profile_from_config].compact.join(" ") end end def self.profile_from_config config = 'config/cucumber.yml' if File.exists?(config) && File.read(config) =~ /^parallel:/ "--profile parallel" end end def self.tests_in_groups(tests, num_groups, options={}) if options[:group_by] == :steps Grouper.by_steps(find_tests(tests, options), num_groups) else super end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems