Changeset 65074 in vbox for trunk/src/VBox/ValidationKit/testmanager
- Timestamp:
- Jan 3, 2017 11:50:44 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 112576
- Location:
- trunk/src/VBox/ValidationKit/testmanager/core
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testmanager/core/base.py
r65053 r65074 1241 1241 elif oCriterion.sType == FilterCriterion.ksType_String: 1242 1242 oCriterion.aoSelected = oDisp.getListOfStrParams(oCriterion.sVarNm, asDefaults = []); 1243 if len(oCriterion.aoSelected) > 100: 1244 raise TMExceptionBase('Variable %s has %u value, max allowed is 100!' 1245 % (oCriterion.sVarNm, len(oCriterion.aoSelected))); 1246 for sValue in oCriterion.aoSelected: 1247 if len(sValue) > 64 \ 1248 or '\'' in sValue \ 1249 or sValue[-1] == '\\': 1250 raise TMExceptionBase('Variable %s has an illegal value "%s"!' % (oCriterion.sVarNm, sValue)); 1243 1251 else: 1244 1252 assert False; -
trunk/src/VBox/ValidationKit/testmanager/core/report.py
r65054 r65074 864 864 Fetches possible filtering options. 865 865 """ 866 return TestResultLogic(self._oDb).fetchPossibleFilterOptions(oFilter, tsNow, sPeriod );866 return TestResultLogic(self._oDb).fetchPossibleFilterOptions(oFilter, tsNow, sPeriod, oReportModel = self); 867 867 868 868 -
trunk/src/VBox/ValidationKit/testmanager/core/testresults.py
r65054 r65074 41 41 TMExceptionBase, TMTooManyRows, TMRowNotFound; 42 42 from testmanager.core.testgroup import TestGroupData; 43 from testmanager.core.build import BuildDataEx, BuildCategoryData, BuildLogic , BuildCategoryLogic;43 from testmanager.core.build import BuildDataEx, BuildCategoryData, BuildLogic; 44 44 from testmanager.core.failurereason import FailureReasonLogic; 45 45 from testmanager.core.testbox import TestBoxData, TestBoxLogic; … … 1438 1438 return None 1439 1439 1440 def fetchPossibleFilterOptions(self, oFilter, tsNow, sPeriod ):1440 def fetchPossibleFilterOptions(self, oFilter, tsNow, sPeriod, oReportModel = None): 1441 1441 """ 1442 1442 Fetches the available filter criteria, given the current filtering. … … 1445 1445 """ 1446 1446 assert isinstance(oFilter, TestResultFilter); 1447 1448 # Hack to avoid lot's of conditionals or duplicate this code. 1449 if oReportModel is None: 1450 class DummyReportModel(object): 1451 """ Dummy """ 1452 def getExtraSubjectTables(self): 1453 """ Dummy """ 1454 return []; 1455 def getExtraSubjectWhereExpr(self): 1456 """ Dummy """ 1457 return ''; 1458 oReportModel = DummyReportModel(); 1447 1459 1448 1460 def workerDoFetch(oMissingLogicType, sNameAttr = 'sName', fIdIsName = False): … … 1471 1483 self._oDb.execute('SELECT TestSets.enmStatus, TestSets.enmStatus, COUNT(TestSets.idTestSet)\n' 1472 1484 'FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiTestStatus) + 1485 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1473 1486 'WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod) + 1474 1487 oFilter.getWhereConditions(iOmit = TestResultFilter.kiTestStatus) + 1488 oReportModel.getExtraSubjectWhereExpr() + 1475 1489 'GROUP BY TestSets.enmStatus\n' 1476 1490 'ORDER BY TestSets.enmStatus\n'); … … 1483 1497 ' MAX(TestSets.tsCreated) AS tsNow\n' 1484 1498 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiSchedGroups) + 1499 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1485 1500 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1486 1501 oFilter.getWhereConditions(iOmit = TestResultFilter.kiSchedGroups) + 1502 oReportModel.getExtraSubjectWhereExpr() + 1487 1503 ' GROUP BY TestSets.idSchedGroup\n' 1488 1504 ' ) AS SchedGroupIDs\n' … … 1500 1516 ' MAX(TestSets.idGenTestBox) AS idGenTestBox\n' 1501 1517 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiTestBoxes) + 1518 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1502 1519 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1503 1520 oFilter.getWhereConditions(iOmit = TestResultFilter.kiTestBoxes) + 1521 oReportModel.getExtraSubjectWhereExpr() + 1504 1522 ' GROUP BY TestSets.idTestBox\n' 1505 1523 ' ) AS TestBoxIDs\n' … … 1514 1532 'FROM ( SELECT DISTINCT TestSets.idGenTestBox\n' 1515 1533 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiOses) + 1534 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1516 1535 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1517 1536 oFilter.getWhereConditions(iOmit = TestResultFilter.kiOses) + 1537 oReportModel.getExtraSubjectWhereExpr() + 1518 1538 ' ) AS TestBoxGenIDs\n' 1519 1539 ' LEFT OUTER JOIN TestBoxesWithStrings\n' … … 1527 1547 'FROM ( SELECT DISTINCT TestSets.idGenTestBox AS idGenTestBox\n' 1528 1548 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiOsVersions) + 1549 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1529 1550 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1530 1551 oFilter.getWhereConditions(iOmit = TestResultFilter.kiOsVersions) + 1552 oReportModel.getExtraSubjectWhereExpr() + 1531 1553 ' ) AS TestBoxGenIDs\n' 1532 1554 ' LEFT OUTER JOIN TestBoxesWithStrings\n' … … 1540 1562 'FROM ( SELECT DISTINCT TestSets.idGenTestBox\n' 1541 1563 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiCpuArches) + 1564 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1542 1565 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1543 1566 oFilter.getWhereConditions(iOmit = TestResultFilter.kiCpuArches) + 1567 oReportModel.getExtraSubjectWhereExpr() + 1544 1568 ' ) AS TestBoxGenIDs\n' 1545 1569 ' LEFT OUTER JOIN TestBoxesWithStrings\n' … … 1553 1577 'FROM ( SELECT DISTINCT TestSets.idGenTestBox\n' 1554 1578 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiCpuVendors) + 1579 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1555 1580 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1556 1581 oFilter.getWhereConditions(iOmit = TestResultFilter.kiCpuVendors) + 1582 oReportModel.getExtraSubjectWhereExpr() + 1557 1583 ' ) AS TestBoxGenIDs\n' 1558 1584 ' LEFT OUTER JOIN TestBoxesWithStrings\n' … … 1567 1593 ' MAX(TestSets.idGenTestCase) AS idGenTestCase\n' 1568 1594 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiTestCases) + 1595 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1569 1596 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1570 1597 oFilter.getWhereConditions(iOmit = TestResultFilter.kiTestCases) + 1598 oReportModel.getExtraSubjectWhereExpr() + 1571 1599 ' GROUP BY TestSets.idTestCase\n' 1572 1600 ' ) AS TestCasesIDs\n' … … 1581 1609 ' MAX(TestSets.tsCreated) AS tsNow\n' 1582 1610 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiRevisions) + 1611 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1583 1612 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1584 1613 oFilter.getWhereConditions(iOmit = TestResultFilter.kiRevisions) + 1614 oReportModel.getExtraSubjectWhereExpr() + 1585 1615 ' GROUP BY TestSets.idBuild\n' 1586 1616 ' ) AS BuildIDs\n' … … 1598 1628 'FROM ( SELECT DISTINCT TestSets.idBuildCategory\n' 1599 1629 ' FROM TestSets\n' + oFilter.getTableJoins(iOmit = TestResultFilter.kiBranches) + 1630 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1600 1631 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1601 1632 oFilter.getWhereConditions(iOmit = TestResultFilter.kiBranches) + 1633 oReportModel.getExtraSubjectWhereExpr() + 1602 1634 ' ) AS BuildCategoryIDs\n' 1603 1635 ' INNER JOIN BuildCategories\n' … … 1615 1647 ' AND TestResultFailures.tsExpire = \'infinity\'::TIMESTAMP\n' + 1616 1648 oFilter.getTableJoins(iOmit = TestResultFilter.kiFailReasons) + 1649 ''.join(' , %s\n' % (sTable,) for sTable in oReportModel.getExtraSubjectTables()) + 1617 1650 ' WHERE ' + self._getTimePeriodQueryPart(tsNow, sPeriod, ' ') + 1618 1651 oFilter.getWhereConditions(iOmit = TestResultFilter.kiFailReasons) + 1652 oReportModel.getExtraSubjectWhereExpr() + 1619 1653 ' GROUP BY TestResultFailures.idFailureReason\n' 1620 1654 ' ) AS FailureReasonIDs\n'
Note:
See TracChangeset
for help on using the changeset viewer.