VirtualBox

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


Ignore:
Timestamp:
Apr 30, 2015 2:13:56 AM (10 years ago)
Author:
vboxsync
Message:

Main,VBoxManage,VBoxShell,ValidationKit: Changed the IGuestSession:createProcess[Ex] interfaces to take argv[0] as input separate from the executable name. This is not yet implemented on the guest side.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/tests/additions/tdAddGuestCtrl.py

    r52776 r55535  
    99__copyright__ = \
    1010"""
    11 Copyright (C) 2010-2014 Oracle Corporation
     11Copyright (C) 2010-2015 Oracle Corporation
    1212
    1313This file is part of VirtualBox Open Source Edition (OSE), as
     
    262262        self.oCreds = tdCtxCreds(sUser, sPassword, sDomain);
    263263        self.sCmd = sCmd;
    264         self.aArgs = aArgs;
     264        self.aArgs = aArgs if aArgs is not None else [sCmd,];
    265265        self.aEnv = aEnv;
    266266        self.aFlags = aFlags or [];
     
    998998                         oTest.aArgs, oTest.aEnv));
    999999        try:
    1000             curProc = oGuestSession.processCreate(oTest.sCmd, \
    1001                                                   oTest.aArgs, oTest.aEnv, \
    1002                                                   oTest.aFlags, oTest.timeoutMS);
     1000            curProc = oGuestSession.processCreate(oTest.sCmd,
     1001                                                  oTest.aArgs if self.oTstDrv.fpApiVer >= 5.0 else oTest.aArgs[1:],
     1002                                                  oTest.aEnv, oTest.aFlags, oTest.timeoutMS);
    10031003            if curProc is not None:
    10041004                reporter.log2('Process start requested, waiting for start (%ldms) ...' % (oTest.timeoutMS,));
     
    15111511            sDomain = "";
    15121512            sCmd = "C:\\windows\\system32\\cmd.exe";
    1513             sArgs = [];
     1513            aArgs = [sCmd,];
    15141514
    15151515        # Number of stale guest processes to create.
     
    15421542            for i in range(0, cStaleProcs):
    15431543                try:
    1544                     oGuestSession.processCreate(sCmd, \
    1545                                                 sArgs, [], \
     1544                    oGuestSession.processCreate(sCmd,
     1545                                                aArgs if self.oTstDrv.fpApiVer >= 5.0 else aArgs[1:], [],
    15461546                                                [ vboxcon.ProcessCreateFlag_WaitForStdOut ], \
    15471547                                                30 * 1000);
     
    15651565                #
    15661566                if oTestVm.isWindows():
    1567                     sArgs = [ '/C', 'dir', '/S', 'C:\\Windows\\system'];
     1567                    aArgs = [ sCmd, '/C', 'dir', '/S', 'C:\\Windows\\system'];
    15681568                reporter.log2('Starting non-stale processes');
    15691569                aaProcs = [];
    15701570                for i in range(0, cStaleProcs):
    15711571                    try:
    1572                         oCurProc = oGuestSession.processCreate(sCmd, \
    1573                                                                sArgs, [], \
    1574                                                                [], \
    1575                                                                0); # Infinite timeout.
     1572                        oCurProc = oGuestSession.processCreate(sCmd, aArgs if self.oTstDrv.fpApiVer >= 5.0 else aArgs[1:],
     1573                                                               [], [], 0); # Infinite timeout.
    15761574                        aaProcs.append(oCurProc);
    15771575                    except:
     
    16171615                # Fire off blocking processes which are terminated via terminate().
    16181616                if oTestVm.isWindows():
    1619                     sArgs = [ '/C', 'dir', '/S', 'C:\\Windows'];
     1617                    aArgs = [ sCmd, '/C', 'dir', '/S', 'C:\\Windows'];
    16201618                reporter.log2('Starting blocking processes');
    16211619                aaProcs = [];
    16221620                for i in range(0, cStaleProcs):
    16231621                    try:
    1624                         oCurProc = oGuestSession.processCreate(sCmd, \
    1625                                                                sArgs, [], \
    1626                                                                [], 30 * 1000);
     1622                        oCurProc = oGuestSession.processCreate(sCmd, aArgs if self.oTstDrv.fpApiVer >= 5.0 else aArgs[1:],
     1623                                                               [],  [], 30 * 1000);
    16271624                        # Note: Use a timeout in the call above for not letting the stale processes
    16281625                        #       hanging around forever.  This can happen if the installed Guest Additions
     
    16981695
    16991696        if oTestVm.isWindows():
     1697            sVBoxControl = "C:\\Program Files\\Oracle\\VirtualBox Guest Additions\\VBoxControl.exe";
    17001698            aaExec = [
    17011699                # Basic executon.
    1702                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32' ],
     1700                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32' ],
    17031701                             sUser = sUser, sPassword = sPassword),
    17041702                  tdTestResultExec(fRc = True) ],
    1705                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32\\kernel32.dll' ],
     1703                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32\\kernel32.dll' ],
    17061704                             sUser = sUser, sPassword = sPassword),
    17071705                  tdTestResultExec(fRc = True) ],
    1708                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32\\nonexist.dll' ],
     1706                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32\\nonexist.dll' ],
    17091707                             sUser = sUser, sPassword = sPassword),
    17101708                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    1711                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', '/wrongparam' ],
     1709                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', '/wrongparam' ],
    17121710                             sUser = sUser, sPassword = sPassword),
    17131711                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    17141712                # Paths with spaces.
    17151713                ## @todo Get path of installed Guest Additions. Later.
    1716                 [ tdTestExec(sCmd = "C:\\Program Files\\Oracle\\VirtualBox Guest Additions\\VBoxControl.exe",
    1717                              aArgs = [ 'version' ],
     1714                [ tdTestExec(sCmd = sVBoxControl, aArgs = [ sVBoxControl, 'version' ],
    17181715                             sUser = sUser, sPassword = sPassword),
    17191716                  tdTestResultExec(fRc = True) ],
    17201717                # StdOut.
    1721                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32' ],
     1718                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32' ],
    17221719                             sUser = sUser, sPassword = sPassword),
    17231720                  tdTestResultExec(fRc = True) ],
    1724                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'stdout-non-existing' ],
     1721                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'stdout-non-existing' ],
    17251722                             sUser = sUser, sPassword = sPassword),
    17261723                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    17271724                # StdErr.
    1728                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32' ],
     1725                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32' ],
    17291726                             sUser = sUser, sPassword = sPassword),
    17301727                  tdTestResultExec(fRc = True) ],
    1731                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'stderr-non-existing' ],
     1728                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'stderr-non-existing' ],
    17321729                             sUser = sUser, sPassword = sPassword),
    17331730                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    17341731                # StdOut + StdErr.
    1735                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'c:\\windows\\system32' ],
     1732                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'c:\\windows\\system32' ],
    17361733                             sUser = sUser, sPassword = sPassword),
    17371734                  tdTestResultExec(fRc = True) ],
    1738                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir', '/S', 'stdouterr-non-existing' ],
     1735                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir', '/S', 'stdouterr-non-existing' ],
    17391736                             sUser = sUser, sPassword = sPassword),
    17401737                  tdTestResultExec(fRc = True, iExitCode = 1) ]
    17411738                # FIXME: Failing tests.
    17421739                # Environment variables.
    1743                 # [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'set', 'TEST_NONEXIST' ],
     1740                # [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'set', 'TEST_NONEXIST' ],
    17441741                #              sUser = sUser, sPassword = sPassword),
    17451742                #   tdTestResultExec(fRc = True, iExitCode = 1) ]
    1746                 # [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'set', 'windir' ],
     1743                # [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'set', 'windir' ],
    17471744                #              sUser = sUser, sPassword = sPassword,
    17481745                #              aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    17491746                #   tdTestResultExec(fRc = True, sBuf = 'windir=C:\\WINDOWS\r\n') ],
    1750                 # [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'set', 'TEST_FOO' ],
     1747                # [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'set', 'TEST_FOO' ],
    17511748                #              sUser = sUser, sPassword = sPassword,
    17521749                #              aEnv = [ 'TEST_FOO=BAR' ],
    17531750                #              aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    17541751                #   tdTestResultExec(fRc = True, sBuf = 'TEST_FOO=BAR\r\n') ],
    1755                 # [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'set', 'TEST_FOO' ],
     1752                # [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'set', 'TEST_FOO' ],
    17561753                #              sUser = sUser, sPassword = sPassword,
    17571754                #              aEnv = [ 'TEST_FOO=BAR', 'TEST_BAZ=BAR' ],
     
    17651762            # Manual test, not executed automatically.
    17661763            aaManual = [
    1767                 [ tdTestExec(sCmd = sImageOut, aArgs = [ '/C', 'dir /S C:\\Windows' ],
     1764                [ tdTestExec(sCmd = sImageOut, aArgs = [ sImageOut, '/C', 'dir /S C:\\Windows' ],
    17681765                             sUser = sUser, sPassword = sPassword,
    17691766                             aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
     
    19221919            aaTests.extend([
    19231920                # Simple.
    1924                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'wrongcommand' ],
     1921                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'wrongcommand' ],
    19251922                             sUser = sUser, sPassword = sPassword),
    19261923                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    1927                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'exit', '22' ],
     1924                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'exit', '22' ],
    19281925                             sUser = sUser, sPassword = sPassword),
    19291926                  tdTestResultExec(fRc = True, iExitCode = 22) ],
    1930                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'set', 'ERRORLEVEL=234' ],
     1927                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'set', 'ERRORLEVEL=234' ],
    19311928                             sUser = sUser, sPassword = sPassword),
    19321929                  tdTestResultExec(fRc = True, iExitCode = 0) ],
    1933                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'echo', '%WINDIR%' ],
     1930                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'echo', '%WINDIR%' ],
    19341931                             sUser = sUser, sPassword = sPassword),
    19351932                  tdTestResultExec(fRc = True, iExitCode = 0) ],
    1936                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'set', 'ERRORLEVEL=0' ],
     1933                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'set', 'ERRORLEVEL=0' ],
    19371934                             sUser = sUser, sPassword = sPassword),
    19381935                  tdTestResultExec(fRc = True, iExitCode = 0) ],
    1939                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\windows\\system32' ],
     1936                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\windows\\system32' ],
    19401937                             sUser = sUser, sPassword = sPassword),
    19411938                  tdTestResultExec(fRc = True, iExitCode = 0) ],
    1942                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\windows\\system32\\kernel32.dll' ],
     1939                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\windows\\system32\\kernel32.dll' ],
    19431940                             sUser = sUser, sPassword = sPassword),
    19441941                  tdTestResultExec(fRc = True, iExitCode = 0) ],
    1945                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-file' ],
     1942                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-file' ],
    19461943                             sUser = sUser, sPassword = sPassword),
    19471944                  tdTestResultExec(fRc = True, iExitCode = 1) ],
    1948                 [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-dir\\' ],
     1945                [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-dir\\' ],
    19491946                             sUser = sUser, sPassword = sPassword),
    19501947                  tdTestResultExec(fRc = True, iExitCode = 1) ]
    19511948                # FIXME: Failing tests.
    19521949                # With stdout.
    1953                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\windows\\system32' ],
     1950                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\windows\\system32' ],
    19541951                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut ]),
    19551952                #   tdTestResultExec(fRc = True, iExitCode = 0) ],
    1956                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-file' ],
     1953                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-file' ],
    19571954                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut ]),
    19581955                #   tdTestResultExec(fRc = True, iExitCode = 1) ],
    1959                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-dir\\' ],
     1956                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-dir\\' ],
    19601957                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut ]),
    19611958                #   tdTestResultExec(fRc = True, iExitCode = 1) ],
    19621959                # With stderr.
    1963                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\windows\\system32' ],
     1960                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\windows\\system32' ],
    19641961                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    19651962                #   tdTestResultExec(fRc = True, iExitCode = 0) ],
    1966                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-file' ],
     1963                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-file' ],
    19671964                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    19681965                #   tdTestResultExec(fRc = True, iExitCode = 1) ],
    1969                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-dir\\' ],
     1966                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-dir\\' ],
    19701967                #              sUser = sUser, sPassword = sPassword, aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    19711968                #   tdTestResultExec(fRc = True, iExitCode = 1) ],
    19721969                # With stdout/stderr.
    1973                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\windows\\system32' ],
     1970                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\windows\\system32' ],
    19741971                #              sUser = sUser, sPassword = sPassword,
    19751972                #              aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    19761973                #   tdTestResultExec(fRc = True, iExitCode = 0) ],
    1977                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-file' ],
     1974                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-file' ],
    19781975                #              sUser = sUser, sPassword = sPassword,
    19791976                #              aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
    19801977                #   tdTestResultExec(fRc = True, iExitCode = 1) ],
    1981                 # [ tdTestExec(sCmd = sImage, aArgs = [ '/C', 'dir', 'c:\\nonexisting-dir\\' ],
     1978                # [ tdTestExec(sCmd = sImage, aArgs = [ sImage, '/C', 'dir', 'c:\\nonexisting-dir\\' ],
    19821979                #              sUser = sUser, sPassword = sPassword,
    19831980                #              aFlags = [ vboxcon.ProcessCreateFlag_WaitForStdOut, vboxcon.ProcessCreateFlag_WaitForStdErr ]),
     
    20312028            # waiting for termination.
    20322029            try:
    2033                 curProc = oGuestSession.processCreate(sImage, [], \
     2030                curProc = oGuestSession.processCreate(sImage, [sImage,] if self.oTstDrv.fpApiVer >= 5.0 else [], \
    20342031                                                      [], [], 30 * 1000);
    20352032                reporter.log('Waiting for process 1 being started ...');
     
    20622059            if fRc:
    20632060                try:
    2064                     curProc = oGuestSession.processCreate(sImage, [], \
     2061                    curProc = oGuestSession.processCreate(sImage, [sImage,] if self.oTstDrv.fpApiVer >= 5.0 else [], \
    20652062                                                          [], [], 5 * 1000);
    20662063                    reporter.log('Waiting for process 2 being started ...');
     
    32823279
    32833280        sCmd = 'c:\\windows\\system32\\cmd.exe';
    3284         aArgs = [ '/C', 'dir', '/S', 'c:\\windows' ];
     3281        aArgs = [ sCmd, '/C', 'dir', '/S', 'c:\\windows' ];
    32853282        aEnv = [];
    32863283        aFlags = [];
    32873284
    32883285        for _ in range(100):
    3289             oProc = oGuestSession.processCreate(sCmd,
    3290                                                 aArgs, aEnv,
    3291                                                 aFlags, 30 * 1000);
     3286            oProc = oGuestSession.processCreate(sCmd, aArgs if self.fpApiVer >= 5.0 else aArgs[1:],
     3287                                                aEnv, aFlags, 30 * 1000);
    32923288
    32933289            aWaitFor = [ vboxcon.ProcessWaitForFlag_Terminate ];
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