annotate PerfsDb/Run.py @ 162:dbc42a03ee75

more perfs db tests
author am@osimis.io
date Mon, 20 Aug 2018 14:23:54 +0200
parents 27b3b0df5f90
children ff939d07989f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
1 import argparse
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
2 import fnmatch
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
3
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
4 from ConfigFileBuilder import ConfigFileBuilder
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
5 from TestConfig import TestConfig
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
6 from Tests import *
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
7 from DbServer import DbServer
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
8 from DbType import DbType
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
9 from DbSize import DbSize
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
10
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
11
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
12 allTestConfigs = [
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
13 TestConfig(label= "mysql-small", dbSize=DbSize.Small, dbServer=DbServer(dbType=DbType.MySQL, port=2000)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
14 TestConfig(label= "pg9-small", dbSize=DbSize.Small, dbServer=DbServer(dbType=DbType.PG9, port=2001)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
15 TestConfig(label= "pg10-small", dbSize=DbSize.Small, dbServer=DbServer(dbType=DbType.PG10, port=2002)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
16 TestConfig(label= "pg11-small", dbSize=DbSize.Small, dbServer=DbServer(dbType=DbType.PG11, port=2003)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
17 TestConfig(label= "mssql-small", dbSize=DbSize.Small, dbServer=DbServer(dbType=DbType.MSSQL, port=2004)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
18 TestConfig(label= "sqlite-small", dbSize=DbSize.Small, dbType=DbType.Sqlite),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
19 TestConfig(label= "sqliteplugin-small", dbSize=DbSize.Small, dbType=DbType.SqlitePlugin),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
20
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
21 TestConfig(label= "mysql-tiny", dbSize=DbSize.Tiny, dbServer=DbServer(dbType=DbType.MySQL, port=3000)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
22 TestConfig(label= "pg9-tiny", dbSize=DbSize.Tiny, dbServer=DbServer(dbType=DbType.PG9, port=3001)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
23 TestConfig(label= "pg10-tiny", dbSize=DbSize.Tiny, dbServer=DbServer(dbType=DbType.PG10, port=3002)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
24 TestConfig(label= "pg11-tiny", dbSize=DbSize.Tiny, dbServer=DbServer(dbType=DbType.PG11, port=3003)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
25 TestConfig(label= "mssql-tiny", dbSize=DbSize.Tiny, dbServer=DbServer(dbType=DbType.MSSQL, port=3004)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
26 TestConfig(label= "sqlite-tiny", dbSize=DbSize.Tiny, dbType=DbType.Sqlite),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
27 TestConfig(label= "sqliteplugin-tiny", dbSize=DbSize.Tiny, dbType=DbType.SqlitePlugin),
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
28
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
29 TestConfig(label= "mysql-medium", dbSize=DbSize.Medium, dbServer=DbServer(dbType=DbType.MySQL, port=4000)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
30 TestConfig(label= "pg9-medium", dbSize=DbSize.Medium, dbServer=DbServer(dbType=DbType.PG9, port=4001)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
31 TestConfig(label= "pg10-medium", dbSize=DbSize.Medium, dbServer=DbServer(dbType=DbType.PG10, port=4002)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
32 TestConfig(label= "pg11-medium", dbSize=DbSize.Medium, dbServer=DbServer(dbType=DbType.PG11, port=4003)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
33 TestConfig(label= "mssql-medium", dbSize=DbSize.Medium, dbServer=DbServer(dbType=DbType.MSSQL, port=4004)),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
34 TestConfig(label= "sqlite-medium", dbSize=DbSize.Medium, dbType=DbType.Sqlite),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
35 TestConfig(label= "sqliteplugin-medium", dbSize=DbSize.Medium, dbType=DbType.SqlitePlugin),
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
36
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
37 TestConfig(label= "mysql-large", dbSize=DbSize.Large, dbServer=DbServer(dbType=DbType.MySQL, port=5000)),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
38 TestConfig(label= "pg9-large", dbSize=DbSize.Large, dbServer=DbServer(dbType=DbType.PG9, port=5001)),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
39 TestConfig(label= "pg10-large", dbSize=DbSize.Large, dbServer=DbServer(dbType=DbType.PG10, port=5002)),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
40 TestConfig(label= "pg11-large", dbSize=DbSize.Large, dbServer=DbServer(dbType=DbType.PG11, port=5003)),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
41 TestConfig(label= "mssql-large", dbSize=DbSize.Large, dbServer=DbServer(dbType=DbType.MSSQL, port=5004)),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
42 TestConfig(label= "sqlite-large", dbSize=DbSize.Large, dbType=DbType.Sqlite),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
43 TestConfig(label= "sqliteplugin-large", dbSize=DbSize.Large, dbType=DbType.SqlitePlugin),
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
44 ]
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
45
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
46 allTests = [
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
47 TestStatistics(),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
48 TestFindStudyByStudyDescription1Result(),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
49 TestFindStudyByPatientId1Result(),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
50 TestFindStudyByStudyDescription0Results(),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
51 TestFindStudyByPatientId0Results(),
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
52 TestFindStudyByPatientId5Results(),
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
53 TestUploadNextPatientFile(),
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
54 TestUploadFirstPatientFile(),
162
dbc42a03ee75 more perfs db tests
am@osimis.io
parents: 161
diff changeset
55 TestUploadLargeFile10MB(),
dbc42a03ee75 more perfs db tests
am@osimis.io
parents: 161
diff changeset
56 TestToolsFindStudyByStudyInstanceUID(),
dbc42a03ee75 more perfs db tests
am@osimis.io
parents: 161
diff changeset
57 TestToolsFindPatientByPatientID()
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
58 ]
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
59
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
60 selectedTestConfigs = []
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
61 selectedTests = []
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
62
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
63 parser = argparse.ArgumentParser(description = "Initializes/Runs/Clears PerfsDb setup.")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
64
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
65 # create a cli option for each config
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
66 for testConfig in allTestConfigs:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
67 parser.add_argument("--" + testConfig.label, action = "store_true")
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
68
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
69 parser.add_argument("--init", help = "initializes DBs", action = "store_true")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
70 parser.add_argument("--run", help = "runs tests", action = "store_true")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
71 parser.add_argument("--clear", help = "clear DBs", action = "store_true")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
72
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
73 parser.add_argument("--orthanc-path", help = "path to the folder containing Orthanc executable", default=".")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
74 parser.add_argument("--plugins-path", help = "path to the folder containing Orthanc executable", default=".")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
75 parser.add_argument("--repeat", help = "number of times to repeat each test to average timings", type=int, default=50)
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
76 parser.add_argument("--test-filter", help = "filter tests by names (wildcards are allowed)", default="*")
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
77 parser.add_argument("--verbose", help = "start Orthanc in verbose mode", action = "store_true")
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
78 parser.add_argument("--trace", help = "start Orthanc in trace mode", action = "store_true")
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
79
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
80 args = parser.parse_args()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
81
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
82 for testConfig in allTestConfigs:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
83 if args.__dict__[testConfig.label.replace("-", "_")]:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
84 selectedTestConfigs.append(testConfig)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
85
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
86 # if no test config specified, take them all
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
87 if len(selectedTestConfigs) == 0:
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
88 selectedTestConfigs = allTestConfigs
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
89
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
90 selectedTestConfigs.sort(key=lambda x: x.label)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
91
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
92 # filter tests
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
93 for test in allTests:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
94 if fnmatch.fnmatch(test.name, args.test_filter):
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
95 selectedTests.append(test)
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
96
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
97 selectedTests.sort(key=lambda x: x.name)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
98
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
99 # if no action specified, it means only run
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
100 if not (args.init | args.run | args.clear):
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
101 args.init = False
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
102 args.run = True
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
103 args.clear = False
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
104
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
105 print("***** Orthanc *******")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
106 print("path :", args.orthanc_path)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
107
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
108 results = {}
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
109
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
110 for testConfig in selectedTestConfigs:
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
111 testConfig.setRepeatCount(args.repeat)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
112
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
113 print("======= " + testConfig.label + " ========")
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
114
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
115 if args.clear:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
116 print("** Clearing Db")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
117 testConfig.clearDb()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
118
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
119 if args.init or args.run:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
120 print("** Generating config files")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
121 testConfig.generateOrthancConfigurationFile(args.plugins_path)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
122
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
123 print("** Launching DbServer")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
124 testConfig.launchDbServer()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
125
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
126 print("** Launching Orthanc")
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 160
diff changeset
127 orthancWasAlreadyRunning = not testConfig.launchOrthanc(args.orthanc_path, verboseEnabled=args.verbose, traceEnabled=args.trace)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
128 if orthancWasAlreadyRunning and len(selectedTestConfigs) > 1:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
129 print("Error: Can't execute multiple configuration on already running Orthanc. Exit Orthanc and let this script start Orthanc instances")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
130 exit(-1)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
131
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
132 if args.init:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
133 testConfig.initializeDb()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
134
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
135 if args.run:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
136 print("** Runnnig tests")
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
137 results[testConfig.label] = testConfig.runTests(selectedTests)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
138
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
139 print("** Stopping Orthanc")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
140 testConfig.stopOrthanc()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
141
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
142 print("++++++++++++++ results summary +++++++++++++++")
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
143 testNames = set()
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
144 resultsByTestName = {}
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
145 for configName, configResult in results.items():
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
146 for result in configResult:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
147 testNames.add(result.name)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
148 if not result.name in resultsByTestName:
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
149 resultsByTestName[result.name] = {}
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
150 resultsByTestName[result.name][configName] = result
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
151
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
152 headerLine = "{empty:<40}|".format(empty="")
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
153 for testConfig in selectedTestConfigs:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
154 headerLine += "{configName:^15}|".format(configName=testConfig.label)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
155
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
156 print(headerLine)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
157
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
158 for testName in sorted(testNames):
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
159 resultLine = "{name:<40}|".format(name=testName)
160
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
160 for testConfig in selectedTestConfigs:
6995d5d12d88 filtering tests
am@osimis.io
parents: 158
diff changeset
161 resultLine += "{avg:>11.2f} ms |".format(avg = resultsByTestName[testName][testConfig.label].averageTimeInMs)
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
162 print(resultLine)
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
163
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents:
diff changeset
164 print("** Done")