[PATCH] Add per-test timeouts to lit

Jonathan Roelofs jonathan at codesourcery.com
Thu May 28 09:25:14 PDT 2015


> Leading question: If a shell command guarded by a Watchdog exits scope via an exception should Watchdog.cancel() be called?


I think in this case, the watchdog should kill all the processes it was watching.

> I think the Watchdog should provide a factory function that can be used in a with statement.


Oooh, I like it.


================
Comment at: utils/lit/lit/util.py:35
@@ +34,3 @@
+
+    def _handler(self):
+        with self._lock:
----------------
EricWF wrote:
> I'm not sure if this matters, but I want to clarify what is considered a "timeout failure". For example, what if the timers invokes the handler but every open process has already finished? Should this be considered a timeout?
> 
I consider a "timeout failure" to happen when the timer runs out //before// `cancel()` is called, regardless of whether the handler had to kill anything.

================
Comment at: utils/lit/lit/util.py:226
@@ -169,1 +225,3 @@
 
+    if timeout is not None:
+        wd.cancel()
----------------
EricWF wrote:
> Should this call to cancel be exception safe? 
'exception safe' in what sense... do you expect the timer cancellation to throw?

or did you mean 'thread safe'?

http://reviews.llvm.org/D6584

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list