Skip to content
Snippets Groups Projects
Closed test suite fails with GnuPG 2.1.17 and takes 10 minutes to run
  • View options
  • test suite fails with GnuPG 2.1.17 and takes 10 minutes to run

  • View options
  • Closed Issue created by anarcat

    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

    Linked items ... 0

  • Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    Loading Loading Loading Loading Loading Loading Loading Loading Loading Loading