From fbe12ba748afd2aaaf8426c310093a2c2cf9ab57 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Tue, 13 Aug 2019 15:57:29 -0400 Subject: [PATCH 1/2] Take a shot at really timing out the PyPy job. --- .circleci/run-tests.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.circleci/run-tests.sh b/.circleci/run-tests.sh index 6d9362967..c26acdcbc 100755 --- a/.circleci/run-tests.sh +++ b/.circleci/run-tests.sh @@ -43,6 +43,17 @@ else JUNITXML="" fi +# A prefix for the test command that ensure it will exit after no more than a +# certain amount of time. Ideally, we would only enforce a "silent" period +# timeout but there isn't obviously a ready-made tool for that. The test +# suite only takes about 5 - 6 minutes on CircleCI right now. 15 minutes +# seems like a moderately safe window. +# +# This is primarily aimed at catching hangs on the PyPy job which runs for +# about 21 minutes and then gets killed by CircleCI in a way that fails the +# job and bypasses our "allowed failure" logic. +TIMEOUT="timeout --kill-after 1m 15m" + # Run the test suite as a non-root user. This is the expected usage some # small areas of the test suite assume non-root privileges (such as unreadable # files being unreadable). @@ -63,7 +74,7 @@ else alternative="false" fi -${BOOTSTRAP_VENV}/bin/tox \ +${TIMEOUT} ${BOOTSTRAP_VENV}/bin/tox \ -c ${PROJECT_ROOT}/tox.ini \ --workdir /tmp/tahoe-lafs.tox \ -e "${TAHOE_LAFS_TOX_ENVIRONMENT}" \ From 79c99e1cded1d648bec1d3cb50c8d528d17515a1 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Tue, 13 Aug 2019 15:58:38 -0400 Subject: [PATCH 2/2] news fragment --- newsfragments/3238.minor | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsfragments/3238.minor diff --git a/newsfragments/3238.minor b/newsfragments/3238.minor new file mode 100644 index 000000000..e69de29bb