Sha256: 1a4627a5be6204723b110bd07f93c7648e7c1d10dfe7d926fde14dca55586b63

Contents?: true

Size: 980 Bytes

Versions: 1

Compression:

Stored size: 980 Bytes

Contents

require 'tork/config'

Tork::Config.all_test_file_globs << 'features/**/*.feature'

Tork::Config.test_file_globbers.update(
  # source files that correspond to test files
  %r<^(features/(.+/)?)step_definitions/.+\.rb$> => lambda do |matches|
    matches[1] + '*.feature'
  end,

  # the actual test files themselves
  %r<^features/.+\.feature$> => lambda {|matches| matches[0] }
)

Tork::Config.after_fork_hooks.push lambda {
  |test_file, line_numbers, log_file, worker_number|

  if File.extname(test_file) == '.feature'
    # pass test_file in ARGV to cucumber(1) for running
    ARGV << [test_file, *line_numbers].join(':')
    require 'cucumber'
    require 'rubygems'
    cucumber_bin = Gem.bin_path('cucumber', 'cucumber')
    at_exit { load cucumber_bin unless $! }

    # noopify loading of test_file in Tork::Master#test()
    # because cucumber feature files are not Ruby scripts
    require 'tempfile'
    test_file.replace Tempfile.new('tork-cucumber').path
  end
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tork-18.0.0 lib/tork/config/cucumber.rb