Sha256: 4aa1f29082904de89b12314ed62bf40bced05e6ccb3cdaa2cebe1df89952d056
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
module DeepTest module Test class SupervisedTestSuite def initialize(suite, blackboard) @suite = suite @blackboard = blackboard end def run(result, &progress_block) yield ::Test::Unit::TestSuite::STARTED, @suite.name tests_by_name = {} add_tests @suite, tests_by_name read_results result, tests_by_name, &progress_block yield ::Test::Unit::TestSuite::FINISHED, @suite.name end def size @suite.size end def add_tests(test_suite, tests_by_name) if test_suite.respond_to? :tests test_suite.tests.each do |test| add_tests(test, tests_by_name) end else tests_by_name[test_suite.name] = test_suite @blackboard.write_work Test::WorkUnit.new(test_suite) end end def read_results(result, tests_by_name) DeepTest.logger.debug("SupervisedTestSuite: going to read #{tests_by_name.size} results") result_times = {} missing_tests = ResultReader.new(@blackboard).read(tests_by_name) do |test, remote_result| result_times["#{test.method_name}(#{test.class.name})"] = remote_result.time remote_result.add_to result yield ::Test::Unit::TestCase::FINISHED, test.name if block_given? end longest_test_name_size = result_times.keys.map(&:size).sort.last if File.exist? "tmp" File.open(File.join("tmp", "test_times.txt"), "w") do |file| file.write result_times.sort_by {|n, t| t}.reverse.map {|n, t| n.ljust(longest_test_name_size + 1) + t.to_s.sub(/^(.*\.\d)\d.*/, '\1').rjust(9) + "\n"}.join end end missing_tests.each do |name, test_case| result.add_error ::Test::Unit::Error.new(name, WorkUnitNeverReceivedError.new) end ensure DeepTest.logger.debug("SupervisedTestSuite: exiting with #{missing_tests.size} results left") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jason-o-matic-deep_test-1.2.2.7 | lib/deep_test/test/supervised_test_suite.rb |