aboutsummaryrefslogtreecommitdiff
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)
downloadpiglit-0b5c3c4a93eab395410dc6c4b161835dfc1265a1.tar.gz
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 00000000..4095e486
--- /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()