[Twisted-Python] Subproject releases
James Y Knight
foom at fuhm.net
Wed Oct 19 12:10:42 EDT 2005
On Oct 18, 2005, at 8:23 PM, Jonathan Lange wrote:
> Are you recommending that we remove filename support from the Trial
> command line? Or just that we leave the filename support in a
> slightly-broken state, and spit out some warnings?
I was recommending leaving it alone in slightly-broken state.
> If we remove filename support entirely, then there are consequences
> for the buildbot quick build: there will be no easy way to test
> changed files. Buildbot passes filenames of changed files to Trial
> via the (poorly named) --testmodule option. Sometimes these files are
> actual test modules, which need to be imported and ran. If we remove
> filename support, we break this buildbot feature.
This also still be broken even if we keep semi-broken filename
support, unless we also ensure that all of twisted's tests can be run
without being imported under their proper module name. Sigh.
A possibly better alternative is to write a bit of Twisted-specific
code for the buildbot quickbuilder to do the backwards translation
from filename->modulename. That is not very hard (delete "$project/"
prefix, '.py' suffix, replace '/' with '.'), but it is twisted-repo-
layout-specific, so it can't really be reasonably done in trial itself.
On Oct 18, 2005, at 8:03 PM, Glyph Lefkowitz wrote:
> While we're at this, should we also be talking about running unit
> which are packaged within zipfiles? It seems like some of the same
> problems might be addressed, as long as we are suggesting that
> specifying filenames for tests is not a good idea.
> I'm more interested in testing the actual code packaged in zipfiles
> running the tests from there, but it seems like having the whole
> zipped up would be an interesting meta-test case.
Yes, I was thinking about that as well, and it looks like we should
be able to modify the new recursive code to work inside a zipfile
(and other setuptools-compatible-loaders). It provides replacement
listdir, isdir, and exists functions, which is all that this code needs.
More information about the Twisted-Python