Changeset 82649 in vbox for trunk/src/VBox/ValidationKit/testmanager/webui
- Timestamp:
- Dec 23, 2019 8:54:32 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 135538
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testmanager/webui/wuireport.py
r82646 r82649 176 176 fTailoredForGoogleCharts = True; 177 177 178 # 179 # Get the data and check if we have anything in the 'skipped' category. 180 # 178 181 adPeriods = self._oModel.getSuccessRates(); 179 182 180 sReport = ''; 181 182 oTable = WuiHlpGraphDataTable('When', [ 'Succeeded', 'Skipped', 'Failed' ]); 183 184 #for i in range(len(adPeriods) - 1, -1, -1): 183 cTotalSkipped = 0; 184 for dStatuses in adPeriods: 185 cTotalSkipped += dStatuses[ReportModelBase.ksTestStatus_Skipped]; 186 187 # 188 # Output some general stats before the graphs. 189 # 190 cTotalNow = adPeriods[0][ReportModelBase.ksTestStatus_Success]; 191 cTotalNow += adPeriods[0][ReportModelBase.ksTestStatus_Skipped]; 192 cSuccessNow = cTotalNow; 193 cTotalNow += adPeriods[0][ReportModelBase.ksTestStatus_Failure]; 194 195 sReport = '<p>Current success rate: '; 196 if cTotalNow > 0: 197 cSkippedNow = adPeriods[0][ReportModelBase.ksTestStatus_Skipped]; 198 if cSkippedNow > 0: 199 sReport += '%s (thereof %s skipped)</p>\n' \ 200 % (self.fmtPct(cSuccessNow, cTotalNow), self.fmtPct(cSkippedNow, cTotalNow),); 201 else: 202 sReport += '%s (none skipped)</p>\n' % (self.fmtPct(cSuccessNow, cTotalNow),); 203 else: 204 sReport += 'N/A</p>\n' 205 206 # 207 # Create the data table. 208 # 209 if fTailoredForGoogleCharts: 210 if cTotalSkipped > 0: 211 oTable = WuiHlpGraphDataTable(None, [ 'Succeeded', 'Skipped', 'Failed' ]); 212 else: 213 oTable = WuiHlpGraphDataTable(None, [ 'Succeeded', 'Failed' ]); 214 else: 215 if cTotalSkipped > 0: 216 oTable = WuiHlpGraphDataTable('When', [ 'Succeeded', 'Skipped', 'Failed' ]); 217 else: 218 oTable = WuiHlpGraphDataTable('When', [ 'Succeeded', 'Failed' ]); 219 185 220 for i, dStatuses in enumerate(adPeriods): 186 221 cSuccesses = dStatuses[ReportModelBase.ksTestStatus_Success]; … … 192 227 sPeriod = self._oModel.getPeriodDesc(i); 193 228 if fTailoredForGoogleCharts: 194 oTable.addRow(sPeriod, 195 [ cSuccesses * 100 // cTotal if cTotal else 0, 196 cSkipped * 100 // cTotal if cTotal else 0, 197 cFailures * 100 // cTotal if cTotal else 0, ], 198 [ self.fmtPct(cSuccesses, cTotal) if cSuccesses else None, 199 self.fmtPct(cSkipped, cTotal) if cSkipped else None, 200 self.fmtPct(cFailures, cTotal) if cFailures else None, ]); 201 202 else: 203 if cTotal > 0: 229 if cTotalSkipped > 0: 230 oTable.addRow(sPeriod, 231 [ cSuccesses * 100 // cTotal if cTotal else 0, 232 cSkipped * 100 // cTotal if cTotal else 0, 233 cFailures * 100 // cTotal if cTotal else 0, ], 234 [ self.fmtPct(cSuccesses, cTotal) if cSuccesses else None, 235 self.fmtPct(cSkipped, cTotal) if cSkipped else None, 236 self.fmtPct(cFailures, cTotal) if cFailures else None, ]); 237 else: 238 oTable.addRow(sPeriod, 239 [ cSuccesses * 100 // cTotal if cTotal else 0, 240 cFailures * 100 // cTotal if cTotal else 0, ], 241 [ self.fmtPct(cSuccesses, cTotal) if cSuccesses else None, 242 self.fmtPct(cFailures, cTotal) if cFailures else None, ]); 243 elif cTotal > 0: 244 if cTotalSkipped > 0: 204 245 oTable.addRow(sPeriod, 205 246 [ cSuccesses * 100 // cTotal, … … 210 251 self.fmtPctWithHits(cFailures, cTotal), ]); 211 252 else: 212 oTable.addRow(sPeriod, [ 0, 0, 0 ], [ '0%', '0%', '0%' ]);213 214 cTotalNow = adPeriods[0][ReportModelBase.ksTestStatus_Success];215 cTotalNow += adPeriods[0][ReportModelBase.ksTestStatus_Skipped];216 cSuccessNow = cTotalNow;217 cTotalNow += adPeriods[0][ReportModelBase.ksTestStatus_Failure];218 sReport += '<p>Current success rate: ';219 if cTotalNow > 0:220 sReport += '%s%% (thereof %s%% skipped)</p>\n' \221 % ( cSuccessNow * 100 // cTotalNow, adPeriods[0][ReportModelBase.ksTestStatus_Skipped] * 100 // cTotalNow); 222 else:223 sReport += 'N/A</p>\n'224 253 oTable.addRow(sPeriod, 254 [ cSuccesses * 100 // cTotal, 255 cFailures * 100 // cTotal, ], 256 [ self.fmtPctWithHits(cSuccesses, cTotal), 257 self.fmtPctWithHits(cFailures, cTotal), ]); 258 elif cTotalSkipped > 0: 259 oTable.addRow(sPeriod, [ 0, 0, 0 ], [ '0%', '0%', '0%' ]); 260 else: 261 oTable.addRow(sPeriod, [ 0, 0 ], [ '0%', '0%' ]); 262 263 # 264 # Render the graph. 265 # 225 266 oGraph = WuiHlpBarGraph('success-rate', oTable, self._oDisp); 226 267 oGraph.setRangeMax(100); … … 231 272 # 232 273 if fTailoredForGoogleCharts: 233 oTable = WuiHlpGraphDataTable(None, [ 'Succeeded', 'Skipped', 'Failed' ]); 274 if cTotalSkipped > 0: 275 oTable = WuiHlpGraphDataTable(None, [ 'Succeeded', 'Skipped', 'Failed' ]); 276 else: 277 oTable = WuiHlpGraphDataTable(None, [ 'Succeeded', 'Failed' ]); 234 278 for i, dStatuses in enumerate(adPeriods): 235 279 cSuccesses = dStatuses[ReportModelBase.ksTestStatus_Success]; … … 237 281 cSkipped = dStatuses[ReportModelBase.ksTestStatus_Skipped]; 238 282 239 oTable.addRow(self._oModel.getPeriodDesc(i), 240 [ cSuccesses, cSkipped, cFailures, ], 241 [ str(cSuccesses) if cSuccesses > 0 else None, 242 str(cSkipped) if cSkipped > 0 else None, 243 str(cFailures) if cFailures > 0 else None, ]); 283 if cTotalSkipped > 0: 284 oTable.addRow(None, #self._oModel.getPeriodDesc(i), 285 [ cSuccesses, cSkipped, cFailures, ], 286 [ str(cSuccesses) if cSuccesses > 0 else None, 287 str(cSkipped) if cSkipped > 0 else None, 288 str(cFailures) if cFailures > 0 else None, ]); 289 else: 290 oTable.addRow(None, #self._oModel.getPeriodDesc(i), 291 [ cSuccesses, cFailures, ], 292 [ str(cSuccesses) if cSuccesses > 0 else None, 293 str(cFailures) if cFailures > 0 else None, ]); 244 294 oGraph = WuiHlpBarGraph('success-numbers', oTable, self._oDisp); 295 oGraph.invertYDirection(); 245 296 sReport += oGraph.renderGraph(); 246 297
Note:
See TracChangeset
for help on using the changeset viewer.