mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Plugin.call() now uses errors2 version of SubprocessError
This commit is contained in:
parent
6b6e6b1cab
commit
bb6e9cfe9f
@ -67,15 +67,19 @@ class SubprocessError(PrivateError):
|
||||
|
||||
For example:
|
||||
|
||||
>>> raise SubprocessError(returncode=2, argv=('ls', '-lh', '/no-foo/'))
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
SubprocessError: return code 2 from ('ls', '-lh', '/no-foo/')
|
||||
|
||||
The exit code of the sub-process is available via the ``returncode``
|
||||
instance attribute. For example:
|
||||
|
||||
>>> e = SubprocessError(returncode=1, argv=('/bin/false',))
|
||||
>>> e.returncode
|
||||
1
|
||||
>>> e.argv
|
||||
>>> e.argv # argv is also available
|
||||
('/bin/false',)
|
||||
>>> e.message
|
||||
"return code 1 from ('/bin/false',)"
|
||||
>>> str(e)
|
||||
"return code 1 from ('/bin/false',)"
|
||||
"""
|
||||
|
||||
format = 'return code %(returncode)d from %(argv)r'
|
||||
|
@ -291,9 +291,9 @@ class Plugin(ReadOnly):
|
||||
"""
|
||||
argv = (executable,) + args
|
||||
self.debug('Calling %r', argv)
|
||||
returncode = subprocess.call(argv)
|
||||
if returncode != 0:
|
||||
raise errors.SubprocessError(returncode, argv)
|
||||
code = subprocess.call(argv)
|
||||
if code != 0:
|
||||
raise errors2.SubprocessError(returncode=code, argv=argv)
|
||||
|
||||
def __repr__(self):
|
||||
"""
|
||||
|
@ -372,8 +372,7 @@ class test_Plugin(ClassChecker):
|
||||
"""
|
||||
o = self.cls()
|
||||
o.call('/bin/true') is None
|
||||
e = raises(errors.SubprocessError, o.call, '/bin/false')
|
||||
assert str(e) == 'return code %d from %r' % (1, ('/bin/false',))
|
||||
e = raises(errors2.SubprocessError, o.call, '/bin/false')
|
||||
assert e.returncode == 1
|
||||
assert e.argv == ('/bin/false',)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user