Skip to content

Commit 424fbe5

Browse files
authored
Merge pull request #53 from figma/eliu/reconcile-logged-spot-failures
Reconcile test results before reporting
2 parents e297c05 + ebea7a3 commit 424fbe5

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

ruby/lib/ci/queue/redis/build_record.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ def failed_tests
2121
redis.hkeys(key('error-reports'))
2222
end
2323

24+
def passing_tests
25+
redis.lrange(key('list_of_test_names'), 0, -1)
26+
end
27+
2428
TOTAL_KEY = "___total___"
2529
def requeued_tests
2630
requeues = redis.hgetall(key('requeues-count'))

ruby/lib/minitest/queue/runner.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ def report_command
210210
end
211211
end
212212

213+
reconcile_test_results(supervisor.build)
214+
213215
reporter = BuildStatusReporter.new(build: supervisor.build)
214216

215217
if queue_config.failure_file
@@ -241,6 +243,15 @@ def report_command
241243
exit! reporter.success? && test_time_reporter_success ? 0 : 1
242244
end
243245

246+
def reconcile_test_results(build)
247+
passing_tests = build.passing_tests
248+
build.failed_tests.each do |test_id|
249+
if passing_tests.include?(test_id)
250+
build.record_success(test_id)
251+
end
252+
end
253+
end
254+
244255
def report_grind_command
245256
queue_config.build_id = queue_config.build_id + '-grind'
246257
@queue = CI::Queue::Redis::Grind.new(queue_url, queue_config)

0 commit comments

Comments
 (0)