VirtualBox

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


Ignore:
Timestamp:
Aug 13, 2019 8:37:08 AM (5 years ago)
Author:
vboxsync
Message:

ValidationKit/tdStoragebenchmark1: Fixes for the newly integrated IoPerf test which trips the test manager because the sub test nesting gets too deep

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py

    r80226 r80244  
    7878    def prepare(self, cMsTimeout = 30000):
    7979        """ Prepares the testcase """
     80        reporter.testStart('Fio');
    8081
    8182        sTargetOs = self.dCfg.get('TargetOs', 'linux');
     
    118119    def run(self, cMsTimeout = 30000):
    119120        """ Runs the testcase """
    120         _ = cMsTimeout
    121121        fRc, sOutput, sError = self.oExecutor.execBinary('fio', (self.sCfgFileId,), cMsTimeout = cMsTimeout);
    122122        if fRc:
     
    132132    def cleanup(self):
    133133        """ Cleans up any leftovers from the testcase. """
     134        reporter.testDone();
     135        return True;
    134136
    135137    def reportResult(self):
     
    178180    def prepare(self, cMsTimeout = 30000):
    179181        """ Prepares the testcase """
    180         _ = cMsTimeout;
     182        reporter.testStart('IoZone');
    181183        return True; # Nothing to do.
    182184
     
    196198                           '\nError:\n\n' +
    197199                           sError);
    198 
    199         _ = cMsTimeout;
    200200        return fRc;
    201201
    202202    def cleanup(self):
    203203        """ Cleans up any leftovers from the testcase. """
     204        reporter.testDone();
    204205        return True;
    205206
     
    332333    def __init__(self, aasTestLvls, aasTestsBlacklist, fnIsCfgSupported = None):
    333334        self.aasTestsBlacklist = aasTestsBlacklist;
    334         self.at3TestLvls       = [];
     335        self.at4TestLvls       = [];
    335336        self.iTestLvl          = 0;
    336337        self.fnIsCfgSupported  = fnIsCfgSupported;
    337338        for asTestLvl in aasTestLvls:
    338339            if isinstance(asTestLvl, tuple):
    339                 asTestLvl, fnTestFmt = asTestLvl;
    340                 self.at3TestLvls.append((0, fnTestFmt, asTestLvl));
     340                asTestLvl, fSubTestStartAuto, fnTestFmt = asTestLvl;
     341                self.at4TestLvls.append((0, fSubTestStartAuto, fnTestFmt, asTestLvl));
    341342            else:
    342                 self.at3TestLvls.append((0, None, asTestLvl));
    343 
    344         self.at3TestLvls.reverse();
     343                self.at4TestLvls.append((0, True, None, asTestLvl));
     344
     345        self.at4TestLvls.reverse();
    345346
    346347        # Get the first non blacklisted test.
     
    351352        iLvl = 0;
    352353        for sCfg in asTestCfg:
    353             reporter.testStart('%s' % (self.getTestIdString(sCfg, iLvl)));
     354            sSubTest = self.getTestIdString(sCfg, iLvl);
     355            if sSubTest is not None:
     356                reporter.testStart('%s' % (sSubTest,));
    354357            iLvl += 1;
    355358
    356359    def __del__(self):
    357360        # Make sure the tests are marked as done.
    358         while self.iTestLvl < len(self.at3TestLvls):
     361        while self.iTestLvl < len(self.at4TestLvls):
    359362            reporter.testDone();
    360363            self.iTestLvl += 1;
     
    367370        # The order of the test levels is reversed so get the level starting
    368371        # from the end.
    369         _, fnTestFmt, _ = self.at3TestLvls[len(self.at3TestLvls) - 1 - iLvl];
     372        _, fSubTestStartAuto, fnTestFmt, _ = self.at4TestLvls[len(self.at4TestLvls) - 1 - iLvl];
     373        if not fSubTestStartAuto:
     374            return None;
    370375        if fnTestFmt is not None:
    371376            return fnTestFmt(oCfg);
     
    398403        array of strings or an empty config if there is no test left anymore.
    399404        """
    400         iTestCfg, fnTestFmt, asTestCfg = self.at3TestLvls[self.iTestLvl];
     405        iTestCfg, fSubTestStartAuto, fnTestFmt, asTestCfg = self.at4TestLvls[self.iTestLvl];
    401406        iTestCfg += 1;
    402         self.at3TestLvls[self.iTestLvl] = (iTestCfg, fnTestFmt, asTestCfg);
    403         while iTestCfg == len(asTestCfg) and self.iTestLvl < len(self.at3TestLvls):
    404             self.at3TestLvls[self.iTestLvl] = (0, fnTestFmt, asTestCfg);
     407        self.at4TestLvls[self.iTestLvl] = (iTestCfg, fSubTestStartAuto, fnTestFmt, asTestCfg);
     408        while iTestCfg == len(asTestCfg) and self.iTestLvl < len(self.at4TestLvls):
     409            self.at4TestLvls[self.iTestLvl] = (0, fSubTestStartAuto, fnTestFmt, asTestCfg);
    405410            self.iTestLvl += 1;
    406             if self.iTestLvl < len(self.at3TestLvls):
    407                 iTestCfg, fnTestFmt, asTestCfg = self.at3TestLvls[self.iTestLvl];
     411            if self.iTestLvl < len(self.at4TestLvls):
     412                iTestCfg, fSubTestStartAuto, fnTestFmt, asTestCfg = self.at4TestLvls[self.iTestLvl];
    408413                iTestCfg += 1;
    409                 self.at3TestLvls[self.iTestLvl] = (iTestCfg, fnTestFmt, asTestCfg);
     414                self.at4TestLvls[self.iTestLvl] = (iTestCfg, fSubTestStartAuto, fnTestFmt, asTestCfg);
    410415                if iTestCfg < len(asTestCfg):
    411416                    self.iTestLvl = 0;
     
    422427        asTestCfg = [];
    423428
    424         if self.iTestLvl < len(self.at3TestLvls):
    425             for t3TestLvl in self.at3TestLvls:
    426                 iTestCfg, _, asTestLvl = t3TestLvl;
     429        if self.iTestLvl < len(self.at4TestLvls):
     430            for t4TestLvl in self.at4TestLvls:
     431                iTestCfg, _, _, asTestLvl = t4TestLvl;
    427432                asTestCfg.append(asTestLvl[iTestCfg]);
    428433
     
    444449        # Compare the current and next config and close the approriate test
    445450        # categories.
    446         reporter.testDone(fSkippedLast);
     451        #reporter.testDone(fSkippedLast);
    447452        if asTestCfg:
    448453            idxSame = 0;
     
    454459
    455460            for i in range(idxSame, len(asTestCfg)):
    456                 reporter.testStart('%s' % (self.getTestIdString(asTestCfg[i], i)));
     461                sSubTest = self.getTestIdString(asTestCfg[i], i);
     462                if sSubTest is not None:
     463                    reporter.testStart('%s' % (sSubTest,));
    457464
    458465        else:
     
    541548    kiCpuCount    = 5;
    542549    kiVirtMode    = 6;
    543     kiIoTest      = 7;
    544     kiTestSet     = 8;
     550    kiTestSet     = 7;
     551    kiIoTest      = 8;
    545552
    546553    def __init__(self):
     
    13461353        aasTestCfgs.insert(self.kiVmName,      self.asTestVMs);
    13471354        aasTestCfgs.insert(self.kiStorageCtrl, self.asStorageCtrls);
    1348         aasTestCfgs.insert(self.kiHostIoCache, (self.asHostIoCache, self.fnFormatHostIoCache));
     1355        aasTestCfgs.insert(self.kiHostIoCache, (self.asHostIoCache, True, self.fnFormatHostIoCache));
    13491356        aasTestCfgs.insert(self.kiDiskFmt,     self.asDiskFormats);
    13501357        aasTestCfgs.insert(self.kiDiskVar,     self.asDiskVariants);
    1351         aasTestCfgs.insert(self.kiCpuCount,    (self.acCpus, self.fnFormatCpuString));
    1352         aasTestCfgs.insert(self.kiVirtMode,    (self.asVirtModes, self.fnFormatVirtMode));
    1353         aasTestCfgs.insert(self.kiIoTest,      self.asTests);
     1358        aasTestCfgs.insert(self.kiCpuCount,    (self.acCpus, True, self.fnFormatCpuString));
     1359        aasTestCfgs.insert(self.kiVirtMode,    (self.asVirtModes, True, self.fnFormatVirtMode));
    13541360        aasTestCfgs.insert(self.kiTestSet,     self.asTestSets);
     1361        aasTestCfgs.insert(self.kiIoTest,      (self.asTests, False, None));
    13551362
    13561363        aasTestsBlacklist = [];
     
    14041411                if sMountPoint is not None:
    14051412                    for sIoTest in self.asTests:
    1406                         reporter.testStart(sIoTest);
    14071413                        for sTestSet in self.asTestSets:
    14081414                            reporter.testStart(sTestSet);
     
    14101416                            self.testBenchmark(utils.getHostOs(), sIoTest, sMountPoint, oExecutor, dTestSet);
    14111417                            reporter.testDone();
    1412                         reporter.testDone();
    14131418                    self.cleanupStorage(self.oStorCfg);
    14141419                else:
Note: See TracChangeset for help on using the changeset viewer.

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