Issue 27015: pickling and repr of exceptions with kwargs (original) (raw)
When using kwargs to construct a CalledProcessError, the repr doesn't show those args, and using kwargs also breaks pickling:
import pickle; from subprocess import CalledProcessError CalledProcessError(2, 'foo') CalledProcessError(2, 'foo') CalledProcessError(2, 'foo').returncode 2 CalledProcessError(2, 'foo').cmd 'foo' CalledProcessError(returncode=2, cmd='foo') CalledProcessError() CalledProcessError(returncode=2, cmd='foo').returncode 2 CalledProcessError(returncode=2, cmd='foo').cmd 'foo' pickle.loads(pickle.dumps(CalledProcessError(2, 'foo'))) CalledProcessError(2, 'foo') pickle.loads(pickle.dumps(CalledProcessError(returncode=2, cmd='foo'))) Traceback (most recent call last): File "", line 1, in TypeError: init() missing 2 required positional arguments: 'returncode' and 'cmd'