diff options
-rw-r--r-- | gemato/cli.py | 8 | ||||
-rw-r--r-- | tests/test_openpgp.py | 11 |
2 files changed, 15 insertions, 4 deletions
diff --git a/gemato/cli.py b/gemato/cli.py index 22b19f7..8b28b5e 100644 --- a/gemato/cli.py +++ b/gemato/cli.py @@ -589,8 +589,12 @@ class GnuPGWrapCommand(VerifyingOpenPGPMixin, GematoCommand): p = subprocess.Popen(self.argv) ret = p.wait() if ret < 0: - logging.error(f'Child process terminated due to signal: ' - f'{signal.strsignal(-ret)}') + if hasattr(signal, 'strsignal'): + sig = signal.strsignal(-ret) + else: + sig = -ret + logging.error( + f'Child process terminated due to signal: {sig}') return ret diff --git a/tests/test_openpgp.py b/tests/test_openpgp.py index 69f0aad..3125d3a 100644 --- a/tests/test_openpgp.py +++ b/tests/test_openpgp.py @@ -845,6 +845,13 @@ def test_get_wkd_url(email, expected): assert OpenPGPEnvironment.get_wkd_url(email) == expected +def signal_desc(sig): + if hasattr(signal, 'strsignal'): + return signal.strsignal(sig) + else: + return sig + + @pytest.mark.parametrize( 'command,expected,match', [('true', 0, None), @@ -853,10 +860,10 @@ def test_get_wkd_url(email, expected): ('gpg --verify {tmp_path}/Manifest.subkey', 2, None), ('sh -c "kill $$"', -signal.SIGTERM, f'Child process terminated due to signal: ' - f'{signal.strsignal(signal.SIGTERM)}'), + f'{signal_desc(signal.SIGTERM)}'), ('sh -c "kill -USR1 $$"', -signal.SIGUSR1, f'Child process terminated due to signal: ' - f'{signal.strsignal(signal.SIGUSR1)}'), + f'{signal_desc(signal.SIGUSR1)}'), ]) def test_cli_gpg_wrap(tmp_path, caplog, command, expected, match): with open(tmp_path / '.key.bin', 'wb') as f: |