summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-12 11:21:08 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-14 01:30:14 +0100
commitab2eb660925e3680e868c5f469a4ef32e6dd9a59 (patch)
tree2f56ce8621a1322ebd00f9f10fe25b3bae7187e6 /templates
parentf662de5e3d45877aeef4c680224b90033cdb4ba3 (diff)
framework: Add support for a test timeout
i-g-t tests can take a long time, and for a bunch of reasons (bad tuning on disparate set of platforms, stuck in the kernel which often can be recovered by interrupting with a signal, ...) that sometimes extends to a good approximation of forever. Hence this adds a per-test timeout value and a bit of infrastructure to adjust the results. Test results adjusting is done after calling interpretResult so that we don't have to replicate this all over the place. This might need to be adjusted for the piglit-native subtest stuff, but otoh igt is a bit special with it's crazy long-running tests. So I think we can fix this once it's actually needed. The default timeout is None, so this is purely opt-in. Note on the implementation: SIG_ALARM doesn't exists on Windows and stackoverflow overwhelmingly recommended to go with this thread-based approach here. But only tested on my Linux box here. I've also timed quick.tests run a bit and the overhead due to the additional thread we launch seems to be in the wash. So I didn't opt to make the thread launching optional if there's no timeout limit. v2: Also add all the boilerplate needed to handle the new test status in summaries. For the color I've opted for two shades of light blue, they nicely stick out from the current selection. v3: Fix GLSLParserTest and ShaderTest. They both derive from PlainExecTest but only call the __init__ function of the Test baseclass. I haven't really figured why this is and also not really what command I should pass to PlainExecTest.__init__, so just replicated the init code for now. v4: Initialize timeout earlier for tests where we use the ENOENT handling to skip them. Fix up the out, err passing from the thread. Apparently my idea of how python closures work was completely misguided - like with a function call a closure captures a copy of of a reference pointing at the original object. So assinging anything to them won't have any effect outside of the lambda. Hence we need to jump through hoops and pass an array around. Nicer fix would be to create a class or something, but that seems like overkill. v5: Fixup the fraction setting in status.py Reviewed-by: Dylan Baker <baker.dylan.c@gmail.com> Cc: Dylan Baker <baker.dylan.c@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'templates')
-rw-r--r--templates/index.css5
1 files changed, 4 insertions, 1 deletions
diff --git a/templates/index.css b/templates/index.css
index 577370cec..3389738ab 100644
--- a/templates/index.css
+++ b/templates/index.css
@@ -36,7 +36,7 @@ td:first-child > div {
background-color: #c8c838
}
-td.skip, td.warn, td.fail, td.pass, td.trap, td.abort, td.crash, td.dmesg-warn, td.dmesg-fail {
+td.skip, td.warn, td.fail, td.pass, td.trap, td.abort, td.crash, td.dmesg-warn, td.dmesg-fail, td.timeout {
text-align: right;
}
@@ -67,6 +67,9 @@ tr:nth-child(even) td.fail { background-color: #e00505; }
tr:nth-child(odd) td.dmesg-fail { background-color: #ff2020; }
tr:nth-child(even) td.dmesg-fail { background-color: #e00505; }
+tr:nth-child(odd) td.timeout { background-color: #83bdf6; }
+tr:nth-child(even) td.timeout { background-color: #4a9ef2; }
+
tr:nth-child(odd) td.trap { background-color: #111111; }
tr:nth-child(even) td.trap { background-color: #000000; }
tr:nth-child(odd) td.abort { background-color: #111111; }