class Minitest::Distributed::TestSelector
Attributes
filters[R]
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/minitest/distributed/test_selector.rb, line 18 def initialize(options) @options = options @filters = T.let([], T::Array[Filters::FilterInterface]) initialize_filters end
Public Instance Methods
discover_tests()
click to toggle source
# File lib/minitest/distributed/test_selector.rb, line 38 def discover_tests Minitest::Runnable.runnables.flat_map do |runnable| runnable.runnable_methods.map { |method_name| runnable.new(method_name) } end end
initialize_filters()
click to toggle source
# File lib/minitest/distributed/test_selector.rb, line 26 def initialize_filters @filters << Filters::IncludeFilter.new(options[:filter]) if options[:filter] @filters << Filters::ExcludeFilter.new(options[:exclude]) if options[:exclude] exclude_file = options[:distributed].exclude_file @filters << Filters::ExcludeFileFilter.new(Pathname.new(exclude_file)) if exclude_file include_file = options[:distributed].include_file @filters << Filters::IncludeFileFilter.new(Pathname.new(include_file)) if include_file end
select_tests(tests)
click to toggle source
# File lib/minitest/distributed/test_selector.rb, line 45 def select_tests(tests) return tests if filters.empty? tests.flat_map do |runnable_method| filters.flat_map do |filter| filter.call(runnable_method) end end.compact end
tests()
click to toggle source
# File lib/minitest/distributed/test_selector.rb, line 55 def tests select_tests(discover_tests) end