VirtualBox

Changeset 61255 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
May 28, 2016 3:52:35 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107547
Message:

testmanager: two database changes.

Location:
trunk/src/VBox/ValidationKit/testmanager
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/core/report.py

    r61254 r61255  
    340340        oSet = ReportFailureReasonSet();
    341341        for iPeriod in xrange(self.cPeriods):
    342             #cHoursStarted = (self.cPeriods - iPeriod) * self.cHoursPerPeriod;
    343             #if self.tsNow is None:
    344             #    sTsFirst = '(CURRENT_TIMESTAMP - interval \'%u hours\')' % (cHoursStarted,);
    345             #
    346             #else:
    347             #    sTsFirst = '(%s - interval \'%u hours\')' \
    348             #             % ( self._oDb.formatBindArgs('%s::TIMESTAMP', (self.tsNow,)), cHoursStarted,) ;
    349             #
    350             #self._oDb.execute('SELECT   TestResultFailures.idFailureReason,\n'
    351             #                  '         COUNT(TestResultFailures.idTestResult),\n'
    352             #                  '         MIN(TestSets.tsDone),\n'
    353             #                  '         MAX(TestSets.tsDone)\n'
    354             #                  'FROM     TestResultFailures,\n'
    355             #                  '         TestResults,\n'
    356             #                  '         TestSets' + self.getExtraSubjectTables() + '\n'
    357             #                  'WHERE    TestResultFailures.idTestResult = TestResults.idTestResult\n'
    358             #                  '     AND TestResultFailures.tsExpire = \'infinity\'::TIMESTAMP\n'
    359             #                  '     AND TestResultFailures.tsEffective >= ' + sTsFirst + '\n'
    360             #                  '     AND TestResults.enmStatus <> \'running\'\n'
    361             #                  '     AND TestResults.enmStatus <> \'success\'\n'
    362             #                  '     AND TestResults.tsCreated >= ' + sTsFirst + '\n'
    363             #                  '     AND TestResults.idTestSet = TestSets.idTestSet\n'
    364             #                + self.getExtraSubjectWhereExpr()
    365             #                + self.getExtraWhereExprForPeriod(iPeriod)
    366             #                + 'GROUP BY TestResultFailures.idFailureReason\n');
    367 
    368342            self._oDb.execute('SELECT   idFailureReason,\n'
    369343                              '         COUNT(idTestResult),\n'
     
    374348                            + self.getExtraWhereExprForPeriod(iPeriod).replace('TestSets.', '')
    375349                            + 'GROUP BY idFailureReason\n');
    376 
    377350            aaoRows = self._oDb.fetchAll()
    378351
     
    400373                    oPeriod.tsMax = oPeriodRow.tsMax;
    401374            oSet.cHits += oPeriod.cHits;
     375
     376            ## Count how many test sets we've got without any reason associated with them.
     377            #self._oDb.execute('SELECT   COUNT(idTestSet)\n'
     378            #                  'FROM     TestSets,\n'
     379            #                  '         Test'
     380            #                  'WHERE    TRUE\n'
     381            #                  + self.getExtraWhereExprForPeriod(iPeriod) +
     382            #                  '     AND TestSets.enmStatus          <> \'running\'\n'
     383            #                  '     AND TestSets.enmStatus          <> \'success\'\n'
     384            #
     385            #                  'WHERE    TestResultFailures.idTestResult = TestResults.idTestResult\n'
     386            #                  '     AND TestResultFailures.tsExpire     = \'infinity\'::TIMESTAMP\n'
     387            #                  '     AND TestResultFailures.tsEffective >= ' + sTsFirst + '\n'
     388            #                  '     AND TestResults.enmStatus          <> \'running\'\n'
     389            #                  '     AND TestResults.enmStatus          <> \'success\'\n'
     390            #                  '     AND TestResults.tsCreated          >= ' + sTsFirst + '\n'
     391            #                  '     AND TestResults.tsCreated          <  ' + sTsNow + '\n'
     392            #                  '     AND TestResults.idTestSet           = TestSets.idTestSet\n'
     393            #                  '     AND TestSets.tsDone                >= ' + sTsFirst + '\n'
     394            #                  '     AND TestSets.tsDone                <  ' + sTsNow + '\n'
     395            #
     396            #                + self.getExtraWhereExprForPeriod(iPeriod).replace('TestSets.', '')
     397            #                + 'GROUP BY idFailureReason\n');
     398            #aaoRows = self._oDb.fetchAll()
     399
    402400
    403401        #
  • trunk/src/VBox/ValidationKit/testmanager/core/testcase.py

    r61220 r61255  
    11541154            self._oDb.execute('INSERT INTO TestCaseArgs (\n'
    11551155                             '          idTestCase, uidAuthor, sArgs, cSecTimeout,\n'
    1156                               '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers)\n'
    1157                               'VALUES   (%s, %s, %s, %s, %s, %s, %s)'
     1156                              '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers, sSubName)\n'
     1157                              'VALUES   (%s, %s, %s, %s, %s, %s, %s, %s)'
    11581158                              , ( oData.idTestCase, uidAuthor, oVar.sArgs, oVar.cSecTimeout,
    1159                                   oVar.sTestBoxReqExpr, oVar.sBuildReqExpr, oVar.cGangMembers,));
     1159                                  oVar.sTestBoxReqExpr, oVar.sBuildReqExpr, oVar.cGangMembers, oVar.sSubName, ));
    11601160
    11611161        self._oDb.maybeCommit(fCommit);
     
    12771277                self._oDb.execute('INSERT INTO TestCaseArgs (\n'
    12781278                                 '          idTestCase, uidAuthor, sArgs, cSecTimeout,\n'
    1279                                   '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers)\n'
    1280                                   'VALUES   (%s, %s, %s, %s, %s, %s, %s)'
     1279                                  '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers, sSubName)\n'
     1280                                  'VALUES   (%s, %s, %s, %s, %s, %s, %s, %s)'
    12811281                                  , ( oData.idTestCase, uidAuthor, oNewVar.sArgs, oNewVar.cSecTimeout,
    1282                                       oNewVar.sTestBoxReqExpr, oNewVar.sBuildReqExpr, oNewVar.cGangMembers,));
     1282                                      oNewVar.sTestBoxReqExpr, oNewVar.sBuildReqExpr, oNewVar.cGangMembers, oNewVar.sSubName));
    12831283            else:
    12841284                oCurVar = TestCaseArgsData().initFromDbRow(aoRow);
     
    12881288                      and oNewVar.sTestBoxReqExpr == oCurVar.sTestBoxReqExpr \
    12891289                      and oNewVar.sBuildReqExpr   == oCurVar.sBuildReqExpr \
    1290                       and oNewVar.cGangMembers    == oCurVar.cGangMembers:
     1290                      and oNewVar.cGangMembers    == oCurVar.cGangMembers \
     1291                      and oNewVar.sSubName        == oCurVar.sSubName:
    12911292                        oNewVar.idTestCaseArgs    = oCurVar.idTestCaseArgs;
    12921293                        oNewVar.idGenTestCaseArgs = oCurVar.idGenTestCaseArgs;
     
    12991300                self._oDb.execute('INSERT INTO TestCaseArgs (\n'
    13001301                                  '         idTestCaseArgs, idTestCase, uidAuthor, sArgs, cSecTimeout,\n'
    1301                                   '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers)\n'
    1302                                   'VALUES   (%s, %s, %s, %s, %s, %s, %s, %s)\n'
     1302                                  '         sTestBoxReqExpr, sBuildReqExpr, cGangMembers, sSubName)\n'
     1303                                  'VALUES   (%s, %s, %s, %s, %s, %s, %s, %s, %s)\n'
    13031304                                  'RETURNING idGenTestCaseArgs\n'
    13041305                                  , ( oCurVar.idTestCaseArgs, oData.idTestCase, uidAuthor, oNewVar.sArgs, oNewVar.cSecTimeout,
    1305                                       oNewVar.sTestBoxReqExpr, oNewVar.sBuildReqExpr, oNewVar.cGangMembers,));
     1306                                      oNewVar.sTestBoxReqExpr, oNewVar.sBuildReqExpr, oNewVar.cGangMembers, oNewVar.sSubName));
    13061307                oNewVar.idGenTestCaseArgs = self._oDb.fetchOne()[0];
    13071308
  • trunk/src/VBox/ValidationKit/testmanager/core/testcaseargs.py

    r61220 r61255  
    6464    ksParam_sBuildReqExpr      = 'TestCaseArgs_sBuildReqExpr';
    6565    ksParam_cGangMembers       = 'TestCaseArgs_cGangMembers';
     66    ksParam_sSubName           = 'TestCaseArgs_sSubName';
     67
     68    kcDbColumns                 = 12;
    6669
    6770    kasAllowNullAttributes      = [ 'idTestCase', 'idTestCaseArgs', 'tsEffective', 'tsExpire', 'uidAuthor', 'idGenTestCaseArgs',
    68                                     'cSecTimeout', 'sTestBoxReqExpr', 'sBuildReqExpr', ];
     71                                    'cSecTimeout', 'sTestBoxReqExpr', 'sBuildReqExpr', 'sSubName', ];
    6972
    7073    def __init__(self):
     
    8689        self.sBuildReqExpr      = None;
    8790        self.cGangMembers       = 1;
     91        self.sSubName           = None;
    8892
    8993    def initFromDbRow(self, aoRow):
     
    106110        self.sBuildReqExpr      = aoRow[9];
    107111        self.cGangMembers       = aoRow[10];
     112        self.sSubName           = aoRow[11];
    108113        return self;
    109114
     
    132137    def initFromValues(self, sArgs, cSecTimeout = None, sTestBoxReqExpr = None, sBuildReqExpr = None,  # pylint: disable=R0913
    133138                       cGangMembers = 1, idTestCase = None, idTestCaseArgs = None, tsEffective = None, tsExpire = None,
    134                        uidAuthor = None, idGenTestCaseArgs = None):
     139                       uidAuthor = None, idGenTestCaseArgs = None, sSubName = None):
    135140        """
    136141        Reinitialize from values.
     
    148153        self.sBuildReqExpr      = sBuildReqExpr;
    149154        self.cGangMembers       = cGangMembers;
     155        self.sSubName           = sSubName;
    150156        return self;
    151157
  • trunk/src/VBox/ValidationKit/testmanager/core/testresults.py

    r61250 r61255  
    441441    ksParam_tsExpire            = 'TestResultFailure_tsExpire';
    442442    ksParam_uidAuthor           = 'TestResultFailure_uidAuthor';
     443    ksParam_idTestSet           = 'TestResultFailure_idTestSet';
    443444    ksParam_idFailureReason     = 'TestResultFailure_idFailureReason';
    444445    ksParam_sComment            = 'TestResultFailure_sComment';
     
    446447    kasAllowNullAttributes      = ['tsEffective', 'tsExpire', 'uidAuthor', 'sComment' ];
    447448
    448     kcDbColumns                 = 6;
     449    kcDbColumns                 = 7;
    449450
    450451    def __init__(self):
     
    454455        self.tsExpire           = None;
    455456        self.uidAuthor          = None;
     457        self.idTestSet          = None;
    456458        self.idFailureReason    = None;
    457459        self.sComment           = None;
     
    469471        self.tsExpire           = aoRow[2];
    470472        self.uidAuthor          = aoRow[3];
    471         self.idFailureReason    = aoRow[4];
    472         self.sComment           = aoRow[5];
     473        self.idTestSet          = aoRow[4];
     474        self.idFailureReason    = aoRow[5];
     475        self.sComment           = aoRow[6];
    473476        return self;
    474477
     
    20802083                                     'Perhaps someone else beat you to it? Or did you try resubmit?'
    20812084                                     % (oData.idTestResult, oOldData));
     2085        oData = self._resolveSetTestIdIfMissing(oData);
    20822086
    20832087        #
     
    21022106
    21032107        oOldData = self.getById(oData.idTestResult)
     2108        oData.idTestSet = oOldData.idTestSet;
    21042109
    21052110        #
     
    21472152                          '         tsEffective,\n'
    21482153                          '         idTestResult,\n'
     2154                          '         idTestSet,\n'
    21492155                          '         idFailureReason,\n'
    21502156                          '         sComment)\n'
    2151                           'VALUES (%s, %s, %s, %s, %s)\n'
     2157                          'VALUES (%s, %s, %s, %s, %s, %s)\n'
    21522158                          , ( uidAuthor,
    21532159                              tsEffective,
    21542160                              oData.idTestResult,
     2161                              oData.idTestSet,
    21552162                              oData.idFailureReason,
    21562163                              oData.sComment,) );
     
    21702177
    21712178
     2179    def _resolveSetTestIdIfMissing(self, oData):
     2180        """ Resolve any missing idTestSet reference (it's a duplicate for speed efficiency). """
     2181        if oData.idTestSet is None and oData.idTestResult is not None :
     2182            self._oDb.execute('SELECT idTestSet FROM TestResults WHERE idTestResult = %s', (oData.idTestResult,));
     2183            oData.idTestResult = self._oDb.fetchOne()[0];
     2184        return oData;
     2185
     2186
    21722187
    21732188#
  • trunk/src/VBox/ValidationKit/testmanager/db/TestManagerDatabaseInit.pgsql

    r56789 r61255  
    402402    --- Number of testboxes required (gang scheduling).
    403403    cGangMembers        SMALLINT    DEFAULT 1  NOT NULL  CHECK (cGangMembers > 0 AND cGangMembers < 1024),
     404    --- Optional variation sub-name.
     405    sSubName            TEXT        DEFAULT NULL,
    404406
    405407    --- The arguments are part of the primary key for several reasons.
     
    957959    -- Non-unique foreign key: Users(uid)
    958960    uidAuthor           INTEGER     NOT NULL,
     961    --- The testsest this result is a part of.
     962    -- This is mainly an aid for bypassing the enormous TestResults table.
     963    -- Note! This is a foreign key, but we have to add it after TestSets has
     964    --       been created, see further down.
     965    idTestSet           INTEGER     NOT NULL,
    959966
    960967    --- The suggested failure reason.
     
    966973    PRIMARY KEY (idTestResult, tsExpire)
    967974);
    968 
     975CREATE INDEX TestResultFailureIdx  ON TestResultFailures (idTestSet, tsExpire DESC, tsEffective ASC);
     976CREATE INDEX TestResultFailureIdx2 ON TestResultFailures (idTestResult, tsExpire DESC, tsEffective ASC);
     977CREATE INDEX TestResultFailureIdx3 ON TestResultFailures (idFailureReason, idTestResult, tsExpire DESC, tsEffective ASC);
    969978
    970979
     
    13091318               OR (cErrors = 0 AND enmStatus IN ('running'::TestStatus_T, 'success'::TestStatus_T,
    13101319                                                 'skipped'::TestStatus_T, 'aborted'::TestStatus_T, 'bad-testbox'::TestStatus_T))
    1311               )
     1320              ),
     1321    -- The following is for the TestResultFailures foreign key.
     1322    -- Note! This was added with the name TestResults_idTestResult_idTestSet_key in the tmdb-r16 update script.
     1323    UNIQUE (idTestResult, idTestSet)
    13121324);
    13131325
     
    13181330CREATE INDEX TestResultsNameIdx2 ON TestResults (idTestResult, idStrName);
    13191331
    1320 ALTER TABLE TestResultFailures
    1321     ADD CONSTRAINT idTestResultFk FOREIGN KEY (idTestResult) REFERENCES TestResults(idTestResult) MATCH FULL;
     1332ALTER TABLE TestResultFailures ADD CONSTRAINT TestResultFailures_idTestResult_idTestSet_fkey
     1333    FOREIGN KEY (idTestResult, idTestSet) REFERENCES TestResults(idTestResult, idTestSet) MATCH FULL;
    13221334
    13231335
     
    15571569ALTER TABLE TestResults      ADD FOREIGN KEY (idTestSet) REFERENCES TestSets(idTestSet) MATCH FULL;
    15581570ALTER TABLE TestResultValues ADD FOREIGN KEY (idTestSet) REFERENCES TestSets(idTestSet) MATCH FULL;
     1571ALTER TABLE TestResultFailures ADD CONSTRAINT idTestSetFk FOREIGN KEY (idTestSet) REFERENCES TestSets(idTestSet) MATCH FULL;
    15591572
    15601573
  • trunk/src/VBox/ValidationKit/testmanager/htdocs/css/common.css

    r56295 r61255  
    586586}
    587587
     588.tmform-field-subname input {
     589    width:          10em;
     590}
     591
    588592.tmform-field-timestamp input {
    589593    width:          20em;
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuiadmintestcase.py

    r56295 r61255  
    6969        # Base command and variations.
    7070        fNoGang = True;
     71        fNoSubName = True;
     72        fAllDefaultTimeouts = True;
    7173        for oVar in oEntry.aoTestCaseArgs:
     74            if fNoSubName and oVar.sSubName is not None and len(oVar.sSubName.strip()) > 0:
     75                fNoSubName = False;
    7276            if oVar.cGangMembers > 1:
    7377                fNoGang = False;
    74                 break;
     78            if oVar.cSecTimeout is not None:
     79                fAllDefaultTimeouts = False;
     80
    7581        sHtml  = '  <table class="tminnertbl" width=100%>\n' \
    7682                 '    <tr>\n' \
    77                  '      <th>';
     83                 '      ';
     84        if not fNoSubName:
     85            sHtml += '<th class="tmtcasubname">Sub-name</th>';
    7886        if not fNoGang:
    79             sHtml += '<th>Gang Size</th>';
    80         sHtml += 'Timeout</th><th>Additional Arguments</b></th>\n' \
     87            sHtml += '<th class="tmtcagangsize">Gang Size</th>';
     88        if not fAllDefaultTimeouts:
     89            sHtml += '<th class="tmtcatimeout">Timeout</th>';
     90        sHtml += '<th>Additional Arguments</b></th>\n' \
    8191                 '    </tr>\n'
    8292        for oTmp in oEntry.aoTestCaseArgs:
    8393            sHtml += '<tr>';
     94            if not fNoSubName:
     95                sHtml += '<td>%s</td>' % (webutils.escapeElem(oTmp.sSubName) if oTmp.sSubName is not None else '');
    8496            if not fNoGang:
    8597                sHtml += '<td>%d</td>' % (oTmp.cGangMembers,)
    86             sHtml += '<td>%s</td><td>%s</td></tr>\n' \
    87                    % ( utils.formatIntervalSeconds(oTmp.cSecTimeout) if oTmp.cSecTimeout is not None else 'Default',
    88                        webutils.escapeElem(oTmp.sArgs.replace('-', u'\u2011')),)
     98            if not fAllDefaultTimeouts:
     99                sHtml += '<td>%s</td>' \
     100                       % (utils.formatIntervalSeconds(oTmp.cSecTimeout) if oTmp.cSecTimeout is not None else 'Default',)
     101            sHtml += u'<td>%s</td></tr>' \
     102                % ( webutils.escapeElem(oTmp.sArgs.replace('-', u'\u2011')) if len(oTmp.sArgs) > 0 else u'\u2011',);
     103            sHtml += '</tr>\n';
    89104        sHtml += '  </table>'
    90105
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuihlpform.py

    r61250 r61255  
    452452            sHtml += u'}\n';
    453453            sHtml += u'\n';
    454             sHtml += u'function %s_extendListEx(cGangMembers, cSecTimeout, sArgs, sTestBoxReqExpr, sBuildReqExpr)\n' % (sName,);
     454            sHtml += u'function %s_extendListEx(sSubName, cGangMembers, cSecTimeout, sArgs, sTestBoxReqExpr, sBuildReqExpr)\n' % (sName,);
    455455            sHtml += u'{\n';
    456456            sHtml += u'    var oElement = document.getElementById(\'%s\');\n' % (sTableId,);
     
    466466            sHtml += u'\n';
    467467            sHtml += u'    sHtml += \'<tr class="tmform-testcasevars-first-row">\';\n';
     468            sHtml += u'    sHtml += \'  <td>Sub-Name:</td>\';\n';
     469            sHtml += u'    sHtml += \'  <td class="tmform-field-subname">' \
     470                      '<input name="%s[\' + sId + \'][%s]" id="%s[\' + sId + \'][0]" value="\' + sSubName + \'"></td>\';\n' \
     471                   % (sName, TestCaseArgsData.ksParam_sSubName, sName,);
    468472            sHtml += u'    sHtml += \'  <td>Gang Members:</td>\';\n';
    469473            sHtml += u'    sHtml += \'  <td class="tmform-field-tiny-int">' \
     
    481485            sHtml += u'    sHtml += \'<tr class="tmform-testcasevars-inner-row">\';\n';
    482486            sHtml += u'    sHtml += \'  <td>Arguments:</td>\';\n';
    483             sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="4">' \
     487            sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="6">' \
    484488                     u'<input name="%s[\' + sId + \'][%s]" id="%s[\' + sId + \'][2]" value="\' + sArgs + \'"></td>\';\n' \
    485489                   % (sName, TestCaseArgsData.ksParam_sArgs, sName,);
     
    489493            sHtml += u'    sHtml += \'<tr class="tmform-testcasevars-inner-row">\';\n';
    490494            sHtml += u'    sHtml += \'  <td>TestBox Reqs:</td>\';\n';
    491             sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="4">' \
     495            sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="6">' \
    492496                     u'<input name="%s[\' + sId + \'][%s]" id="%s[\' + sId + \'][2]" value="\' + sTestBoxReqExpr' \
    493497                     u' + \'"></td>\';\n' \
     
    498502            sHtml += u'    sHtml += \'<tr class="tmform-testcasevars-final-row">\';\n';
    499503            sHtml += u'    sHtml += \'  <td>Build Reqs:</td>\';\n';
    500             sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="4">' \
     504            sHtml += u'    sHtml += \'  <td class="tmform-field-wide100" colspan="6">' \
    501505                     u'<input name="%s[\' + sId + \'][%s]" id="%s[\' + sId + \'][2]" value="\' + sBuildReqExpr + \'"></td>\';\n' \
    502506                   % (sName, TestCaseArgsData.ksParam_sBuildReqExpr, sName,);
     
    515519            sHtml += u'function %s_extendList()\n' % (sName,);
    516520            sHtml += u'{\n';
    517             sHtml += u'    %s_extendListEx("%s", "%s", "%s", "%s", "%s");\n' % (sName,
    518                 escapeAttr(unicode(oVarDefaults.cGangMembers)), escapeAttr(unicode(oVarDefaults.cSecTimeout)),
    519                 escapeAttr(oVarDefaults.sArgs), escapeAttr(oVarDefaults.sTestBoxReqExpr),
    520                 escapeAttr(oVarDefaults.sBuildReqExpr), );
     521            sHtml += u'    %s_extendListEx("%s", "%s", "%s", "%s", "%s", "%s");\n' % (sName,
     522                escapeAttr(unicode(oVarDefaults.sSubName)), escapeAttr(unicode(oVarDefaults.cGangMembers)),
     523                escapeAttr(unicode(oVarDefaults.cSecTimeout)), escapeAttr(oVarDefaults.sArgs),
     524                escapeAttr(oVarDefaults.sTestBoxReqExpr), escapeAttr(oVarDefaults.sBuildReqExpr), );
    521525            sHtml += u'}\n';
    522526            if config.g_kfVBoxSpecific:
     
    524528                sHtml += u'function vbox_%s_add_uni()\n' % (sName,);
    525529                sHtml += u'{\n';
    526                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 1 --virt-modes raw", ' \
     530                sHtml += u'    %s_extendListEx("uni-raw", "1", "%s", "--cpu-counts 1 --virt-modes raw", ' \
    527531                         u' "", "");\n' % (sName, sSecTimeoutDef);
    528                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 1 --virt-modes hwvirt", ' \
     532                sHtml += u'    %s_extendListEx("uni-hw", "1", "%s", "--cpu-counts 1 --virt-modes hwvirt", ' \
    529533                         u' "fCpuHwVirt is True", "");\n' % (sName, sSecTimeoutDef);
    530                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
     534                sHtml += u'    %s_extendListEx("uni-np", "1", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
    531535                         u' "fCpuNestedPaging is True", "");\n' % (sName, sSecTimeoutDef);
    532536                sHtml += u'}\n';
    533537                sHtml += u'function vbox_%s_add_uni_amd64()\n' % (sName,);
    534538                sHtml += u'{\n';
    535                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 1 --virt-modes hwvirt", ' \
     539                sHtml += u'    %s_extendListEx("uni-64-hw", "1", "%s", "--cpu-counts 1 --virt-modes hwvirt", ' \
    536540                         u' "fCpuHwVirt is True", "");\n' % (sName, sSecTimeoutDef);
    537                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
     541                sHtml += u'    %s_extendListEx("uni-64-np", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
    538542                         u' "fCpuNestedPaging is True", "");\n' % (sName, sSecTimeoutDef);
    539543                sHtml += u'}\n';
    540544                sHtml += u'function vbox_%s_add_smp()\n' % (sName,);
    541545                sHtml += u'{\n';
    542                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 2 --virt-modes hwvirt",' \
     546                sHtml += u'    %s_extendListEx("smp2-hw", "1", "%s", "--cpu-counts 2 --virt-modes hwvirt",' \
    543547                         u' "fCpuHwVirt is True and cCpus >= 2", "");\n' % (sName, sSecTimeoutDef);
    544                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 2 --virt-modes hwvirt-np",' \
     548                sHtml += u'    %s_extendListEx("smp2-np", "1", "%s", "--cpu-counts 2 --virt-modes hwvirt-np",' \
    545549                         u' "fCpuNestedPaging is True and cCpus >= 2", "");\n' % (sName, sSecTimeoutDef);
    546                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 3 --virt-modes hwvirt",' \
     550                sHtml += u'    %s_extendListEx("smp3-hw", "1", "%s", "--cpu-counts 3 --virt-modes hwvirt",' \
    547551                         u' "fCpuHwVirt is True and cCpus >= 3", "");\n' % (sName, sSecTimeoutDef);
    548                 sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 4 --virt-modes hwvirt-np ",' \
     552                sHtml += u'    %s_extendListEx("smp4-np", "1", "%s", "--cpu-counts 4 --virt-modes hwvirt-np ",' \
    549553                         u' "fCpuNestedPaging is True and cCpus >= 4", "");\n' % (sName, sSecTimeoutDef);
    550                 #sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 6 --virt-modes hwvirt",' \
     554                #sHtml += u'    %s_extendListEx("smp6-hw", "1", "%s", "--cpu-counts 6 --virt-modes hwvirt",' \
    551555                #         u' "fCpuHwVirt is True and cCpus >= 6", "");\n' % (sName, sSecTimeoutDef);
    552                 #sHtml += u'    %s_extendListEx("1", "%s", "--cpu-counts 8 --virt-modes hwvirt-np",' \
     556                #sHtml += u'    %s_extendListEx("smp8-np", "1", "%s", "--cpu-counts 8 --virt-modes hwvirt-np",' \
    553557                #         u' "fCpuNestedPaging is True and cCpus >= 8", "");\n' % (sName, sSecTimeoutDef);
    554558                sHtml += u'}\n';
     
    581585            sHtml += u'<tbody id="%s[%s][6]">\n' % (sName, iVar,)
    582586            sHtml += u'  <tr class="tmform-testcasevars-first-row">\n' \
     587                     u'    <td>Sub-name:</td>' \
     588                     u'    <td class="tmform-field-subname"><input name="%s[%s][%s]" id="%s[%s][1]" value="%s"%s></td>\n' \
    583589                     u'    <td>Gang Members:</td>' \
    584590                     u'    <td class="tmform-field-tiny-int"><input name="%s[%s][%s]" id="%s[%s][1]" value="%s"%s></td>\n' \
    585591                     u'    <td>Timeout:</td>' \
    586592                     u'    <td class="tmform-field-int"><input name="%s[%s][%s]" id="%s[%s][2]" value="%s"%s></td>\n' \
    587                    % ( sName, iVar, TestCaseArgsData.ksParam_cGangMembers, sName, iVar, oVar.cGangMembers, sReadOnlyAttr,
     593                   % ( sName, iVar, TestCaseArgsData.ksParam_sSubName, sName, iVar, oVar.sSubName, sReadOnlyAttr,
     594                       sName, iVar, TestCaseArgsData.ksParam_cGangMembers, sName, iVar, oVar.cGangMembers, sReadOnlyAttr,
    588595                       sName, iVar, TestCaseArgsData.ksParam_cSecTimeout,  sName, iVar,
    589596                       utils.formatIntervalSeconds2(oVar.cSecTimeout), sReadOnlyAttr, );
     
    598605            sHtml += u'  <tr class="tmform-testcasevars-inner-row">\n' \
    599606                     u'    <td>Arguments:</td>' \
    600                      u'    <td class="tmform-field-wide100" colspan="4">' \
     607                     u'    <td class="tmform-field-wide100" colspan="6">' \
    601608                     u'<input name="%s[%s][%s]" id="%s[%s][3]" value="%s"%s></td>\n' \
    602609                     u'    <td></td>\n' \
     
    606613            sHtml += u'  <tr class="tmform-testcasevars-inner-row">\n' \
    607614                     u'    <td>TestBox Reqs:</td>' \
    608                      u'    <td class="tmform-field-wide100" colspan="4">' \
     615                     u'    <td class="tmform-field-wide100" colspan="6">' \
    609616                     u'<input name="%s[%s][%s]" id="%s[%s][4]" value="%s"%s></td>\n' \
    610617                     u'    <td></td>\n' \
     
    615622            sHtml += u'  <tr class="tmform-testcasevars-final-row">\n' \
    616623                     u'    <td>Build Reqs:</td>' \
    617                      u'    <td class="tmform-field-wide100" colspan="4">' \
     624                     u'    <td class="tmform-field-wide100" colspan="6">' \
    618625                     u'<input name="%s[%s][%s]" id="%s[%s][5]" value="%s"%s></td>\n' \
    619626                     u'    <td></td>\n' \
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuitestresult.py

    r61250 r61255  
    392392                oForm.addTextHidden(TestResultFailureData.ksParam_tsExpire, oData.tsExpire);
    393393                oForm.addTextHidden(TestResultFailureData.ksParam_uidAuthor, oData.uidAuthor);
     394                oForm.addTextHidden(TestResultFailureData.ksParam_idTestSet, oData.idTestSet);
    394395                oForm.addSubmit('Change Reason');
    395396
     
    401402                oForm.addTextHidden(TestResultFailureData.ksParam_tsExpire, '');
    402403                oForm.addTextHidden(TestResultFailureData.ksParam_uidAuthor, '');
     404                oForm.addTextHidden(TestResultFailureData.ksParam_idTestSet, oData.idTestSet);
    403405                oForm.addSubmit('Add Reason');
    404406
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuitestresultfailure.py

    r61253 r61255  
    7979        oForm.addMultilineText(TestResultFailureData.ksParam_sComment,   oData.sComment,     'Comment');
    8080        oForm.addIntRO(      TestResultFailureData.ksParam_idTestResult, oData.idTestResult, 'Test Result ID');
     81        oForm.addIntRO(      TestResultFailureData.ksParam_idTestSet,    oData.idTestSet,    'Test Set ID');
    8182        oForm.addTimestampRO(TestResultFailureData.ksParam_tsEffective,  oData.tsEffective,  'Effective Date');
    8283        oForm.addTimestampRO(TestResultFailureData.ksParam_tsExpire,     oData.tsExpire,     'Expire (excl)');
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette