[tahoe-lafs-trac-stream] [tahoe-lafs] #2049: Decide where "packaging tests" should live.

tahoe-lafs trac at tahoe-lafs.org
Tue Aug 27 17:40:01 UTC 2013


#2049: Decide where "packaging tests" should live.
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  warner
  nejucomo               |     Status:  new
         Type:  task     |  Milestone:  soon (release n/a)
     Priority:  normal   |    Version:  1.10.0
    Component:  dev-     |   Keywords:  packaging dev-infrastructure
  infrastructure         |  buildbot pypi
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by warner):

 I'm -0. I'll create that repo if you want, but first I'd like to push back
 on the notion that these tests ought to live outside of the main source
 tree.

 > Zooko points out that if the tests live in the main tahoe-lafs
 repository, then when they are invoked they may incorrectly import the
 local unpackaged code, or make other dependency mistakes.

 I think it's easy to avoid that. Our `bin/tahoe` looks in its parent
 directory for the marker file that indicates it should include `../src`
 and `../support`, etc. But if we unpack the sdist into a subdirectory, and
 run the new `bin/tahoe`, it won't look in the original tree for anything.

 (One counter-example would be if something in the build process wants to
 know if it's in a git checkout, for which `git` walks all the way to the
 filesystem root looking for a `.git` directory. I don't think that's a big
 deal.)

 More repositories means more places for contributors to look, more
 divergence between code and tests. Also it raises the buildbot question of
 which repo's changes should trigger the tests being run (presumably you'd
 want to trigger on changes in either source-repo or tests-repo, and that's
 not trivial with buildbot).

 My weak suggestion would be to put all of these "packaging tests" into a
 subdirectory of the main tree, and have the buildbot (or whatever) check
 out trunk, then run one of them. The packaging tests should not feel
 obligated to use the rest of the source code for anything, but if the test
 happens to need a trunk checkout, one is nearby. I could be talked out of
 this, though.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2049#comment:11>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list