aboutsummaryrefslogtreecommitdiff
path: root/libcxx
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2018-12-30 23:05:14 +0000
committerKamil Rytarowski <n54@gmx.com>2018-12-30 23:05:14 +0000
commit2803bcf5b0db78ef39fd74e7cc01aea766d1df34 (patch)
tree0e4d6745e89751396e612cc16169208378d82421 /libcxx
parent[AArch64] Implement the .arch_extension directive (diff)
downloadllvm-project-2803bcf5b0db78ef39fd74e7cc01aea766d1df34.tar.gz
llvm-project-2803bcf5b0db78ef39fd74e7cc01aea766d1df34.tar.bz2
llvm-project-2803bcf5b0db78ef39fd74e7cc01aea766d1df34.zip
More tolerance for flaky tests in libc++ on NetBSD
Summary: Tests marked with the flaky attribute ("FLAKY_TEST.") can still report false positives in local tests and on the NetBSD buildbot. Additionally a number of tests (probably all threaded ones) unmarked with the flaky attribute is flaky on NetBSD. An ideal solution on the libcxx side would be to raise max retries for NetBSD and mark failing tests with the flaky flag, however this adds more maintenance burden and constant monitoring of flaky tests. Reduce the work and handle flaky tests as more flaky on NetBSD and allow flakiness of other tests on NetBSD. Reviewers: mgorny, EricWF Reviewed By: mgorny Subscribers: christof, llvm-commits, libcxx-commits Differential Revision: https://reviews.llvm.org/D56064 llvm-svn: 350170
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/utils/libcxx/test/format.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/libcxx/utils/libcxx/test/format.py b/libcxx/utils/libcxx/test/format.py
index 6a334ac31cf4..46b2e46ac8c2 100644
--- a/libcxx/utils/libcxx/test/format.py
+++ b/libcxx/utils/libcxx/test/format.py
@@ -12,6 +12,7 @@ import errno
import os
import time
import random
+import platform
import lit.Test # pylint: disable=import-error
import lit.TestRunner # pylint: disable=import-error
@@ -202,6 +203,12 @@ class LibcxxTestFormat(object):
for f in os.listdir(local_cwd) if f.endswith('.dat')]
is_flaky = self._get_parser('FLAKY_TEST.', parsers).getValue()
max_retry = 3 if is_flaky else 1
+
+ # LIBC++ tests tend to be more flaky on NetBSD, so add more retries.
+ # We don't do this on other platforms because it's slower.
+ if platform.system() in ['NetBSD']:
+ max_retry = max_retry * 3
+
for retry_count in range(max_retry):
cmd, out, err, rc = self.executor.run(exec_path, [exec_path],
local_cwd, data_files,