Change in vdsm[master]: util: fix execCmd to accept tuples
dkuznets at redhat.com
dkuznets at redhat.com
Sat Mar 29 13:50:23 UTC 2014
Dima Kuznetsov has posted comments on this change.
Change subject: util: fix execCmd to accept tuples
......................................................................
Patch Set 4:
(4 comments)
http://gerrit.ovirt.org/#/c/26070/4/lib/vdsm/utils.py
File lib/vdsm/utils.py:
Line 53: import threading
Line 54: import time
Line 55: import zombiereaper
Line 56:
Line 57: import cpopen
> I really like this change, in its own patch.
Done
Line 58: from .config import config
Line 59: from . import constants
Line 60:
Line 61: # Buffsize is 1K because I tested it on some use cases and 1K was fastest. If
Line 652: IMPORTANT NOTE: the new process would receive `deathSignal` when the
Line 653: controlling thread dies, which may not be what you intended: if you create
Line 654: a temporary thread, spawn a sync=False sub-process, and have the thread
Line 655: finish, the new subprocess would die immediately.
Line 656: """
> Too complicated - to support tuples (and iteratables) we can simply do:
you're right, for some reason I though that chain would be faster but surprisingly it is about twice as slower after a closer look.
Line 657: if ioclass is not None:
Line 658: cmd = command
Line 659: command = [constants.EXT_IONICE, '-c', str(ioclass)]
Line 660: if ioclassdata is not None:
http://gerrit.ovirt.org/#/c/26070/4/tests/utilsTests.py
File tests/utilsTests.py:
Line 469:
Line 470: def __init__(self, *args, **kwargs):
Line 471: TestCaseBase.__init__(self, *args, **kwargs)
Line 472:
Line 473: self.patch = Patch([(cpopen, 'CPopen', self.patchedCPopen),
> strike the last part - touching a root-owned file would succeed anyway, if
ok
Line 474: (utils, 'AsyncProc', self.patchedAsyncProc)])
Line 475:
Line 476: def setUp(self):
Line 477: self.patch.apply()
Line 476: def setUp(self):
Line 477: self.patch.apply()
Line 478:
Line 479: def tearDown(self):
Line 480: self.patch.revert()
> You don't need to implement setUp and tearDown - use MonkeyClass instead.
Done
Line 481:
Line 482: def _execCmdReturnComm(self, *args, **kwargs):
Line 483: proc = utils.execCmd(*args, **kwargs)
Line 484: proc.wait()
--
To view, visit http://gerrit.ovirt.org/26070
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I8d1269d9a26b1fef1552976ae626cf4596471283
Gerrit-PatchSet: 4
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dima Kuznetsov <dkuznets at redhat.com>
Gerrit-Reviewer: Antoni Segura Puimedon <asegurap at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Dima Kuznetsov <dkuznets at redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi at redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
More information about the vdsm-patches
mailing list