Re: tap tests remove working directories - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: tap tests remove working directories
Date
Msg-id 55C8ABD5.3070006@dunslane.net
Whole thread Raw
In response to Re: tap tests remove working directories  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: tap tests remove working directories  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 08/09/2015 08:58 PM, Michael Paquier wrote:
> On Sun, Aug 9, 2015 at 11:19 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
>>
>> On 08/09/2015 08:41 AM, Michael Paquier wrote:
>>> On Sun, Aug 9, 2015 at 1:40 AM, Andrew Dunstan <andrew@dunslane.net>
>>> wrote:
>>>> On 08/08/2015 09:31 AM, Robert Haas wrote:
>>>>> On Fri, Aug 7, 2015 at 7:17 PM, Andrew Dunstan <andrew@dunslane.net>
>>>>> wrote:
>>>>>> That certainly isn't what happens, and given the way this is done in
>>>>>> TestLib.pm, using the CLEANUP parameter of File::Temp's tempdir()
>>>>>> function,
>>>>>> it's not clear how we could do that easily.
>>>>> <shot-in-the-dark>
>>>>>
>>>>> Set cleanup to false and manually remove the directory later in the
>>>>> code, so that stuff runs only if we haven't died sooner?
>>>>>
>>>>> </shot-in-the-dark>
>>>>>
>>>> Yeah, maybe. I'm thinking of trying to do it more globally, like in
>>>> src/Makefile.global.in. That way we wouldn't have to add new code to
>>>> every
>>>> test file.
>>> If we rely on END to clean up the temporary data folder, there is no
>>> need to impact each test file, just the test functions called in
>>> TestLib.pm that could switch a flag to not perform any cleanup at the
>>> end of the run should an unexpected result be found. Now I am as well
>>> curious to see what you have in mind with manipulating
>>> Makefile.global.
>> See attached. If you have a better idea please post your patch.
> Sure. Attached is what I have in mind. Contrary to your version we
> keep around temp paths should a run succeed after one that has failed
> when running make check multiple times in a row. Perhaps it does not
> matter much in practice as log files get removed at each new run but I
> think that this allows a finer control in case of failure. Feel free
> to have a look.


Actually, I don't think this is a very good idea. You could end up with 
a whole series of opaquely named directories from a series of failing 
runs. If you want to keep the directory after a failure, and want to do 
another run, then rename the directory. That's what you have to do with 
the main regression tests, too. My version also has the benefit of 
changing exactly 3 lines in the source :-)

cheers

andrew



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Test code is worth the space
Next
From: Tom Lane
Date:
Subject: Re: tap tests remove working directories