test suite fails with GnuPG 2.1.17 and takes 10 minutes to run
View options
- Truncate descriptions
The test suite currently fails to run on Debian stretch due to 2.1 being the default GnuPG version available.
Expected behavior
In Jessie, the test suite gives me:
..xx...........................That is your own key, so it is already certified
.......................pub [unknown] 1024R/96F47C6A 1342795252
Fingerprint = 3F94 240C 918E 6359 0B04 152E 86E4 E70A 96F4 7C6A
uid 1 [unknown] Second Test Key <unittests@monkeysphere.info>
uid 2 [unknown] Test Key <foo@example.com>
sub 1024R/14B46386 1342795252
.............pub [empty] 1024R/4023702F 1110320887 [expiry: 2010-03-12 18:56:20]
Fingerprint = C9E1 F123 0DBE 47D5 7BAB 3C60 5860 73B3 4023 702F
uid 1 [empty] The Anarcat <anarcat@anarcat.ath.cx>
sub 2048R/EB8D47BB 1110320966
.
----------------------------------------------------------------------
Ran 68 tests in 29.270s
OK (expected failures=2)
Actual behavior
In stretch, it fails in test_special_key (test_network.TestGpgNetwork)
with:
AlarmException: timeout in _communicate_with_poll
Full output below.
Steps to reproduce
Run the test suite in Debian Stretch.
Suggested fixes
No frigging clue. Blame GnuPG.
Testsuite output
$ ./scripts/monkeysign --test
.....Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ccec68>> ignored
.Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cde170>> ignored
..Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cceb90>> ignored
.Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cde3f8>> ignored
....Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cde518>> ignored
......Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85b00>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85e18>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85e60>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85b48>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85b00>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85b48>> ignored
.Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ce0998>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ce0998>> ignored
...Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cf9518>> ignored
..Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d04830>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d04c20>> ignored
..That is your own key, so it is already certified
.Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d1e908>> ignored
.E......................pub [unknown] 1024R/96F47C6A 1342795252
Fingerprint = 3F94 240C 918E 6359 0B04 152E 86E4 E70A 96F4 7C6A
uid 1 [unknown] Second Test Key <unittests@monkeysphere.info>
uid 2 [unknown] Test Key <foo@example.com>
sub 1024R/14B46386 1342795252
.............pub [empty] 1024R/4023702F 1110320887 [expiry: 2010-03-12 18:56:20]
Fingerprint = C9E1 F123 0DBE 47D5 7BAB 3C60 5860 73B3 4023 702F
uid 1 [empty] The Anarcat <anarcat@anarcat.ath.cx>
sub 2048R/EB8D47BB 1110320966
...
======================================================================
ERROR: test_special_key (test_network.TestGpgNetwork)
test a key that sign_key had trouble with
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/anarcat/src/monkeysign/monkeysign/tests/test_network.py", line 58, in test_special_key
self.assertTrue(self.gpg.import_data(open(find_test_file('96F47C6A-secret.asc')).read()))
File "./scripts/../monkeysign/gpg.py", line 344, in import_data
self.context.call_command(['import'], data)
File "./scripts/../monkeysign/gpg.py", line 184, in call_command
(self.stdout, self.stderr) = proc.communicate(stdin)
File "/usr/lib/python2.7/subprocess.py", line 479, in communicate
return self._communicate(input)
File "/usr/lib/python2.7/subprocess.py", line 1098, in _communicate
stdout, stderr = self._communicate_with_poll(input)
File "/usr/lib/python2.7/subprocess.py", line 1152, in _communicate_with_poll
ready = poller.poll()
File "/home/anarcat/src/monkeysign/monkeysign/tests/test_lib.py", line 35, in handle_alarm
raise AlarmException('timeout in %s' % frame.f_code.co_name)
AlarmException: timeout in _communicate_with_poll
----------------------------------------------------------------------
Ran 68 tests in 545.874s
FAILED (errors=1)
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d17638>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d04a70>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cf9a28>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cf9128>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ce9128>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85e18>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ce0638>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d7cab8>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d8d908>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d85878>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cde518>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d70320>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9ccee18>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d69680>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d2f710>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cb0e60>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d692d8>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cce050>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cc6c68>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cdeb00>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cce5a8>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9d2f440>> ignored
Exception OSError: OSError(2, 'Aucun fichier ou dossier de ce type') in <bound method TempKeyring.__del__ of <monkeysign.gpg.TempKeyring instance at 0x7fb0a9cc6e60>> ignored
Also note all the exceptions that mysteriously don't make the tests fail - that can't be good... Or at least if it's okay, they should be silenced!
Environment details
$ ./scripts/monkeysign --version
Monkeysign: 2.2.2
Load path: /home/anarcat/src/monkeysign/monkeysign
CPython: 2.7.13 (GCC 6.2.1 20161215 default Dec 18 2016 20:19:42)
Kernel: Linux curie 4.8.0-2-amd64 #1 SMP Debian 4.8.15-2 (2017-01-04) x86_64
Operating system: debian stretch/sid (Linux)
PID: 16662, CWD: /home/anarcat/src/monkeysign
Command: ['./scripts/monkeysign', '--version']
GnuPG: 2.1.17
running from the git repository...
Debugging output
Attached because too large.test-gnugpg-2.1.txt
- Show labels
- Show closed items