diff PerfsDb/Run.py @ 164:ff939d07989f

saving results
author am@osimis.io
date Mon, 20 Aug 2018 15:50:47 +0200
parents dbc42a03ee75
children 1ff0d830bb87
line wrap: on
line diff
--- a/PerfsDb/Run.py	Mon Aug 20 14:54:32 2018 +0200
+++ b/PerfsDb/Run.py	Mon Aug 20 15:50:47 2018 +0200
@@ -1,5 +1,8 @@
 import argparse
 import fnmatch
+import csv
+import datetime
+import os
 
 from ConfigFileBuilder import ConfigFileBuilder
 from TestConfig import TestConfig
@@ -149,16 +152,30 @@
             resultsByTestName[result.name] = {}
         resultsByTestName[result.name][configName] = result
 
-headerLine = "{empty:<40}|".format(empty="")
-for testConfig in selectedTestConfigs:
-    headerLine += "{configName:^15}|".format(configName=testConfig.label)
+resultFileName = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Results/run-" + datetime.datetime.now().strftime("%Y.%m.%d.%H.%M.%S"))
+
+with open(resultFileName, 'w', newline='') as resultFile:
+    resultWriter = csv.writer(resultFile)
+    resultHeaderRow = [""]
 
-print(headerLine)
+    headerLine = "{empty:<40}|".format(empty="")
+
+    for testConfig in selectedTestConfigs:
+        headerLine += "{configName:^15}|".format(configName=testConfig.label)
+        resultHeaderRow.append(configName)
 
-for testName in sorted(testNames):
-    resultLine = "{name:<40}|".format(name=testName)
-    for testConfig in selectedTestConfigs:
-        resultLine += "{avg:>11.2f} ms |".format(avg = resultsByTestName[testName][testConfig.label].averageTimeInMs)
-    print(resultLine)
+    print(headerLine)
+    resultWriter.writerow(resultHeaderRow)
 
-print("** Done")
+    for testName in sorted(testNames):
+        resultLine = "{name:<40}|".format(name=testName)
+        resultRow=[testName]
+        
+        for testConfig in selectedTestConfigs:
+            resultLine += "{avg:>11.2f} ms |".format(avg = resultsByTestName[testName][testConfig.label].averageTimeInMs)
+            resultRow.append(resultsByTestName[testName][testConfig.label].averageTimeInMs)
+        
+        print(resultLine)
+        resultWriter.writerow(resultRow)
+
+print("** Done; results saved in " + resultFileName)