VirtualBox

Changeset 84684 in vbox


Ignore:
Timestamp:
Jun 4, 2020 5:38:50 PM (4 years ago)
Author:
vboxsync
Message:

Validation Kit/tdAddBasic1.py: Added more diagnostics to find out why VBoxTray sometimes simply doesn't appear to get started on certain Windows test boxes.

File:
1 edited

Legend:

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

    r84674 r84684  
    316316                    reporter.log('Loaded processes:');
    317317                    oTxsSession.syncExec(sShell, (sShell, sShellOpt, "tasklist.exe", "/FO", "CSV"), fIgnoreErrors = True);
    318                     reporter.log('Downloading Dr. Watson log ...');
     318                    reporter.log('Downloading logs ...');
    319319                    self.txsDownloadFiles(oSession, oTxsSession,
    320                                 [ ( "C:/Documents and Settings/All Users/Application Data/Microsoft/Dr Watson/drwtsn32.log" ), ],
     320                              [ ( self.getGuestVBoxTrayClientLogFile(oTestVm),
     321                                  'ga-vboxtrayclient-%s.log' % (oTestVm.sVmName,),),
     322                                ( "C:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Dr Watson\\drwtsn32.log",
     323                                  'ga-drwatson-%s.log' % (oTestVm.sVmName,), ),
     324                              ],
    321325                                fIgnoreErrors = True);
    322326
    323327        return (fRc, oTxsSession);
     328
     329    def getGuestVBoxTrayClientLogFile(self, oTestVm):
     330        """ Gets the path on the guest for the (release) log file of VBoxTray / VBoxClient. """
     331        if oTestVm.isWindows():
     332            return oTestVm.pathJoin(self.getGuestTempDir(oTestVm), 'VBoxTray.log');
     333
     334        return oTestVm.pathJoin(self.getGuestTempDir(oTestVm), 'VBoxClient.log');
     335
     336    def setGuestEnvVar(self, oSession, oTxsSession, oTestVm, sName, sValue):
     337        """ Sets a system-wide environment variable on the guest. Only supports Windows guests so far. """
     338        _ = oSession;
     339        if oTestVm.isWindows():
     340            sPathRegExe   = oTestVm.pathJoin(self.getGuestSystemDir(oTestVm), 'reg.exe');
     341            self.txsRunTest(oTxsSession, ('Setting system-wide environment variable \"%s\" ...' % (sName,)),
     342                            30 * 1000, sPathRegExe,
     343                            (sPathRegExe, 'add',
     344                             '"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"', '/v',
     345                             sName, '/t', 'REG_EXPAND_SZ', '/d', sValue, '/f'));
    324346
    325347    def testWindowsInstallAdditions(self, oSession, oTxsSession, oTestVm):
     
    329351        """
    330352
    331         # Install Dr. Watson as post-mortem debugger.
    332         sDrWatson = oTestVm.pathJoin(self.getGuestSystemDir(oTestVm), 'drwtsn32.exe');
    333         oTxsSession.syncExec(sDrWatson, (sDrWatson, '-i'), fIgnoreErrors = True);
     353        # Set system-wide env vars to enable release logging on some applications.
     354        self.setGuestEnvVar(oSession, oTxsSession, oTestVm, 'VBOXTRAY_RELEASE_LOG', 'all.e.l.l2.l3.f');
     355        self.setGuestEnvVar(oSession, oTxsSession, oTestVm, 'VBOXTRAY_RELEASE_LOG_FLAGS', 'time thread group append');
     356        self.setGuestEnvVar(oSession, oTxsSession, oTestVm, 'VBOXTRAY_RELEASE_LOG_DEST',
     357                            ('file=%s' % (self.getGuestVBoxTrayClientLogFile(oTestVm),)));
    334358
    335359        #
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