[PATCH] D89020: [lit] Try to remove the flakeyness of `shtest-timeout.py` and `googletest-timeout.py`.

Dan Liew via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 7 17:23:57 PDT 2020


delcypher created this revision.
delcypher added reviewers: dblaikie, yln, jroelofs, cmatthews, MatzeB, mehdi_amini.
Herald added a project: LLVM.
delcypher requested review of this revision.

The tests previously relied on the `short.py` and `FirstTest.subTestA`
script being executed on a machine within a short time window (1 or 2
seconds). While this "seems to work" it can fail on resource constrained
machines. We could bump the timeout a little bit (bumping it too
much would mean the test would take a long time to execute) but it wouldn't
really solve the problem of the test being prone to failures.

This patch tries to remove this flakeyness by separating testing into
two separate parts:

1. Testing if a test can hit a timeout.
2. Testing if a test can run to completion in the presence of a

timeout.

This way we can give (1.) a really short timeout (to make the test run
as fast as possible) and (2.) a really long timeout. This means for (2.)
we are no longer trying to rely on the "short" test executing within
some short time window. Instead the window is now 3600 seconds which
should be long enough even for a heavily resource constrained machine to
execute the "short" test.

Thanks to Julian Lettner for suggesting this approach. This superseeds
my original approach in https://reviews.llvm.org/D88807.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89020

Files:
  llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py
  llvm/utils/lit/tests/googletest-timeout.py
  llvm/utils/lit/tests/shtest-timeout.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89020.296833.patch
Type: text/x-patch
Size: 8975 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201008/8052dd0c/attachment.bin>


More information about the llvm-commits mailing list