summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gemato/cli.py8
-rw-r--r--tests/test_openpgp.py11
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: