lib/actir/parallel_tests/test/rerunner.rb in actir-1.2.2 vs lib/actir/parallel_tests/test/rerunner.rb in actir-1.2.3
- old
+ new
@@ -65,10 +65,12 @@
puts "[ Re_Run ] - [ #{testfile} -n #{testcase} ] - Left #{times-1} times - in Process[#{process_number}]"
cmd += "#{executable} #{testfile} #{address} -n #{testcase};"
end
#执行cmd,获取执行结果输出
result = execute_command(cmd, process_number, num_processes, options)
+ #从result中获取执行结果用于生成测试报告
+ @result.get_testsuite_detail(result, :rerunner)
#先判断是否还是失败,且未满足重试次数
times -= 1
if any_test_failed?(result) && times > 0
#递归
result = re_run(result, process_number, num_processes, options, address, times)
@@ -78,13 +80,10 @@
if options[:log]
log_str = "[re_run_tests]: \n" + result[:stdout]
Actir::ParallelTests::Test::Logger.log(log_str, process_number)
end
- #从result中获取执行结果用于生成测试报告
- @result.get_testsuite_detail(result, :rerunner)
-
return result
end
#从输出内容中获取失败用例文件名以及用例名称
def capture_failures_tests(test_result)
@@ -93,31 +92,9 @@
# 过滤报错信息,只需要用例名称和文件名称
failure_tests_hash.each do |testcase, failure_info|
failure_tests << testcase
end
failure_tests
- # result_array = test_result[:stdout].split("\n")
- # failure_tests_hash = {}
- # testcase = ""
- # testfile = ""
- # result_array.each do |result|
- # #取出执行失败的用例文件名称和用例名称
- # if (result =~ failure_tests_name_reg) || (result =~ error_tests_name_reg)
- # #范例:"testhehe(TestHehe)"
- # testcase = $1
- # end
- # if result =~ failure_tests_file_reg
- # #范例:"testcode/test_tt/test_hehe.rb:8:in `xxxx'"
- # testfile = $1
- # end
- # #至于为什么采用testcase => testfile的形式是因为…文件名会重复
- # if testcase != "" && testfile != ""
- # failure_tests_hash[testcase] = testfile
- # testcase = ""
- # testfile = ""
- # end
- # end
- # failure_tests_hash
end
#组合出最新的执行结果
#只需要将老结果中的failure和error的数据替换成新结果中的数据即可
def combine_tests_results(old_result, new_result)