Skip to content

Commit

Permalink
Install more python versions in the linux VM so we can test epoll.c too.
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
bdarnell committed Dec 30, 2011
1 parent f27b49a commit 877aa9d
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 6 deletions.
2 changes: 2 additions & 0 deletions maint/vm/shared-setup.sh
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
31 changes: 28 additions & 3 deletions maint/vm/ubuntu10.04/setup.sh
Original file line number Diff line number Diff line change
@@ -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
23 changes: 21 additions & 2 deletions maint/vm/ubuntu10.04/tox.ini
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion tornado/test/simple_httpclient_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ def test_ipv6(self):
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
Expand Down

0 comments on commit 877aa9d

Please sign in to comment.