Sha256: 3ef33458d5b17aa905930971b8c76ef0119a731b422cbc13af82f7bac49c0d54

Contents?: true

Size: 1.4 KB

Versions: 44

Compression:

Stored size: 1.4 KB

Contents

module KnapsackPro
  class SlowTestFileFinder
    # Get recorded test files from API.
    # Find slow tests among them that are still present on the disk.
    # Save slow test files in json file on the disk.
    # Returns slow test files.
    def self.call(adapter_class)
      if KnapsackPro::Config::Env.test_files_encrypted?
        raise 'Split by test cases is not possible when you have enabled test file names encryption ( https://github.com/KnapsackPro/knapsack_pro-ruby#test-file-names-encryption ). You need to disable encryption with KNAPSACK_PRO_TEST_FILES_ENCRYPTED=false in order to use split by test cases https://github.com/KnapsackPro/knapsack_pro-ruby#split-test-files-by-test-cases'
      end

      # get list of recorded test files for last CI Build
      build_distribution_entity = KnapsackPro::BuildDistributionFetcher.call
      test_files_from_api = build_distribution_entity.test_files

      merged_test_files_from_api = KnapsackPro::TestCaseMergers::BaseMerger.call(adapter_class, test_files_from_api)

      test_files_existing_on_disk = KnapsackPro::TestFileFinder.select_test_files_that_can_be_run(adapter_class, merged_test_files_from_api)

      slow_test_files = KnapsackPro::SlowTestFileDeterminer.call(test_files_existing_on_disk, build_distribution_entity.time_execution)

      KnapsackPro::SlowTestFileDeterminer.save_to_json_report(slow_test_files)

      slow_test_files
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
knapsack_pro-3.7.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.6.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.5.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.4.2 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.4.1 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.4.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.3.1 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.3.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.2.1 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.2.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.1.3 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.1.2 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.1.1 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.1.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-3.0.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-2.18.2 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-2.18.1 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-2.18.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-2.17.0 lib/knapsack_pro/slow_test_file_finder.rb
knapsack_pro-2.16.0 lib/knapsack_pro/slow_test_file_finder.rb