From: Ben Darnell Date: Fri, 30 Dec 2011 08:49:19 +0000 (-0800) Subject: Install more python versions in the linux VM so we can test epoll.c too. X-Git-Tag: v2.2.0~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=877aa9d86167ad0f7df9d7a32d6918fd6792bb2f;p=thirdparty%2Ftornado.git Install more python versions in the linux VM so we can test epoll.c too. Also fix a bug in the test for python 2.5 on systems where ipv6 is not configured (socket.gaierror didn't have an `errno` attribute until 2.6) --- diff --git a/maint/vm/shared-setup.sh b/maint/vm/shared-setup.sh index 32ef120d6..4493ad1f7 100755 --- a/maint/vm/shared-setup.sh +++ b/maint/vm/shared-setup.sh @@ -1,6 +1,8 @@ #!/bin/sh # Run at the end of each vm's provisioning script +set -e + # Link tox.ini into the home directory so you can run tox immediately # after ssh'ing in without cd'ing to /vagrant (since cd'ing to /tornado # gets the wrong config) diff --git a/maint/vm/ubuntu10.04/setup.sh b/maint/vm/ubuntu10.04/setup.sh index f2381d76a..d5db904f1 100644 --- a/maint/vm/ubuntu10.04/setup.sh +++ b/maint/vm/ubuntu10.04/setup.sh @@ -1,25 +1,50 @@ #!/bin/sh +set -e + +apt-get update + # libcurl4-gnutls-dev is the default if you ask for libcurl4-dev, but it # has bugs that make our tests deadlock (the relevant tests detect this and # disable themselves, but it means that to get full coverage we have to use -# the openssl version) +# the openssl version). +# The oddly-named python-software-properties includes add-apt-repository. APT_PACKAGES=" python-pip -python-virtualenv python-dev libmysqlclient-dev libcurl4-openssl-dev +python-software-properties +" + +apt-get -y install $APT_PACKAGES + + +# Ubuntu 10.04 has python 2.6 as default; install more from here. +# The most important thing is to have both 2.5 and a later version so we +# test with both tornado.epoll and 2.6+ stdlib's select.epoll. +add-apt-repository ppa:fkrull/deadsnakes +apt-get update + +DEADSNAKES_PACKAGES=" +python2.5 +python2.5-dev +python2.7 +python2.7-dev +python3.2 +python3.2-dev " +apt-get -y install $DEADSNAKES_PACKAGES + PIP_PACKAGES=" +virtualenv tox MySQL-python pycurl twisted " -apt-get -y install $APT_PACKAGES pip install $PIP_PACKAGES /tornado/maint/vm/shared-setup.sh diff --git a/maint/vm/ubuntu10.04/tox.ini b/maint/vm/ubuntu10.04/tox.ini index a797f253f..87841ac88 100644 --- a/maint/vm/ubuntu10.04/tox.ini +++ b/maint/vm/ubuntu10.04/tox.ini @@ -1,13 +1,32 @@ [tox] -envlist=py26-full, py26 +envlist = py27-full, py25-full, py32, py25, py26, py26-full, py27 setupdir=/tornado toxworkdir=/home/vagrant/tox-tornado [testenv] commands = python -m tornado.test.runtests {posargs:} +[testenv:py25] +basepython = python2.5 +deps = simplejson + +[testenv:py25-full] +basepython = python2.5 +deps = + MySQL-python + pycurl + simplejson + twisted==11.0.0 + [testenv:py26-full] deps = MySQL-python pycurl - twisted + twisted==11.0.0 + +[testenv:py27-full] +basepython = python2.7 +deps = + MySQL-python + pycurl + twisted==11.0.0 diff --git a/tornado/test/simple_httpclient_test.py b/tornado/test/simple_httpclient_test.py index b8c8b3fe1..7b7eb19e7 100644 --- a/tornado/test/simple_httpclient_test.py +++ b/tornado/test/simple_httpclient_test.py @@ -159,7 +159,7 @@ class SimpleHTTPClientTestCase(AsyncHTTPTestCase, LogTrapTestCase): try: self.http_server.listen(self.get_http_port(), address='::1') except socket.gaierror, e: - if e.errno == socket.EAI_ADDRFAMILY: + if e.args[0] == socket.EAI_ADDRFAMILY: # python supports ipv6, but it's not configured on the network # interface, so skip this test. return