Sha256: 6ae363ba496dbf77f42de3c0e7aa037370028be6390c94ea15cb1f5e04fb2648

Contents?: true

Size: 1.25 KB

Versions: 25

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module KnapsackPro
  module Runners
    class TestUnitRunner < BaseRunner
      def self.run(args)
        ENV['KNAPSACK_PRO_TEST_SUITE_TOKEN'] = KnapsackPro::Config::Env.test_suite_token_test_unit
        ENV['KNAPSACK_PRO_RECORDING_ENABLED'] = 'true'

        adapter_class = KnapsackPro::Adapters::TestUnitAdapter
        KnapsackPro::Config::Env.set_test_runner_adapter(adapter_class)
        runner = new(adapter_class)

        if runner.test_files_to_execute_exist?
          adapter_class.verify_bind_method_called

          KnapsackPro.tracker.set_prerun_tests(runner.test_file_paths)

          cli_args =
            (args || '').split +
            runner.test_file_paths.map do |f|
              File.expand_path(f)
            end

          exit test_unit_autorunner_run(
            true,
            runner.test_dir,
            cli_args
          )
        end
      end

      private

      # https://www.rubydoc.info/github/test-unit/test-unit/Test/Unit/AutoRunner#run-class_method
      def self.test_unit_autorunner_run(force_standalone, default_dir, argv)
        require 'test/unit'

        ::Test::Unit::AutoRunner.run(
          force_standalone,
          default_dir,
          argv
        )
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
knapsack_pro-7.14.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.13.1 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.13.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.12.1 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.12.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.11.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.10.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.9.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.8.2 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.8.1 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.8.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.7.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.6.2 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.6.1 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.6.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.1.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.0.1 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-7.0.0 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-6.0.4 lib/knapsack_pro/runners/test_unit_runner.rb
knapsack_pro-6.0.3 lib/knapsack_pro/runners/test_unit_runner.rb