[tahoe-lafs-trac-stream] [tahoe-lafs] #1651: remove exec() from the codebase

tahoe-lafs trac at tahoe-lafs.org
Fri Jan 6 01:43:48 UTC 2012


#1651: remove exec() from the codebase
------------------------+------------------------
     Reporter:  warner  |      Owner:  somebody
         Type:  defect  |     Status:  new
     Priority:  major   |  Milestone:  eventually
    Component:  code    |    Version:  1.9.0
   Resolution:          |   Keywords:
Launchpad Bug:          |
------------------------+------------------------

Comment (by davidsarah):

 Replying to [ticket:1651 warner]:
 > We've had a number of "what version of the code are we running anyways?"
 problems, provoking tremendous heroics in the setuptools-based dependency-
 version-management code, that could go away entirely if we got rid of the
 use of {{{exec()}}} in the codebase (reducing the use of {{{fork()}}}
 would be good too, but not as critical).

 It's not as simple as that; if we don't set PYTHONPATH then we need to
 munge sys.path instead. As far as I can see this doesn't by itself do
 anything to solve any of the related bugs.

 It ''does'' make it possible to then munge sys.path differently, and more
 correctly, to how setuptools does it. But don't underestimate the amount
 of work needed to do that right.

 > To keep {{{tahoe start}}} from killing off the trial process during unit
 tests, we can do a {{{fork()}}} inside {{{tahoe start}}} before calling
 twistd. We should investigate how well this works on windows (I think we
 might skip that test on windows anyways).

 No, almost all of the subprocess tests work on Windows (and there are a
 lot of them).

 I don't see the advantage of not creating subprocesses in tests. It
 doesn't simplify anything as far as I can see, and if it means we are
 doing something different on Unix than on Windows, it just makes things
 more complicated. (It might improve the speed of the relevant tests
 slightly, but I'm not sure that would be a significant proportion of the
 total time.)

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


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