diff --git a/maint/vm/ubuntu11.04/Vagrantfile b/maint/vm/ubuntu11.04/Vagrantfile new file mode 100644 index 00000000..00a19388 --- /dev/null +++ b/maint/vm/ubuntu11.04/Vagrantfile @@ -0,0 +1,8 @@ +Vagrant::Config.run do |config| + config.vm.box = "ubuntu11.04" + + config.vm.network "172.19.1.4" + config.vm.share_folder("tornado", "/tornado", "../../..", :nfs=> true) + + config.vm.provision :shell, :path => "setup.sh" +end \ No newline at end of file diff --git a/maint/vm/ubuntu11.04/setup.sh b/maint/vm/ubuntu11.04/setup.sh new file mode 100644 index 00000000..d5a30f65 --- /dev/null +++ b/maint/vm/ubuntu11.04/setup.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +# Ubuntu 10.10+ do some extra permissions checks for hard links. +# Vagrant's nfs shared folders come through with funny uids, but +# attempts to access them still work despite the visible permissions +# being incorrect. +sysctl -w kernel.yama.protected_nonaccess_hardlinks=0 + +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 oddly-named python-software-properties includes add-apt-repository. +APT_PACKAGES=" +python-pip +python-dev +libmysqlclient-dev +libcurl4-openssl-dev +python-software-properties +" + +apt-get -y install $APT_PACKAGES + + +# Ubuntu 11.04 has python 2.7 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.6 +python2.6-dev +python3.2 +python3.2-dev +" +apt-get -y install $DEADSNAKES_PACKAGES + + +PIP_PACKAGES=" +virtualenv +tox +MySQL-python +pycurl +twisted +" + +pip install $PIP_PACKAGES + +/tornado/maint/vm/shared-setup.sh diff --git a/maint/vm/ubuntu11.04/tox.ini b/maint/vm/ubuntu11.04/tox.ini new file mode 100644 index 00000000..87841ac8 --- /dev/null +++ b/maint/vm/ubuntu11.04/tox.ini @@ -0,0 +1,32 @@ +[tox] +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==11.0.0 + +[testenv:py27-full] +basepython = python2.7 +deps = + MySQL-python + pycurl + twisted==11.0.0