VirtualBox

Ignore:
Timestamp:
Feb 5, 2024 10:00:40 AM (13 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
161464
Message:

ValidationKit/testmanager: Distinguish between testboxes which can do hw-virt/np and the ones using the host native API for virtualization, bugref:10592

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/core/testbox.pgsql

    r98103 r103197  
    528528                                                       a_fChipsetIoMmu      boolean,
    529529                                                       a_fRawMode           boolean,
     530                                                       a_fNativeApi         boolean,
    530531                                                       a_cMbMemory          bigint,
    531532                                                       a_cMbScratch         bigint,
     
    573574        v_Row.fChipsetIoMmu         := a_fChipsetIoMmu;
    574575        v_Row.fRawMode              := a_fRawMode;
     576        v_Row.fNativeApi            := a_fNativeApi;
    575577        v_Row.cMbMemory             := a_cMbMemory;
    576578        v_Row.cMbScratch            := a_cMbScratch;
  • trunk/src/VBox/ValidationKit/testmanager/core/testbox.py

    r98103 r103197  
    228228    ksParam_fChipsetIoMmu       = 'TestBox_fChipsetIoMmu';
    229229    ksParam_fRawMode            = 'TestBox_fRawMode';
     230    ksParam_fNativeApi          = 'TestBox_fNativeApi';
    230231    ksParam_cMbMemory           = 'TestBox_cMbMemory';
    231232    ksParam_cMbScratch          = 'TestBox_cMbScratch';
     
    239240    kasMachineSettableOnly      = [ 'sOs', 'sOsVersion', 'sCpuVendor', 'sCpuArch', 'sCpuName', 'lCpuRevision', 'cCpus',
    240241                                    'fCpuHwVirt', 'fCpuNestedPaging', 'fCpu64BitGuest', 'fChipsetIoMmu', 'fRawMode',
    241                                     'cMbMemory', 'cMbScratch', 'sReport', 'iTestBoxScriptRev', 'iPythonHexVersion', ];
     242                                    'fNativeApi', 'cMbMemory', 'cMbScratch', 'sReport', 'iTestBoxScriptRev',
     243                                    'iPythonHexVersion', ];
    242244    kasAllowNullAttributes      = ['idTestBox', 'tsEffective', 'tsExpire', 'uidAuthor', 'idGenTestBox', 'sDescription',
    243245                                   'ipLom', 'sComment', ] + kasMachineSettableOnly + kasInternalAttributes;
     
    249251    kcchMax_sReport             = 65535;
    250252
    251     kcDbColumns                 = 40; # including the 7 string joins columns
     253    kcDbColumns                 = 41; # including the 7 string joins columns
    252254
    253255
     
    285287        self.fChipsetIoMmu       = False;
    286288        self.fRawMode            = None;
     289        self.fNativeApi          = None;
    287290        self.cMbMemory           = 1;
    288291        self.cMbScratch          = 0;
     
    336339        self.fChipsetIoMmu       = aoRow[24];
    337340        self.fRawMode            = aoRow[25];
    338         self.cMbMemory           = aoRow[26];
    339         self.cMbScratch          = aoRow[27];
    340         self.idStrReport         = aoRow[28];
    341         self.iTestBoxScriptRev   = aoRow[29];
    342         self.iPythonHexVersion   = aoRow[30];
    343         self.enmPendingCmd       = aoRow[31];
     341        self.fNativeApi          = aoRow[26];
     342        self.cMbMemory           = aoRow[27];
     343        self.cMbScratch          = aoRow[28];
     344        self.idStrReport         = aoRow[29];
     345        self.iTestBoxScriptRev   = aoRow[30];
     346        self.iPythonHexVersion   = aoRow[31];
     347        self.enmPendingCmd       = aoRow[32];
    344348
    345349        # String table values.
    346         if len(aoRow) > 32:
    347             self.sDescription    = aoRow[32];
    348             self.sComment        = aoRow[33];
    349             self.sOs             = aoRow[34];
    350             self.sOsVersion      = aoRow[35];
    351             self.sCpuVendor      = aoRow[36];
    352             self.sCpuArch        = aoRow[37];
    353             self.sCpuName        = aoRow[38];
    354             self.sReport         = aoRow[39];
     350        if len(aoRow) > 33:
     351            self.sDescription    = aoRow[33];
     352            self.sComment        = aoRow[34];
     353            self.sOs             = aoRow[35];
     354            self.sOsVersion      = aoRow[36];
     355            self.sCpuVendor      = aoRow[37];
     356            self.sCpuArch        = aoRow[38];
     357            self.sCpuName        = aoRow[39];
     358            self.sReport         = aoRow[40];
    355359
    356360        return self;
     
    747751    kiSortColumn_cMbScratch         =  9;
    748752    kiSortColumn_fCpuNestedPaging   = 10;
    749     kiSortColumn_iTestBoxScriptRev  = 11;
    750     kiSortColumn_iPythonHexVersion  = 12;
    751     kiSortColumn_enmPendingCmd      = 13;
    752     kiSortColumn_fEnabled           = 14;
    753     kiSortColumn_enmState           = 15;
    754     kiSortColumn_tsUpdated          = 16;
    755     kcMaxSortColumns                = 17;
     753    kiSortColumn_fNativeApi         = 11;
     754    kiSortColumn_iTestBoxScriptRev  = 12;
     755    kiSortColumn_iPythonHexVersion  = 13;
     756    kiSortColumn_enmPendingCmd      = 14;
     757    kiSortColumn_fEnabled           = 15;
     758    kiSortColumn_enmState           = 16;
     759    kiSortColumn_tsUpdated          = 17;
     760    kcMaxSortColumns                = 18;
    756761    kdSortColumnMap                 = {
    757762        0:                               'TestBoxesWithStrings.sName',
     
    778783        kiSortColumn_fCpuNestedPaging:   'TestBoxesWithStrings.fCpuNestedPaging',
    779784        -kiSortColumn_fCpuNestedPaging:  'TestBoxesWithStrings.fCpuNestedPaging DESC',
     785        kiSortColumn_fNativeApi:         'TestBoxesWithStrings.fNativeApi',
     786        -kiSortColumn_fNativeApi:        'TestBoxesWithStrings.fNativeApi DESC',
    780787        kiSortColumn_iTestBoxScriptRev:  'TestBoxesWithStrings.iTestBoxScriptRev',
    781788        -kiSortColumn_iTestBoxScriptRev: 'TestBoxesWithStrings.iTestBoxScriptRev DESC',
     
    11151122    def updateOnSignOn(self, idTestBox, idGenTestBox, sTestBoxAddr, sOs, sOsVersion, # pylint: disable=too-many-arguments,too-many-locals
    11161123                       sCpuVendor, sCpuArch, sCpuName, lCpuRevision, cCpus, fCpuHwVirt, fCpuNestedPaging, fCpu64BitGuest,
    1117                        fChipsetIoMmu, fRawMode, cMbMemory, cMbScratch, sReport, iTestBoxScriptRev, iPythonHexVersion):
     1124                       fChipsetIoMmu, fRawMode, fNativeApi, cMbMemory, cMbScratch, sReport, iTestBoxScriptRev, iPythonHexVersion):
    11181125        """
    11191126        Update the testbox attributes automatically on behalf of the testbox script.
     
    11361143                               fChipsetIoMmu,
    11371144                               fRawMode,
     1145                               fNativeApi,
    11381146                               cMbMemory,
    11391147                               cMbScratch,
  • trunk/src/VBox/ValidationKit/testmanager/core/testboxcontroller.py

    r98103 r103197  
    372372        fChipsetIoMmu       = self._getBoolParam(  constants.tbreq.SIGNON_PARAM_HAS_IOMMU);
    373373        fRawMode            = self._getBoolParam(  constants.tbreq.SIGNON_PARAM_WITH_RAW_MODE, fDefValue = None);
     374        fNativeApi          = self._getBoolParam(  constants.tbreq.SIGNON_PARAM_HAS_NATIVE_API, fDefValue = None);
    374375        cMbMemory           = self._getLongParam(  constants.tbreq.SIGNON_PARAM_MEM_SIZE,     8, 1073741823); # 8MB..1PB
    375376        cMbScratch          = self._getLongParam(  constants.tbreq.SIGNON_PARAM_SCRATCH_SIZE, 0, 1073741823); # 0..1PB
     
    423424          or fChipsetIoMmu      != oTestBox.fChipsetIoMmu \
    424425          or fRawMode           != oTestBox.fRawMode \
     426          or fNativeApi         != oTestBox.fNativeApi \
    425427          or cMbMemory          != oTestBox.cMbMemory \
    426428          or abs(cPctScratchDiff) >= min(4 + cMbScratch / 10240, 12) \
     
    443445                                         fChipsetIoMmu     = fChipsetIoMmu,
    444446                                         fRawMode          = fRawMode,
     447                                         fNativeApi        = fNativeApi,
    445448                                         cMbMemory         = cMbMemory,
    446449                                         cMbScratch        = cMbScratch,
  • trunk/src/VBox/ValidationKit/testmanager/core/testcase.py

    r98103 r103197  
    656656                'fChipsetIoMmu':        False,
    657657                'fRawMode':             False,
     658                'fNativeApi':           False,
    658659                'cMbMemory':            985034,
    659660                'cMbScratch':           1234089,
     
    673674                'fChipsetIoMmu':        True,
    674675                'fRawMode':             True,
     676                'fNativeApi':           True,
    675677                'cMbMemory':            9999999999,
    676678                'cMbScratch':           9999999999999,
     
    701703            'fChipsetIoMmu':        oTestBoxData.fChipsetIoMmu,
    702704            'fRawMode':             oTestBoxData.fRawMode,
     705            'fNativeApi':           oTestBoxData.fNativeApi,
    703706            'cMbMemory':            oTestBoxData.cMbMemory,
    704707            'cMbScratch':           oTestBoxData.cMbScratch,
  • trunk/src/VBox/ValidationKit/testmanager/core/testresults.py

    r99934 r103197  
    764764    kiTbMisc_IoMmu            =  8;
    765765    kiTbMisc_NoIoMmu          =  9;
     766    kiTbMisc_NativeApi        = 10;
     767    kiTbMisc_NoNativeApi      = 11;
    766768
    767769    def __init__(self):
     
    873875            FilterCriterionValueAndDescription(self.kiTbMisc_HwVirt,            "req VT-x / AMD-V"),
    874876            FilterCriterionValueAndDescription(self.kiTbMisc_NoHwVirt,          "w/o VT-x / AMD-V"),
     877            FilterCriterionValueAndDescription(self.kiTbMisc_NativeApi,         "req NEM"),
     878            FilterCriterionValueAndDescription(self.kiTbMisc_NoNativeApi,       "w/o NEM"),
    875879            #FilterCriterionValueAndDescription(self.kiTbMisc_IoMmu,             "req I/O MMU"), - not implemented yet.
    876880            #FilterCriterionValueAndDescription(self.kiTbMisc_NoIoMmu,           "w/o I/O MMU"), - not implemented yet.
     
    895899        kiTbMisc_RawMode:         'TestBoxesWithStrings.fRawMode IS TRUE',
    896900        kiTbMisc_NoRawMode:       'TestBoxesWithStrings.fRawMode IS NOT TRUE',
     901        kiTbMisc_NativeApi:       'TestBoxesWithStrings.fNativeApi IS TRUE',
     902        kiTbMisc_NoNativeApi:     'TestBoxesWithStrings.fNativeApi IS NOT TRUE',
    897903        kiTbMisc_64BitGuest:      'TestBoxesWithStrings.fCpu64BitGuest IS TRUE',
    898904        kiTbMisc_No64BitGuest:    'TestBoxesWithStrings.fCpu64BitGuest IS FALSE',
  • trunk/src/VBox/ValidationKit/testmanager/db/TestManagerDatabaseComments.pgsql

    r98103 r103197  
    621621  'Set if the test box does raw-mode tests.';
    622622
     623COMMENT ON COLUMN TestBoxes.fNativeApi IS
     624  'Set if the test box does native API (NEM) tests.';
     625
    623626COMMENT ON COLUMN TestBoxes.cMbMemory IS
    624627  'The (approximate) memory size in megabytes (rounded down to nearest 4 MB).';
     
    933936COMMENT ON COLUMN VcsRevisions.sMessage IS
    934937  'The commit message.';
     938
     939COMMENT ON TABLE VcsBugReferences IS
     940  'This is for relating commits to a bug and vice versa.
     941
     942This feature isn''t so much for the test manager as a cheap way of extending
     943bug trackers without VCS integration.  We just need to parse the commit
     944messages when inserting them into the VcsRevisions table.
     945
     946Same input, updating and history considerations as VcsRevisions.';
     947
     948COMMENT ON COLUMN VcsBugReferences.sRepository IS
     949  'The version control tree name.';
     950
     951COMMENT ON COLUMN VcsBugReferences.iRevision IS
     952  'The version control tree revision number.';
     953
     954COMMENT ON COLUMN VcsBugReferences.sBugTracker IS
     955  'The bug tracker identifier - see g_kdBugTrackers in config.py.';
     956
     957COMMENT ON COLUMN VcsBugReferences.lBugNo IS
     958  'The bug number in the bug tracker.';
    935959
    936960COMMENT ON TABLE TestResultStrTab IS
  • trunk/src/VBox/ValidationKit/testmanager/db/TestManagerDatabaseInit.pgsql

    r98103 r103197  
    883883    --- Set if the test box does raw-mode tests.
    884884    fRawMode            boolean     DEFAULT NULL,
     885    -- Set if the test box does native API (NEM) tests.
     886    fNativeApi          boolean     DEFAULT NULL,
    885887    --- The (approximate) memory size in megabytes (rounded down to nearest 4 MB).
    886888    cMbMemory           bigint      DEFAULT NULL  CHECK (cMbMemory IS NULL OR cMbMemory > 0),
  • trunk/src/VBox/ValidationKit/testmanager/debug/add_testbox.pgsql

    r98103 r103197  
    5454                       fCpuNestedPaging,
    5555                       fCpu64BitGuest,
     56                       fNativeApi,
    5657                       fChipsetIoMmu,
    5758                       cMbMemory,
     
    7172                       TRUE,
    7273                       TRUE,
     74                       FALSE,
    7375                       TRUE,
    7476                       1024,
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuiadmintestbox.py

    r103106 r103197  
    112112                asFeatures.append(u'HW\u2011Virt(VT\u2011x)');
    113113        if oTestBox.fCpuNestedPaging is True: asFeatures.append(u'Nested\u2011Paging');
     114        if oTestBox.fNativeApi       is True: asFeatures.append(u'Native\u2011API');
    114115        if oTestBox.fCpu64BitGuest   is True: asFeatures.append(u'64\u2011bit\u2011Guest');
    115116        if oTestBox.fChipsetIoMmu    is True: asFeatures.append(u'I/O\u2011MMU');
     
    234235        oForm.addCheckBoxRO( TestBoxData.ksParam_fCpuHwVirt,        oData.fCpuHwVirt, 'VT-x or AMD-V supported');
    235236        oForm.addCheckBoxRO( TestBoxData.ksParam_fCpuNestedPaging,  oData.fCpuNestedPaging, 'Nested paging supported');
     237        oForm.addCheckBoxRO( TestBoxData.ksParam_fNativeApi,        oData.fNativeApi, 'Native API supported');
    236238        oForm.addCheckBoxRO( TestBoxData.ksParam_fCpu64BitGuest,    oData.fCpu64BitGuest, '64-bit guest supported');
    237239        oForm.addCheckBoxRO( TestBoxData.ksParam_fChipsetIoMmu,     oData.fChipsetIoMmu, 'I/O MMU supported');
     
    439441        if oEntry.fCpuHwVirt       is True: asFeatures.append(u'HW\u2011Virt');
    440442        if oEntry.fCpuNestedPaging is True: asFeatures.append(u'Nested\u2011Paging');
     443        if oEntry.fNativeApi       is True: asFeatures.append(u'Native\u2011API');
    441444        if oEntry.fCpu64BitGuest   is True: asFeatures.append(u'64\u2011bit\u2011Guest');
    442445        if oEntry.fChipsetIoMmu    is True: asFeatures.append(u'I/O\u2011MMU');
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuihlpform.py

    r102984 r103197  
    551551                sHtml += u'    %s_extendListEx("1-np", "1", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
    552552                         u' "fCpuNestedPaging is True", "");\n' % (sName, sSecTimeoutDef);
     553                sHtml += u'    %s_extendListEx("1-nem", "1", "%s", "--cpu-counts 1 --virt-modes native-api", ' \
     554                         u' "fNativeApi is True", "");\n' % (sName, sSecTimeoutDef);
    553555                sHtml += u'}\n';
    554556                sHtml += u'function vbox_%s_add_uni_amd64()\n' % (sName,);
     
    558560                sHtml += u'    %s_extendListEx("1-np", "%s", "--cpu-counts 1 --virt-modes hwvirt-np", ' \
    559561                         u' "fCpuNestedPaging is True", "");\n' % (sName, sSecTimeoutDef);
     562                sHtml += u'    %s_extendListEx("1-nem", "%s", "--cpu-counts 1 --virt-modes native-api", ' \
     563                         u' "fNativeApi is True", "");\n' % (sName, sSecTimeoutDef);
    560564                sHtml += u'}\n';
    561565                sHtml += u'function vbox_%s_add_smp()\n' % (sName,);
     
    565569                sHtml += u'    %s_extendListEx("2-np", "1", "%s", "--cpu-counts 2 --virt-modes hwvirt-np",' \
    566570                         u' "fCpuNestedPaging is True and cCpus >= 2", "");\n' % (sName, sSecTimeoutDef);
     571                sHtml += u'    %s_extendListEx("2-nem", "1", "%s", "--cpu-counts 2 --virt-modes native-api",' \
     572                         u' "fNativeApi is True and cCpus >= 2", "");\n' % (sName, sSecTimeoutDef);
    567573                sHtml += u'    %s_extendListEx("3-hw", "1", "%s", "--cpu-counts 3 --virt-modes hwvirt",' \
    568574                         u' "fCpuHwVirt is True and cCpus >= 3", "");\n' % (sName, sSecTimeoutDef);
     575                sHtml += u'    %s_extendListEx("3-nem", "1", "%s", "--cpu-counts 3 --virt-modes native-api",' \
     576                         u' "fNativeApi is True and cCpus >= 3", "");\n' % (sName, sSecTimeoutDef);
    569577                sHtml += u'    %s_extendListEx("4-np", "1", "%s", "--cpu-counts 4 --virt-modes hwvirt-np ",' \
    570578                         u' "fCpuNestedPaging is True and cCpus >= 4", "");\n' % (sName, sSecTimeoutDef);
     579                sHtml += u'    %s_extendListEx("4-nem", "1", "%s", "--cpu-counts 4 --virt-modes native-api",' \
     580                         u' "fNativeApi is True and cCpus >= 4", "");\n' % (sName, sSecTimeoutDef);
    571581                #sHtml += u'    %s_extendListEx("6-hw", "1", "%s", "--cpu-counts 6 --virt-modes hwvirt",' \
    572582                #         u' "fCpuHwVirt is True and cCpus >= 6", "");\n' % (sName, sSecTimeoutDef);
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuireport.py

    r98552 r103197  
    759759        elif oTestBox.fCpuHwVirt:       sHtml += u', hw';
    760760        else:                           sHtml += u', raw';
     761        if oTestBox.fNativeApi:         sHtml += u', nem';
    761762        if oTestBox.fCpu64BitGuest:     sHtml += u', 64';
    762763        sHtml += u'</td>';
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuitestresult.py

    r98103 r103197  
    692692        if oTestBox.fCpuHwVirt is True:         asFeatures.append(u'HW\u2011Virt');
    693693        if oTestBox.fCpuNestedPaging is True:   asFeatures.append(u'Nested\u2011Paging');
     694        if oTestBox.fNativeApi is True:         asFeatures.append(u'Native\u2011API');
    694695        if oTestBox.fCpu64BitGuest is True:     asFeatures.append(u'64\u2011bit\u2011Guest');
    695696        if oTestBox.fChipsetIoMmu is True:      asFeatures.append(u'I/O\u2011MMU');
     
    904905                asFeatures.append(u'HW\u2011Virt(VT\u2011x)');
    905906        if oEntry.fCpuNestedPaging is True: asFeatures.append(u'Nested\u2011Paging');
     907        if oEntry.fNativeApi       is True: asFeatures.append(u'Native\u2011API');
    906908        if oEntry.fCpu64BitGuest   is True: asFeatures.append(u'64\u2011bit\u2011Guest');
    907909        #if oEntry.fChipsetIoMmu    is True: asFeatures.append(u'I/O\u2011MMU');
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