Files
clang-p2996/llvm/utils/lit/tests/Inputs/test_retry_attempts/test.py
Louis Dionne f951b0f82d [lit] Add builtin support for flaky tests in lit
This commit adds a new keyword in lit called ALLOW_RETRIES. This keyword
takes a single integer as an argument, and it allows the test to fail that
number of times before it first succeeds.

This work attempts to make the existing test_retry_attempts more flexible
by allowing by-test customization, as well as eliminate libc++'s FLAKY_TEST
custom logic.

Differential Revision: https://reviews.llvm.org/D76288
2020-03-18 18:04:01 -04:00

23 lines
553 B
Python

# RUN: "%python" "%s" "%counter"
import sys
import os
counter_file = sys.argv[1]
# The first time the test is run, initialize the counter to 1.
if not os.path.exists(counter_file):
with open(counter_file, 'w') as counter:
counter.write("1")
# Succeed if this is the fourth time we're being run.
with open(counter_file, 'r') as counter:
num = int(counter.read())
if num == 4:
sys.exit(0)
# Otherwise, increment the counter and fail
with open(counter_file, 'w') as counter:
counter.write(str(num + 1))
sys.exit(1)