diff options
Diffstat (limited to 'tooling/bin')
-rwxr-xr-x | tooling/bin/find_tests (renamed from tooling/bin/find_foss_tests) | 11 | ||||
-rwxr-xr-x | tooling/bin/parallel_rspec | 19 |
2 files changed, 27 insertions, 3 deletions
diff --git a/tooling/bin/find_foss_tests b/tooling/bin/find_tests index 9cd8a616ad0..2c0e7ae2c53 100755 --- a/tooling/bin/find_foss_tests +++ b/tooling/bin/find_tests @@ -19,7 +19,12 @@ mr_iid = ENV.fetch('CI_MERGE_REQUEST_IID') mr_changes = Gitlab.merge_request_changes(mr_project_path, mr_iid) changed_files = mr_changes.changes.map { |change| change['new_path'] } -mapping = TestFileFinder::Mapping.load('tests.yml') -test_files = TestFileFinder::FileFinder.new(paths: changed_files, mapping: mapping).test_files +tff = TestFileFinder::FileFinder.new(paths: changed_files).tap do |file_finder| + file_finder.use TestFileFinder::MappingStrategies::PatternMatching.load('tests.yml') -File.write(output_file, test_files.uniq.join(' ')) + if ENV['RSPEC_TESTS_MAPPING_ENABLED'] + file_finder.use TestFileFinder::MappingStrategies::DirectMatching.load_json(ENV['RSPEC_TESTS_MAPPING_PATH']) + end +end + +File.write(output_file, tff.test_files.uniq.join(' ')) diff --git a/tooling/bin/parallel_rspec b/tooling/bin/parallel_rspec new file mode 100755 index 00000000000..a706df69a1e --- /dev/null +++ b/tooling/bin/parallel_rspec @@ -0,0 +1,19 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require 'optparse' +require_relative '../lib/tooling/parallel_rspec_runner' + +options = {} + +OptionParser.new do |opts| + opts.on("--rspec_args rspec_args", String, "Optional rspec arguments") do |value| + options[:rspec_args] = value + end + + opts.on("--filter filter_tests_file", String, "Optional filename containing tests to be filtered") do |value| + options[:filter_tests_file] = value + end +end.parse! + +Tooling::ParallelRSpecRunner.run(options) |