Sha256: a88ad0afafe33218321a973f3a80335aacfb5fb8d19f9fa2deb7435a9fad4df9

Contents?: true

Size: 1.12 KB

Versions: 40

Compression:

Stored size: 1.12 KB

Contents

module KnapsackPro
  module Runners
    class BaseRunner
      def self.run(args)
        raise NotImplementedError
      end

      def initialize(adapter_class)
        @allocator_builder = KnapsackPro::AllocatorBuilder.new(adapter_class)
        @allocator = allocator_builder.allocator
      end

      def test_file_paths
        @test_file_paths ||= allocator.test_file_paths
      end

      def stringify_test_file_paths
        KnapsackPro::TestFilePresenter.stringify_paths(test_file_paths)
      end

      def test_dir
        allocator_builder.test_dir
      end

      def test_files_to_execute_exist?
        if test_file_paths.empty?
          KnapsackPro.logger.info("Knapsack Pro API returned no test files to execute for the node this time. The reason might be that you changed recently a number of total nodes or you removed some test files. Please create a new commit to get a better test suite split next time.")
          false
        else
          true
        end
      end

      private

      attr_reader :allocator_builder,
        :allocator

      def self.child_status
        $?
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
knapsack_pro-5.5.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.4.1 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.4.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.5 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.4 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.3 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.2 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.1 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.3.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.2.1 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.2.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.1.2 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.1.1 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.1.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-5.0.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-4.1.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-4.0.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-3.11.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-3.10.0 lib/knapsack_pro/runners/base_runner.rb
knapsack_pro-3.9.0 lib/knapsack_pro/runners/base_runner.rb