--- /dev/null
+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
--- /dev/null
+#!/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
--- /dev/null
+[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