VirtualBox

Changeset 84441 in vbox for trunk/src


Ignore:
Timestamp:
May 22, 2020 7:41:19 AM (5 years ago)
Author:
vboxsync
Message:

Validation Kit/tdAddBasic1.py: Some more ugly code for udev monitoring.

File:
1 edited

Legend:

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

    r84429 r84441  
    3434import sys;
    3535import uuid;
     36if sys.version_info[0] >= 3:
     37    from io       import StringIO as StringIO;      # pylint: disable=import-error,no-name-in-module,useless-import-alias
     38else:
     39    from StringIO import StringIO as StringIO;      # pylint: disable=import-error,no-name-in-module,useless-import-alias
    3640
    3741# Only the main script needs to modify the path.
     
    200204        if oTestVm.isLinux():
    201205            reporter.testStart('Enabling udev logging ...');
    202             oSession, oTxsSession = self.startVmAndConnectToTxsViaTcp(oTestVm.sVmName, fCdWait = False,
    203                                                                       cMsCdWait = 5 * 60 * 1000);
    204             oTxsSession.syncExec("/bin/sed", ("/bin/sed", "-i", "'s/.*udev_log.*/udev_log=\"debug\"/'", "/etc/udev/udev.conf"),
    205                                  fIgnoreErrors = True);
     206            oSession, oTxsSession = self.startVmAndConnectToTxsViaTcp(oTestVm.sVmName, fCdWait = False);
    206207            reporter.testDone();
    207 
    208             reporter.testStart('Enabling udev monitoring ...');
    209             sUdevMonitorServiceContent = \
    210                 '[Unit]\n' \
    211                 'Description=udev Monitoring\n' \
    212                 'DefaultDependencies=no\n' \
    213                 'Wants=systemd-udevd.service\n' \
    214                 'After=systemd-udevd-control.socket systemd-udevd-kernel.socket\n' \
    215                 'Before=sysinit.target systemd-udev-trigger.service\n' \
    216                 '[Service]\n' \
    217                 'Type=simple\n' \
    218                 'ExecStart=/usr/bin/sh -c "/usr/sbin/udevadm monitor --udev --env > /tmp/udev_monitor.log\n' \
    219                 '[Install]\n' \
    220                 'WantedBy=sysinit.target';
    221             sUdevMonitorServiceFile = '/etc/systemd/system/systemd-udev-monitor.service';
    222             oTxsSession.syncUploadString(sUdevMonitorServiceContent, sUdevMonitorServiceFile, 0o644);
    223             oTxsSession.syncExec("/bin/systemctl", ("/bin/systemctl", "enable", "systemd-udev-monitor.service"),
    224                                  fIgnoreErrors = True);
    225             reporter.testDone();
     208            if oTxsSession:
     209                oTxsSession.syncExec("sed",
     210                                     ("sed", "-i", "'s/.*udev_log.*/udev_log=\"debug\"/'", "/etc/udev/udev.conf"),
     211                                     fIgnoreErrors = True);
     212
     213                sUDevMonitorLog = '/tmp/udev_monitor.log';
     214
     215                reporter.testStart('Enabling udev monitoring ...');
     216                sUdevSvc = StringIO();
     217                sUdevSvc.write('[Unit]\n');
     218                sUdevSvc.write('Description=udev Monitoring\n');
     219                sUdevSvc.write('DefaultDependencies=no\n');
     220                sUdevSvc.write('Wants=systemd-udevd.service\n');
     221                sUdevSvc.write('After=systemd-udevd-control.socket systemd-udevd-kernel.socket\n');
     222                sUdevSvc.write('Before=sysinit.target systemd-udev-trigger.service\n');
     223                sUdevSvc.write('[Service]\n');
     224                sUdevSvc.write('Type=simple\n');
     225                sUdevSvc.write('ExecStart=/usr/bin/sh -c "/usr/sbin/udevadm monitor --udev --env > ' + sUDevMonitorLog + '\n');
     226                sUdevSvc.write('[Install]\n');
     227                sUdevSvc.write('WantedBy=sysinit.target');
     228                oTxsSession.syncUploadString(sUdevSvc.getvalue(), '/etc/systemd/system/systemd-udev-monitor.service', 0o644,
     229                                             fIgnoreErrors = True);
     230                oTxsSession.syncExec("systemctl", ("systemctl", "enable", "systemd-udev-monitor.service"),
     231                                     fIgnoreErrors = True);
     232                reporter.testDone();
    226233
    227234        reporter.testStart('Waiting for TXS + CD (%s)' % (self.sFileCdWait,));
    228235        if oTestVm.isLinux():
    229             (fRc, oTxsSession) = self.txsRebootAndReconnectViaTcp(oSession, oTxsSession, fCdWait = True,
    230                                                                   cMsCdWait = 5 * 60 * 1000,
    231                                                                   sFileCdWait = self.sFileCdWait);
     236            fRc, oTxsSession = self.txsRebootAndReconnectViaTcp(oSession, oTxsSession, fCdWait = True,
     237                                                                cMsCdWait = 5 * 60 * 1000,
     238                                                                sFileCdWait = self.sFileCdWait);
    232239        else:
    233240            oSession, oTxsSession = self.startVmAndConnectToTxsViaTcp(oTestVm.sVmName, fCdWait = True,
     
    237244
    238245        if oTestVm.isLinux():
    239             asLogFiles = [ '/tmp/udev_monitor.log' ];
     246            asLogFiles = [ sUDevMonitorLog ];
    240247            self.txsDownloadFiles(oSession, oTxsSession, asLogFiles, fIgnoreErrors = True);
    241248
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