If something bad happens, hang the box, and we need to resume (because
we still want to run as many tests as possible), we want to exclude the
test that can deterministically hang.

For that to work, while still keeping the filters from the original
invocation, we need to merge the filters from both the result file and
the command line.

Signed-off-by: Damien Lespiau <[email protected]>
---
 piglit-run.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/piglit-run.py b/piglit-run.py
index 1d63cd4..d11d409 100755
--- a/piglit-run.py
+++ b/piglit-run.py
@@ -99,10 +99,15 @@ def main():
         old_results = core.load_results(resultsDir)
         profileFilename = old_results.options['profile']
 
-        # Changing the args to the old args allows us to set them
-        # all in one places down the way
-        args.exclude_tests = old_results.options['exclude_filter']
-        args.include_tests = old_results.options['filter']
+        # Append the test filters that were given in previous runs to the ones
+        # given in the resume invocation
+        for f in old_results.options['exclude_filter']:
+            if f not in args.exclude_tests:
+                args.exclude_tests.append(f)
+
+        for f in old_results.options['filter']:
+            if f not in args.include_tests:
+                args.include_tests.append(f)
 
     # Otherwise parse additional settings from the command line
     else:
-- 
1.8.3.1

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to