[Python-Dev] Committing bsddb 4.6.4, and where can I put testsuite temp files?
Nick Coghlan
ncoghlan at gmail.com
Wed May 14 06:37:47 CEST 2008
Brett Cannon wrote:
> On Tue, May 13, 2008 at 12:41 PM, Jesus Cea <jcea at jcea.es> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Brett Cannon wrote:
>> | It is up to the tests to clean up after themselves since they can be
>> | executed directly, so there is not magical location that gets cleaned
>> | up in case a test screws up. You can use test.test_support.TESTFN if
>> | you want a location. Or something from tempfile.
>>
>> I'm worried about the case when a test crashes and leave garbage
>> behind... that will crash future test runs.
>>
>
> Then don't crash on tests. =)
>
>> I guess I would delete the directory before using it, but I guess
>> somebody already had this problem and solved it, somehow. :-?
>
> That's usually the other way to go about it. In your test_main() or
> your setUp() methods you make sure everything is clean before you
> start.
Personally, I use the tempfile module to get a temporary directory and
do anything I need in there (see test_runpy.py or test_cmdline_script.py
for examples). That way, even if the test does manage to crash in a way
that bypasses the shutil.rmtree cleanup call (which is actually fairly
hard to do when the cleanup call is in a finally clause or a tearDown
method), it won't affect subsequent executions (although it may
accumulate clutter in the buildbot machine's temporary directories over
time).
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list