Merge ~vila/gpgservice:pass into gpgservice:master

Proposed by Vincent Ladeuil
Status: Needs review
Proposed branch: ~vila/gpgservice:pass
Merge into: gpgservice:master
Diff against target: 28 lines (+4/-2)
2 files modified
Makefile (+1/-1)
gpgservice/tests/test_webapp.py (+3/-1)
Reviewer Review Type Date Requested Status
Otto Co-Pilot Needs Fixing
Review via email: mp+306475@code.launchpad.net

Commit message

Ensure dev wheels are available in the dependencies branch so landings can happen in jenkaas.

Description of the change

Ensure dev wheels are available in the dependencies branch so landings can happen in jenkaas.

To post a comment you must log in.
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :

The merge was fine but running tests failed.

Output of .pmr-merge-hook:

Database URL set to 'postgresql://postgres@/gpgservice_db?host=%(ROOT)s/dev-db/localhost'
git clone https://git.launchpad.net/~ubuntuone-hackers/gpgservice/+git/dependencies /tmp/tmpYnkEKD/tmp/dependencies
New python executable in /tmp/tmpYnkEKD/env/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking blinker==1.4 (from -r requirements.txt (line 1))
Downloading/unpacking flask==0.10.1 (from -r requirements.txt (line 2))
Downloading/unpacking gunicorn==19.4.5 (from -r requirements.txt (line 3))
Downloading/unpacking lazr.postgresql==0.0.2.post23 (from -r requirements.txt (line 4))
Downloading/unpacking psycopg2==2.6.1 (from -r requirements.txt (line 5))
Downloading/unpacking pygpgme==0.3 (from -r requirements.txt (line 6))
Downloading/unpacking python-logstash==0.4.5 (from -r requirements.txt (line 7))
Downloading/unpacking raven==5.20.0 (from -r requirements.txt (line 8))
Downloading/unpacking sqlalchemy==1.0.11 (from -r requirements.txt (line 9))
Downloading/unpacking statsd==3.2.1 (from -r requirements.txt (line 10))
Downloading/unpacking itsdangerous>=0.21 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Werkzeug>=0.7 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Jinja2>=2.4 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking contextlib2 (from raven==5.20.0->-r requirements.txt (line 8))
Downloading/unpacking MarkupSafe (from Jinja2>=2.4->flask==0.10.1->-r requirements.txt (line 2))
Installing collected packages: blinker, flask, gunicorn, lazr.postgresql, psycopg2, pygpgme, python-logstash, raven, sqlalchemy, statsd, itsdangerous, Werkzeug, Jinja2, contextlib2, MarkupSafe
Compiling /tmp/tmpYnkEKD/env/build/gunicorn/gunicorn/workers/_gaiohttp.py ...
  File "/tmp/tmpYnkEKD/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 78
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Successfully installed blinker flask gunicorn lazr.postgresql psycopg2 pygpgme python-logstash raven sqlalchemy statsd itsdangerous Werkzeug Jinja2 contextlib2 MarkupSafe
Cleaning up...
Downloading/unpacking coverage (from -r requirements-dev.txt (line 1))
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement coverage (from -r requirements-dev.txt (line 1))
Cleaning up...
No distributions at all found for coverage (from -r requirements-dev.txt (line 1))
Storing debug log for failure in /home/ubuntu/.pip/pip.log

review: Needs Fixing
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :
Download full text (13.7 KiB)

The merge was fine but running tests failed.

Output of .pmr-merge-hook:

Database URL set to 'postgresql://postgres@/gpgservice_db?host=%(ROOT)s/dev-db/localhost'
git clone https://git.launchpad.net/~ubuntuone-hackers/gpgservice/+git/dependencies /tmp/tmpu5mzge/tmp/dependencies
New python executable in /tmp/tmpu5mzge/env/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking blinker==1.4 (from -r requirements.txt (line 1))
Downloading/unpacking flask==0.10.1 (from -r requirements.txt (line 2))
Downloading/unpacking gunicorn==19.4.5 (from -r requirements.txt (line 3))
Downloading/unpacking lazr.postgresql==0.0.2.post23 (from -r requirements.txt (line 4))
Downloading/unpacking psycopg2==2.6.1 (from -r requirements.txt (line 5))
Downloading/unpacking pygpgme==0.3 (from -r requirements.txt (line 6))
Downloading/unpacking python-logstash==0.4.5 (from -r requirements.txt (line 7))
Downloading/unpacking raven==5.20.0 (from -r requirements.txt (line 8))
Downloading/unpacking sqlalchemy==1.0.11 (from -r requirements.txt (line 9))
Downloading/unpacking statsd==3.2.1 (from -r requirements.txt (line 10))
Downloading/unpacking itsdangerous>=0.21 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Werkzeug>=0.7 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Jinja2>=2.4 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking contextlib2 (from raven==5.20.0->-r requirements.txt (line 8))
Downloading/unpacking MarkupSafe (from Jinja2>=2.4->flask==0.10.1->-r requirements.txt (line 2))
Installing collected packages: blinker, flask, gunicorn, lazr.postgresql, psycopg2, pygpgme, python-logstash, raven, sqlalchemy, statsd, itsdangerous, Werkzeug, Jinja2, contextlib2, MarkupSafe
Compiling /tmp/tmpu5mzge/env/build/gunicorn/gunicorn/workers/_gaiohttp.py ...
  File "/tmp/tmpu5mzge/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 78
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Successfully installed blinker flask gunicorn lazr.postgresql psycopg2 pygpgme python-logstash raven sqlalchemy statsd itsdangerous Werkzeug Jinja2 contextlib2 MarkupSafe
Cleaning up...
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking coverage (from -r requirements-dev.txt (line 1))
  Running setup.py (path:/tmp/tmpu5mzge/env/build/coverage/setup.py) egg_info for package coverage

    warning: no previously-included files found matching 'ci/appveyor.token'
    no previously-included directories found matching 'doc/_build'
    no previously-included directories found matching 'tests/eggsrc/build'
    no previously-included directories found matching 'tests/eggsrc/dist'
    no previously-included directories found matching 'tests/eggsrc/*.egg-info'
    warning: no previously-included files matching '*.py[co]' found anywhere in distribution
Downloading/unpacking fixtures (from -r requirements-dev.txt (line 2))
Downloading/unpacking flake8 (from -r requirements-dev.txt (line 3))
Downloading/unpacking gpgservice-client (from -r requirements-dev.txt (line 4))
Downloading/unpacking testtools (from -r requirement...

review: Needs Fixing
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :
Download full text (13.7 KiB)

The merge was fine but running tests failed.

Output of .pmr-merge-hook:

Database URL set to 'postgresql://postgres@/gpgservice_db?host=%(ROOT)s/dev-db/localhost'
git clone https://git.launchpad.net/~ubuntuone-hackers/gpgservice/+git/dependencies /tmp/tmpF8KIv4/tmp/dependencies
New python executable in /tmp/tmpF8KIv4/env/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking blinker==1.4 (from -r requirements.txt (line 1))
Downloading/unpacking flask==0.10.1 (from -r requirements.txt (line 2))
Downloading/unpacking gunicorn==19.4.5 (from -r requirements.txt (line 3))
Downloading/unpacking lazr.postgresql==0.0.2.post23 (from -r requirements.txt (line 4))
Downloading/unpacking psycopg2==2.6.1 (from -r requirements.txt (line 5))
Downloading/unpacking pygpgme==0.3 (from -r requirements.txt (line 6))
Downloading/unpacking python-logstash==0.4.5 (from -r requirements.txt (line 7))
Downloading/unpacking raven==5.20.0 (from -r requirements.txt (line 8))
Downloading/unpacking sqlalchemy==1.0.11 (from -r requirements.txt (line 9))
Downloading/unpacking statsd==3.2.1 (from -r requirements.txt (line 10))
Downloading/unpacking itsdangerous>=0.21 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Werkzeug>=0.7 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Jinja2>=2.4 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking contextlib2 (from raven==5.20.0->-r requirements.txt (line 8))
Downloading/unpacking MarkupSafe (from Jinja2>=2.4->flask==0.10.1->-r requirements.txt (line 2))
Installing collected packages: blinker, flask, gunicorn, lazr.postgresql, psycopg2, pygpgme, python-logstash, raven, sqlalchemy, statsd, itsdangerous, Werkzeug, Jinja2, contextlib2, MarkupSafe
Compiling /tmp/tmpF8KIv4/env/build/gunicorn/gunicorn/workers/_gaiohttp.py ...
  File "/tmp/tmpF8KIv4/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 78
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Successfully installed blinker flask gunicorn lazr.postgresql psycopg2 pygpgme python-logstash raven sqlalchemy statsd itsdangerous Werkzeug Jinja2 contextlib2 MarkupSafe
Cleaning up...
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking coverage (from -r requirements-dev.txt (line 1))
  Running setup.py (path:/tmp/tmpF8KIv4/env/build/coverage/setup.py) egg_info for package coverage

    warning: no previously-included files found matching 'ci/appveyor.token'
    no previously-included directories found matching 'doc/_build'
    no previously-included directories found matching 'tests/eggsrc/build'
    no previously-included directories found matching 'tests/eggsrc/dist'
    no previously-included directories found matching 'tests/eggsrc/*.egg-info'
    warning: no previously-included files matching '*.py[co]' found anywhere in distribution
Downloading/unpacking fixtures (from -r requirements-dev.txt (line 2))
Downloading/unpacking flake8 (from -r requirements-dev.txt (line 3))
Downloading/unpacking gpgservice-client (from -r requirements-dev.txt (line 4))
Downloading/unpacking testtools (from -r requirement...

review: Needs Fixing
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :
Download full text (13.7 KiB)

The merge was fine but running tests failed.

Output of .pmr-merge-hook:

Database URL set to 'postgresql://postgres@/gpgservice_db?host=%(ROOT)s/dev-db/localhost'
git clone https://git.launchpad.net/~ubuntuone-hackers/gpgservice/+git/dependencies /tmp/tmpgjv__7/tmp/dependencies
New python executable in /tmp/tmpgjv__7/env/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking blinker==1.4 (from -r requirements.txt (line 1))
Downloading/unpacking flask==0.10.1 (from -r requirements.txt (line 2))
Downloading/unpacking gunicorn==19.4.5 (from -r requirements.txt (line 3))
Downloading/unpacking lazr.postgresql==0.0.2.post23 (from -r requirements.txt (line 4))
Downloading/unpacking psycopg2==2.6.1 (from -r requirements.txt (line 5))
Downloading/unpacking pygpgme==0.3 (from -r requirements.txt (line 6))
Downloading/unpacking python-logstash==0.4.5 (from -r requirements.txt (line 7))
Downloading/unpacking raven==5.20.0 (from -r requirements.txt (line 8))
Downloading/unpacking sqlalchemy==1.0.11 (from -r requirements.txt (line 9))
Downloading/unpacking statsd==3.2.1 (from -r requirements.txt (line 10))
Downloading/unpacking itsdangerous>=0.21 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Werkzeug>=0.7 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Jinja2>=2.4 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking contextlib2 (from raven==5.20.0->-r requirements.txt (line 8))
Downloading/unpacking MarkupSafe (from Jinja2>=2.4->flask==0.10.1->-r requirements.txt (line 2))
Installing collected packages: blinker, flask, gunicorn, lazr.postgresql, psycopg2, pygpgme, python-logstash, raven, sqlalchemy, statsd, itsdangerous, Werkzeug, Jinja2, contextlib2, MarkupSafe
Compiling /tmp/tmpgjv__7/env/build/gunicorn/gunicorn/workers/_gaiohttp.py ...
  File "/tmp/tmpgjv__7/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 78
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Successfully installed blinker flask gunicorn lazr.postgresql psycopg2 pygpgme python-logstash raven sqlalchemy statsd itsdangerous Werkzeug Jinja2 contextlib2 MarkupSafe
Cleaning up...
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking coverage (from -r requirements-dev.txt (line 1))
  Running setup.py (path:/tmp/tmpgjv__7/env/build/coverage/setup.py) egg_info for package coverage

    warning: no previously-included files found matching 'ci/appveyor.token'
    no previously-included directories found matching 'doc/_build'
    no previously-included directories found matching 'tests/eggsrc/build'
    no previously-included directories found matching 'tests/eggsrc/dist'
    no previously-included directories found matching 'tests/eggsrc/*.egg-info'
    warning: no previously-included files matching '*.py[co]' found anywhere in distribution
Downloading/unpacking fixtures (from -r requirements-dev.txt (line 2))
Downloading/unpacking flake8 (from -r requirements-dev.txt (line 3))
Downloading/unpacking gpgservice-client (from -r requirements-dev.txt (line 4))
Downloading/unpacking testtools (from -r requirement...

review: Needs Fixing
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :
Download full text (13.7 KiB)

The merge was fine but running tests failed.

Output of .pmr-merge-hook:

Database URL set to 'postgresql://postgres@/gpgservice_db?host=%(ROOT)s/dev-db/localhost'
git clone https://git.launchpad.net/~ubuntuone-hackers/gpgservice/+git/dependencies /tmp/tmpBOGY5S/tmp/dependencies
New python executable in /tmp/tmpBOGY5S/env/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking blinker==1.4 (from -r requirements.txt (line 1))
Downloading/unpacking flask==0.10.1 (from -r requirements.txt (line 2))
Downloading/unpacking gunicorn==19.4.5 (from -r requirements.txt (line 3))
Downloading/unpacking lazr.postgresql==0.0.2.post23 (from -r requirements.txt (line 4))
Downloading/unpacking psycopg2==2.6.1 (from -r requirements.txt (line 5))
Downloading/unpacking pygpgme==0.3 (from -r requirements.txt (line 6))
Downloading/unpacking python-logstash==0.4.5 (from -r requirements.txt (line 7))
Downloading/unpacking raven==5.20.0 (from -r requirements.txt (line 8))
Downloading/unpacking sqlalchemy==1.0.11 (from -r requirements.txt (line 9))
Downloading/unpacking statsd==3.2.1 (from -r requirements.txt (line 10))
Downloading/unpacking itsdangerous>=0.21 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Werkzeug>=0.7 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking Jinja2>=2.4 (from flask==0.10.1->-r requirements.txt (line 2))
Downloading/unpacking contextlib2 (from raven==5.20.0->-r requirements.txt (line 8))
Downloading/unpacking MarkupSafe (from Jinja2>=2.4->flask==0.10.1->-r requirements.txt (line 2))
Installing collected packages: blinker, flask, gunicorn, lazr.postgresql, psycopg2, pygpgme, python-logstash, raven, sqlalchemy, statsd, itsdangerous, Werkzeug, Jinja2, contextlib2, MarkupSafe
Compiling /tmp/tmpBOGY5S/env/build/gunicorn/gunicorn/workers/_gaiohttp.py ...
  File "/tmp/tmpBOGY5S/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 78
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Successfully installed blinker flask gunicorn lazr.postgresql psycopg2 pygpgme python-logstash raven sqlalchemy statsd itsdangerous Werkzeug Jinja2 contextlib2 MarkupSafe
Cleaning up...
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking coverage (from -r requirements-dev.txt (line 1))
  Running setup.py (path:/tmp/tmpBOGY5S/env/build/coverage/setup.py) egg_info for package coverage

    warning: no previously-included files found matching 'ci/appveyor.token'
    no previously-included directories found matching 'doc/_build'
    no previously-included directories found matching 'tests/eggsrc/build'
    no previously-included directories found matching 'tests/eggsrc/dist'
    no previously-included directories found matching 'tests/eggsrc/*.egg-info'
    warning: no previously-included files matching '*.py[co]' found anywhere in distribution
Downloading/unpacking fixtures (from -r requirements-dev.txt (line 2))
Downloading/unpacking flake8 (from -r requirements-dev.txt (line 3))
Downloading/unpacking gpgservice-client (from -r requirements-dev.txt (line 4))
Downloading/unpacking testtools (from -r requirement...

review: Needs Fixing
Revision history for this message
Vincent Ladeuil (vila) wrote :
Download full text (3.3 KiB)

FAIL: test_verify_document_with_unverified_contents (gpgservice.tests.test_webapp.VerifyDocumentTests)
gpgservice.tests.test_webapp.VerifyDocumentTests.test_verify_document_with_unverified_contents
----------------------------------------------------------------------
_StringException: Traceback (most recent call last):
  File "gpgservice/tests/test_webapp.py", line 767, in test_verify_document_with_unverified_contents
    resp.status_code, resp.data))
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 200 != 400: Got 400 instead of 200 with data: {
  "status": "Error: Could not find GPG public key."
}

======================================================================
FAIL: test_verifying_document_with_detached_signature (gpgservice.tests.test_webapp.VerifyDocumentTests)
gpgservice.tests.test_webapp.VerifyDocumentTests.test_verifying_document_with_detached_signature
----------------------------------------------------------------------
_StringException: Traceback (most recent call last):
  File "gpgservice/tests/test_webapp.py", line 781, in test_verifying_document_with_detached_signature
    self.assertEqual(200, resp.status_code)
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 200 != 400

======================================================================
FAIL: test_verifying_with_clearsigned (gpgservice.tests.test_webapp.VerifyDocumentTests)
gpgservice.tests.test_webapp.VerifyDocumentTests.test_verifying_with_clearsigned
----------------------------------------------------------------------
_StringException: Traceback (most recent call last):
  File "gpgservice/tests/test_webapp.py", line 742, in test_verifying_with_clearsigned
    self.assertEqual(200, resp.status_code)
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/tmp/tmpBOGY5S/env/local/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 200 != 400

So the best I can come up with is that those 3 tests use need_keyserver=True and expect a 200 return code but got a 400.

The one I instrumented, additionally complaining that "Error: Could not find GPG public key.".

Any hints ?

I first mis-read 'need_keyserver' as implying keyserver.ubuntu.com needed to be reachable and filed a RT (not processed yet) but later realizes the meaning is the opposite: this requires a *local* test key server so it's unrelated to the firewall.

The only way I can reproduce something vaguely related locally is by removing 'need_keyserver=Tru...

Read more...

Unmerged commits

43b0f95... by Vincent Ladeuil

Add some debug to diagnose the failure on jenkaas.

85fb4c6... by Vincent Ladeuil

All wheels should be available from the dependencies branch as pypi is not reachable when landing with jenkaas.

291150e... by Vincent Ladeuil

No changes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/Makefile b/Makefile
2index 639e654..66786d2 100644
3--- a/Makefile
4+++ b/Makefile
5@@ -36,7 +36,7 @@ update-dependencies:
6 cd $(DEPENDENCY_DIR) && git pull $(DEPENDENCY_REPO)
7
8 $(ENV)/dev: $(ENV)
9- @${PIP} install -f $(DEPENDENCY_DIR) -r requirements-dev.txt
10+ @${PIP} install -f $(DEPENDENCY_DIR) --no-index -r requirements-dev.txt
11 @touch $@
12
13 bootstrap: $(ENV)/dev
14diff --git a/gpgservice/tests/test_webapp.py b/gpgservice/tests/test_webapp.py
15index 7f535b4..a1207c6 100644
16--- a/gpgservice/tests/test_webapp.py
17+++ b/gpgservice/tests/test_webapp.py
18@@ -762,7 +762,9 @@ class VerifyDocumentTests(TestCase):
19 Neither has this part!
20 ''')
21 resp = fixture.post_to_verify(document)
22- self.assertEqual(200, resp.status_code)
23+ self.assertEqual(200, resp.status_code,
24+ 'Got {} instead of 200 with data: {}'.format(
25+ resp.status_code, resp.data))
26 self.assertEqual("This is a test document.\n", resp.data)
27 self.assertEqual("447DBF38C4F9C4ED752246B77D88913717B05A8F",
28 resp.headers['X-GPG-Verified-Fingerprint'])

Subscribers

People subscribed via source and target branches