Opened 11 years ago

Closed 7 weeks ago

#2308 enhancement closed fixed (fixed)

Test Twisted's release automation

Reported by: radix Owned by:
Priority: normal Milestone: totally automated release infrastructure
Component: release management Keywords:
Cc: therve, zooko Branch:
Author:

Description

I think we should have a buildbot which runs release-twisted, installs it into an environment where no pre-existing Twisted is installed, and runs the unit tests from it.

Change History (10)

comment:1 Changed 10 years ago by therve

Cc: therve added

Can you explain a bit more what you're trying to achieve here? Do we want to add unit tests to the release-twisted script? Or is it just a matter of setting up a buildbot slave ?

comment:2 Changed 10 years ago by radix

I think this ticket should just be about setting up a buildbot slave which runs the normal Twisted unit tests from an environment created by release-twisted and setup.py.

comment:3 Changed 10 years ago by radix

Milestone: Core-2.6twisted-7.0

comment:4 Changed 10 years ago by zooko

I would like to do this. Hm... My best buildslave is nooxie.zooko.com, and it supports Nexenta Zones:

http://www.gnusolaris.org/gswiki/ErastBenson/Nexenta_Zones

So if following that web page works for me, then I should theoretically be able to have a separate virtualized system where I can safely blow away twisted, then let the buildslave run its "install twisted" test, without interacting with the rest of nooxie.

Wow.

comment:5 Changed 10 years ago by zooko

Cc: zooko added

Here is a test that I would like to see automatically executed:

Get a system which doesn't have Twisted or zope.interface installed. (See above about speculations about using Nexenta Zones to manage such a system.) Get the source distribution of a minimal Python package which requires Twisted. Execute ./setup.py install on that package, and the test passes if it automatically satisfies its dependency on Twisted and Twisted's dependency on zope.interface.

This test encapsulates a functionality that is very desirable to me and is currently missing in Twisted 2.5.0.

comment:6 Changed 10 years ago by zooko

Here is a test that I personally don't care about, but Jerub on IRC mentioned it and other people seem to care about it to:

Get a system which doesn't have Twisted installed, get a source distribution of Twisted, and run ./setup.py install to install it. Now create a user account which doesn't have write-permission to its $HOME directory. Now switch to that user and execute something like python -c 'print "I WIN"'. The test passes if you can execute the Python code.

comment:7 Changed 10 years ago by zooko

see also allmydata.org "Tahoe" #348 (BuildBot step to run tests from package)

comment:8 Changed 10 years ago by radix

Milestone: twisted-8.0regular-releases

comment:9 Changed 7 years ago by <automation>

Owner: radix deleted

comment:10 Changed 7 weeks ago by Craig Rodrigues

Resolution: fixed
Status: newclosed

In 7228, a tox.ini file was added. In tox, a virtualenv is created, and the dependencies are added in the virtualenv, and the tests are run in the virtualenv, after the dependencies have been added.

tox is used on the buildbots, in Travis-CI, and appveyor.

I think this addresses the wishes in this ticket.

Note: See TracTickets for help on using tickets.