Bitmask-dev tests succeed in local docker executor but fail on acab
--- git/bitmask-dev ‹master* ⁇› » gitlab-runner exec docker test 1 ↵ Running with gitlab-ci-multi-runner 1.6.1 (c52ad4f) Using Docker executor with image leapcode/soledad:latest ... Pulling docker image leapcode/soledad:latest ... Running on runner--project-1-concurrent-0 via rocinante... Cloning repository... Cloning into '/builds/project-1'... done. Checking out c1fdf7df as master... $ tox --recreate -e py27-dev py27-dev create: /builds/project-1/.tox/py27-dev py27-dev installdeps: -r/builds/project-1/pkg/requirements-testing.pip, gnupg, -egit+https://0xacab.org/leap/leap_pycommon@master#egg=leap.common, -egit+https://0xacab.org/leap/soledad@develop#egg=leap.soledad.common&subdirectory=common, -egit+https://0xacab.org/leap/soledad@develop#egg=leap.soledad.client&subdirectory=client py27-dev develop-inst: /builds/project-1 py27-dev installed: apipkg==1.4,attrs==16.2.0,cffi==1.8.3,colorama==0.3.7,configparser==3.5.0,coverage==4.2,cryptography==1.5.2,enum34==1.1.6,execnet==1.4.1,flake8==3.0.4,funcsigs==1.0.2,functools32==3.2.3.post2,gnupg==2.0.2,idna==2.1,ipaddress==1.0.17,jsonschema==2.5.1,-e git+/home/varac/leap/git/bitmask-dev@c1fdf7dfa3ba6f7eeca2a1f980ab4a68da735654#egg=leap.bitmask,-e git+https://0xacab.org/leap/leap_pycommon@70736a67088db938ca7eb9c275323767f4749ffb#egg=leap.common,-e git+https://0xacab.org/leap/soledad@4e06eb370b99f2d343e96f774a3ad9b8b77c9548#egg=leap.soledad.client&subdirectory=client,-e git+https://0xacab.org/leap/soledad@4e06eb370b99f2d343e96f774a3ad9b8b77c9548#egg=leap.soledad.common&subdirectory=common,mccabe==0.5.2,mock==2.0.0,Paste==2.0.3,pathlib2==2.1.0,pbr==1.10.0,pep8==1.7.0,psutil==4.3.1,py==1.4.31,pyasn1==0.1.9,pyasn1-modules==0.0.8,pycodestyle==2.0.0,pycparser==2.14,pyflakes==1.2.3,pyOpenSSL==16.1.0,pysqlcipher==2.6.7,pytest==3.0.3,pytest-cache==1.0,pytest-cov==2.3.1,pytest-pdb==0.1.0,pytest-pep8==1.0.6,python-dateutil==2.5.3,pyzmq==16.0.0,repoze.lru==0.6,Routes==2.3.1,scrypt==0.8.0,service-identity==16.0.0,setuptools-trial==0.6.0,six==1.10.0,srp==1.0.6,Twisted==16.4.1,txZMQ==0.7.4,zope.interface==4.3.2,zope.proxy==4.2.0 py27-dev runtests: PYTHONHASHSEED='2441002203' py27-dev runtests: commands[0] | py.test -k not bench --pep8 ============================= test session starts ============================== platform linux2 -- Python 2.7.9, pytest-3.0.3, py-1.4.31, pluggy-0.4.0 rootdir: /builds/project-1, inifile: setup.cfg plugins: cov-2.3.1, pep8-1.0.6, pdb-0.1.0 collected 309 items setup.py . src/leap/__init__.py . src/leap/bitmask/__init__.py . src/leap/bitmask/hooks.py . src/leap/bitmask/util.py . src/leap/bitmask/bonafide/__init__.py . src/leap/bitmask/bonafide/_http.py . src/leap/bitmask/bonafide/_protocol.py . src/leap/bitmask/bonafide/_srp.py . src/leap/bitmask/bonafide/bootstrap.py . src/leap/bitmask/bonafide/config.py . src/leap/bitmask/bonafide/cred_srp.py . src/leap/bitmask/bonafide/errors.py . src/leap/bitmask/bonafide/provider.py . src/leap/bitmask/bonafide/service.py . src/leap/bitmask/bonafide/session.py . src/leap/bitmask/cli/__init__.py . src/leap/bitmask/cli/bitmask_cli.py . src/leap/bitmask/cli/command.py . src/leap/bitmask/cli/eip.py . src/leap/bitmask/cli/keys.py . src/leap/bitmask/cli/logs.py . src/leap/bitmask/cli/mail.py . src/leap/bitmask/cli/user.py . src/leap/bitmask/cli/webui.py . src/leap/bitmask/core/__init__.py . src/leap/bitmask/core/_web.py . src/leap/bitmask/core/_zmq.py . src/leap/bitmask/core/api.py . src/leap/bitmask/core/configurable.py . src/leap/bitmask/core/dispatcher.py . src/leap/bitmask/core/dummy.py . src/leap/bitmask/core/flags.py . src/leap/bitmask/core/launcher.py . src/leap/bitmask/core/logs.py . src/leap/bitmask/core/mail_services.py . src/leap/bitmask/core/service.py . src/leap/bitmask/core/uuid_map.py . src/leap/bitmask/core/websocket.py . src/leap/bitmask/core/web/__init__.py . src/leap/bitmask/gui/__init__.py . src/leap/bitmask/gui/app.py . src/leap/bitmask/keymanager/__init__.py . src/leap/bitmask/keymanager/documents.py . src/leap/bitmask/keymanager/errors.py . src/leap/bitmask/keymanager/keys.py . src/leap/bitmask/keymanager/migrator.py . src/leap/bitmask/keymanager/openpgp.py . src/leap/bitmask/keymanager/validation.py . src/leap/bitmask/keymanager/wrapper.py . src/leap/bitmask/keymanager/testing/__init__.py . src/leap/bitmask/mail/__init__.py . src/leap/bitmask/mail/constants.py . src/leap/bitmask/mail/cred.py . src/leap/bitmask/mail/errors.py . src/leap/bitmask/mail/generator.py . src/leap/bitmask/mail/interfaces.py . src/leap/bitmask/mail/load_tests.py . src/leap/bitmask/mail/mail.py . src/leap/bitmask/mail/mailbox_indexer.py . src/leap/bitmask/mail/rfc3156.py . src/leap/bitmask/mail/size.py . src/leap/bitmask/mail/sync_hooks.py . src/leap/bitmask/mail/utils.py . src/leap/bitmask/mail/walk.py . src/leap/bitmask/mail/adaptors/__init__.py . src/leap/bitmask/mail/adaptors/models.py . src/leap/bitmask/mail/adaptors/soledad.py . src/leap/bitmask/mail/adaptors/soledad_indexes.py . src/leap/bitmask/mail/imap/__init__.py . src/leap/bitmask/mail/imap/account.py . src/leap/bitmask/mail/imap/mailbox.py . src/leap/bitmask/mail/imap/messages.py . src/leap/bitmask/mail/imap/server.py . src/leap/bitmask/mail/imap/service/__init__.py . src/leap/bitmask/mail/imap/service/manhole.py . src/leap/bitmask/mail/incoming/__init__.py . src/leap/bitmask/mail/incoming/service.py . src/leap/bitmask/mail/outgoing/__init__.py . src/leap/bitmask/mail/outgoing/service.py . src/leap/bitmask/mail/plugins/__init__.py . src/leap/bitmask/mail/plugins/soledad_sync_hooks.py . src/leap/bitmask/mail/smtp/__init__.py . src/leap/bitmask/mail/smtp/bounces.py . src/leap/bitmask/mail/smtp/gateway.py . src/leap/bitmask/mail/smtp/service.py . src/leap/bitmask/mail/testing/__init__.py . src/leap/bitmask/mail/testing/common.py . src/leap/bitmask/mail/testing/imap.py . src/leap/bitmask/mail/testing/smtp.py . tests/integration/bonafide/test_bonafide_stub.py .. tests/integration/cli/test_cli_stub.py .. tests/integration/core/test_core_stub.py .. tests/integration/keymanager/common.py . tests/integration/keymanager/test_keymanager.py .............................. tests/integration/keymanager/test_migrator.py ... tests/integration/keymanager/test_openpgp.py .................. tests/integration/keymanager/test_validation.py ............ tests/integration/mail/test_mail.py ...........s........s.s. tests/integration/mail/test_mailbox_indexer.py .......... tests/integration/mail/test_walk.py ..... tests/integration/mail/adaptors/test_models.py ...... tests/integration/mail/adaptors/test_soledad_adaptor.py ...........s...... tests/integration/mail/imap/imapclient.py . tests/integration/mail/imap/test_imap.py .............................. tests/integration/mail/imap/walktree.py . tests/integration/mail/incoming/test_incoming_mail.py ........... tests/integration/mail/outgoing/test_outgoing.py ...... tests/integration/mail/smtp/test_gateway.py .... ui/pydist/setup.py . ui/pydist/leap/__init__.py . ============================= 31 tests deselected ============================== ============ 274 passed, 4 skipped, 31 deselected in 86.82 seconds ============= ___________________________________ summary ____________________________________ py27-dev: commands succeeded congratulations :) Build succeeded
But they fail every time at acab, see i.e. https://0xacab.org/leap/bitmask-dev/builds/2573
$ tox --recreate -e py27-dev py27-dev create: /builds/leap/bitmask-dev/.tox/py27-dev py27-dev installdeps: -r/builds/leap/bitmask-dev/pkg/requirements-testing.pip, gnupg, -egit+https://0xacab.org/leap/leap_pycommon@master#egg=leap.common, -egit+https://0xacab.org/leap/soledad@develop#egg=leap.soledad.common&subdirectory=common, -egit+https://0xacab.org/leap/soledad@develop#egg=leap.soledad.client&subdirectory=client py27-dev develop-inst: /builds/leap/bitmask-dev py27-dev installed: apipkg==1.4,attrs==16.2.0,cffi==1.8.3,colorama==0.3.7,configparser==3.5.0,coverage==4.2,cryptography==1.5.2,enum34==1.1.6,execnet==1.4.1,flake8==3.0.4,funcsigs==1.0.2,functools32==3.2.3.post2,gnupg==2.0.2,idna==2.1,ipaddress==1.0.17,jsonschema==2.5.1,-e git+https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@0xacab.org/leap/bitmask-dev.git@c1fdf7dfa3ba6f7eeca2a1f980ab4a68da735654#egg=leap.bitmask,-e git+https://0xacab.org/leap/leap_pycommon@70736a67088db938ca7eb9c275323767f4749ffb#egg=leap.common,-e git+https://0xacab.org/leap/soledad@4e06eb370b99f2d343e96f774a3ad9b8b77c9548#egg=leap.soledad.client&subdirectory=client,-e git+https://0xacab.org/leap/soledad@4e06eb370b99f2d343e96f774a3ad9b8b77c9548#egg=leap.soledad.common&subdirectory=common,mccabe==0.5.2,mock==2.0.0,Paste==2.0.3,pathlib2==2.1.0,pbr==1.10.0,pep8==1.7.0,psutil==4.3.1,py==1.4.31,pyasn1==0.1.9,pyasn1-modules==0.0.8,pycodestyle==2.0.0,pycparser==2.14,pyflakes==1.2.3,pyOpenSSL==16.1.0,pysqlcipher==2.6.7,pytest==3.0.3,pytest-cache==1.0,pytest-cov==2.3.1,pytest-pdb==0.1.0,pytest-pep8==1.0.6,python-dateutil==2.5.3,pyzmq==16.0.0,repoze.lru==0.6,Routes==2.3.1,scrypt==0.8.0,service-identity==16.0.0,setuptools-trial==0.6.0,six==1.10.0,srp==1.0.6,Twisted==16.4.1,txZMQ==0.7.4,zope.interface==4.3.2,zope.proxy==4.2.0 py27-dev runtests: PYTHONHASHSEED='3606413698' py27-dev runtests: commands[0] | py.test -k not bench --pep8 ============================= test session starts ============================== platform linux2 -- Python 2.7.9, pytest-3.0.3, py-1.4.31, pluggy-0.4.0 rootdir: /builds/leap/bitmask-dev, inifile: setup.cfg plugins: pep8-1.0.6, cov-2.3.1, pdb-0.1.0 collected 309 items setup.py . src/leap/__init__.py . src/leap/bitmask/__init__.py . src/leap/bitmask/hooks.py . src/leap/bitmask/util.py . src/leap/bitmask/bonafide/__init__.py . src/leap/bitmask/bonafide/_http.py . src/leap/bitmask/bonafide/_protocol.py . src/leap/bitmask/bonafide/_srp.py . src/leap/bitmask/bonafide/bootstrap.py . src/leap/bitmask/bonafide/config.py . src/leap/bitmask/bonafide/cred_srp.py . src/leap/bitmask/bonafide/errors.py . src/leap/bitmask/bonafide/provider.py . src/leap/bitmask/bonafide/service.py . src/leap/bitmask/bonafide/session.py . src/leap/bitmask/cli/__init__.py . src/leap/bitmask/cli/bitmask_cli.py . src/leap/bitmask/cli/command.py . src/leap/bitmask/cli/eip.py . src/leap/bitmask/cli/keys.py . src/leap/bitmask/cli/logs.py . src/leap/bitmask/cli/mail.py . src/leap/bitmask/cli/user.py . src/leap/bitmask/cli/webui.py . src/leap/bitmask/core/__init__.py . src/leap/bitmask/core/_web.py . src/leap/bitmask/core/_zmq.py . src/leap/bitmask/core/api.py . src/leap/bitmask/core/configurable.py . src/leap/bitmask/core/dispatcher.py . src/leap/bitmask/core/dummy.py . src/leap/bitmask/core/flags.py . src/leap/bitmask/core/launcher.py . src/leap/bitmask/core/logs.py . src/leap/bitmask/core/mail_services.py . src/leap/bitmask/core/service.py . src/leap/bitmask/core/uuid_map.py . src/leap/bitmask/core/websocket.py . src/leap/bitmask/core/web/__init__.py . src/leap/bitmask/gui/__init__.py . src/leap/bitmask/gui/app.py . src/leap/bitmask/keymanager/__init__.py . src/leap/bitmask/keymanager/documents.py . src/leap/bitmask/keymanager/errors.py . src/leap/bitmask/keymanager/keys.py . src/leap/bitmask/keymanager/migrator.py . src/leap/bitmask/keymanager/openpgp.py . src/leap/bitmask/keymanager/validation.py . src/leap/bitmask/keymanager/wrapper.py . src/leap/bitmask/keymanager/testing/__init__.py . src/leap/bitmask/mail/__init__.py . src/leap/bitmask/mail/constants.py . src/leap/bitmask/mail/cred.py . src/leap/bitmask/mail/errors.py . src/leap/bitmask/mail/generator.py . src/leap/bitmask/mail/interfaces.py . src/leap/bitmask/mail/load_tests.py . src/leap/bitmask/mail/mail.py . src/leap/bitmask/mail/mailbox_indexer.py . src/leap/bitmask/mail/rfc3156.py . src/leap/bitmask/mail/size.py . src/leap/bitmask/mail/sync_hooks.py . src/leap/bitmask/mail/utils.py . src/leap/bitmask/mail/walk.py . src/leap/bitmask/mail/adaptors/__init__.py . src/leap/bitmask/mail/adaptors/models.py . src/leap/bitmask/mail/adaptors/soledad.py . src/leap/bitmask/mail/adaptors/soledad_indexes.py . src/leap/bitmask/mail/imap/__init__.py . src/leap/bitmask/mail/imap/account.py . src/leap/bitmask/mail/imap/mailbox.py . src/leap/bitmask/mail/imap/messages.py . src/leap/bitmask/mail/imap/server.py . src/leap/bitmask/mail/imap/service/__init__.py . src/leap/bitmask/mail/imap/service/manhole.py . src/leap/bitmask/mail/incoming/__init__.py . src/leap/bitmask/mail/incoming/service.py . src/leap/bitmask/mail/outgoing/__init__.py . src/leap/bitmask/mail/outgoing/service.py . src/leap/bitmask/mail/plugins/__init__.py . src/leap/bitmask/mail/plugins/soledad_sync_hooks.py . src/leap/bitmask/mail/smtp/__init__.py . src/leap/bitmask/mail/smtp/bounces.py . src/leap/bitmask/mail/smtp/gateway.py . src/leap/bitmask/mail/smtp/service.py . src/leap/bitmask/mail/testing/__init__.py . src/leap/bitmask/mail/testing/common.py . src/leap/bitmask/mail/testing/imap.py . src/leap/bitmask/mail/testing/smtp.py . tests/integration/bonafide/test_bonafide_stub.py .. tests/integration/cli/test_cli_stub.py .. tests/integration/core/test_core_stub.py .. tests/integration/keymanager/common.py . tests/integration/keymanager/test_keymanager.py .............................. tests/integration/keymanager/test_migrator.py ... tests/integration/keymanager/test_openpgp.py ..........FEFF..... tests/integration/keymanager/test_validation.py ............ tests/integration/mail/test_mail.py ...........s........s.s. tests/integration/mail/test_mailbox_indexer.py .......... tests/integration/mail/test_walk.py ..... tests/integration/mail/adaptors/test_models.py ...... tests/integration/mail/adaptors/test_soledad_adaptor.py ...........s...... tests/integration/mail/imap/imapclient.py . tests/integration/mail/imap/test_imap.py .............................. tests/integration/mail/imap/walktree.py . tests/integration/mail/incoming/test_incoming_mail.py ........... tests/integration/mail/outgoing/test_outgoing.py ...... tests/integration/mail/smtp/test_gateway.py .... ui/pydist/setup.py . ui/pydist/leap/__init__.py . ==================================== ERRORS ==================================== _____ ERROR at teardown of OpenPGPCryptoTestCase.test_self_repair_put_keys _____ NOTE: Incompatible Exception Representation, displaying natively: FirstError: FirstError[#1, [Failure instance: Traceback: : 'NoneType' object has no attribute '__getitem__' /builds/leap/bitmask-dev/.tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:393:callback /builds/leap/bitmask-dev/.tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:501:_startRunCallbacks /builds/leap/bitmask-dev/.tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:587:_runCallbacks /builds/leap/bitmask-dev/.tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:1241:gotResult --- --- /builds/leap/bitmask-dev/.tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:1185:_inlineCallbacks /builds/leap/bitmask-dev/src/leap/bitmask/keymanager/openpgp.py:275:get_all_keys /builds/leap/bitmask-dev/src/leap/bitmask/keymanager/openpgp.py:275: /builds/leap/bitmask-dev/src/leap/bitmask/keymanager/openpgp.py:273: ]] =================================== FAILURES =================================== _______________ OpenPGPCryptoTestCase.test_self_repair_put_keys ________________ result = [SoledadDocument(D-d0bb8b5ed62f4ad6b871b23b5bd0b466, 7fb05e73b75b40feaa7c2fda65...F455E2824D18DDF", "refreshed_at": 14...4606b9bc, 7fb05e73b75b40feaa7c2fda65...ctive"], "version": 1, "address": "leap@leap.se", "validation": "Weak_Chain"}')] g = deferred = def _inlineCallbacks(result, g, deferred): """ See L{inlineCallbacks}. """ # This function is complicated by the need to prevent unbounded recursion # arising from repeatedly yielding immediately ready deferreds. This while # loop and the waiting variable solve that by manually unfolding the # recursion. waiting = [True, # waiting for result? None] # result while 1: try: # Send the last result back as the result of the yield expression. isFailure = isinstance(result, failure.Failure) if isFailure: result = result.throwExceptionIntoGenerator(g) else: > result = g.send(result) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:1185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/keymanager/test_openpgp.py:306: in test_self_repair_put_keys self.assertEqual(self.count, 2) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/trial/_synctest.py:425: in assertEqual super(_Assertions, self).assertEqual(first, second, msg) E FailTest: 0 != 2 ____________ OpenPGPCryptoTestCase.test_self_repair_six_active_docs ____________ result = g = deferred = def _inlineCallbacks(result, g, deferred): """ See L{inlineCallbacks}. """ # This function is complicated by the need to prevent unbounded recursion # arising from repeatedly yielding immediately ready deferreds. This while # loop and the waiting variable solve that by manually unfolding the # recursion. waiting = [True, # waiting for result? None] # result while 1: try: # Send the last result back as the result of the yield expression. isFailure = isinstance(result, failure.Failure) if isFailure: result = result.throwExceptionIntoGenerator(g) else: > result = g.send(result) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:1185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/keymanager/test_openpgp.py:338: in test_self_repair_six_active_docs self.assertEqual(self.count, 5) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/trial/_synctest.py:425: in assertEqual super(_Assertions, self).assertEqual(first, second, msg) E FailTest: 7 != 5 ______________ OpenPGPCryptoTestCase.test_self_repair_three_keys _______________ result = g = deferred = def _inlineCallbacks(result, g, deferred): """ See L{inlineCallbacks}. """ # This function is complicated by the need to prevent unbounded recursion # arising from repeatedly yielding immediately ready deferreds. This while # loop and the waiting variable solve that by manually unfolding the # recursion. waiting = [True, # waiting for result? None] # result while 1: try: # Send the last result back as the result of the yield expression. isFailure = isinstance(result, failure.Failure) if isFailure: > result = result.throwExceptionIntoGenerator(g) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:1183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .tox/py27-dev/local/lib/python2.7/site-packages/twisted/python/failure.py:389: in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) tests/integration/keymanager/test_openpgp.py:263: in test_self_repair_three_keys key = yield pgp.get_key(ADDRESS, private=False) .tox/py27-dev/local/lib/python2.7/site-packages/twisted/internet/defer.py:587: in _runCallbacks current.result = callback(current.result, *args, **kw) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .0 = (None, None) def build_key((keydoc, activedoc)): if keydoc is None: > raise errors.KeyNotFound(address) E KeyNotFound: leap@leap.se src/leap/bitmask/keymanager/openpgp.py:236: KeyNotFound ============================= 31 tests deselected ============================== == 3 failed, 271 passed, 4 skipped, 31 deselected, 1 error in 503.31 seconds ===
(from redmine: created on 2016-10-10, closed on 2016-11-08, relates #8523 (closed))