summaryrefslogtreecommitdiff
path: root/piglit-merge-results.py
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-01-12 13:46:33 -0800
committerIan Romanick <ian.d.romanick@intel.com>2011-01-12 14:34:06 -0800
commit0b5c3c4a93eab395410dc6c4b161835dfc1265a1 (patch)
treed1548abcbe150eca8ef47bd14f32aa9298913255 /piglit-merge-results.py
parent430149709bfbe2266c0fc6590f5df07c1a38ae9a (diff)
Add script to merge two results directories
This is useful if you, say, run all of the GLSL parser tests in parallel with everything else.
Diffstat (limited to 'piglit-merge-results.py')
-rwxr-xr-xpiglit-merge-results.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/piglit-merge-results.py b/piglit-merge-results.py
new file mode 100755
index 000000000..4095e486c
--- /dev/null
+++ b/piglit-merge-results.py
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+#
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation
+# files (the "Software"), to deal in the Software without
+# restriction, including without limitation the rights to use,
+# copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following
+# conditions:
+#
+# This permission notice shall be included in all copies or
+# substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR(S) BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+
+from getopt import getopt, GetoptError
+import sys
+
+import framework.core as core
+
+
+
+#############################################################################
+##### Main program
+#############################################################################
+def usage():
+ USAGE = """\
+Usage: %(progName)s [options] [main results file]
+
+Options:
+ -h, --help Show this message
+
+Example:
+ %(progName)s results/main > results/summary
+"""
+ print USAGE % {'progName': sys.argv[0]}
+ sys.exit(1)
+
+def main():
+ env = core.Environment()
+
+ try:
+ options, args = getopt(sys.argv[1:], "h", [ "help" ])
+ except GetoptError:
+ usage()
+
+ OptionName = ''
+
+ for name, value in options:
+ if name in ('-h', '--help'):
+ usage()
+
+ if len(args) < 2:
+ usage()
+
+ combined = core.loadTestResults(args[0])
+ del args[0]
+
+ for resultsDir in args:
+ results = core.loadTestResults(resultsDir)
+
+ for testname, result in results.allTestResults().items():
+ combined.results[testname] = result
+
+ combined.write(sys.stdout)
+
+
+if __name__ == "__main__":
+ main()