Re: tap tests remove working directories

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: tap tests remove working directories
Date: 2015-08-10 00:58:25
Message-ID: CAB7nPqTruM_W+-B9hpDkbTHyqMq+9mFPC7AJ7qjanVLDs-vYqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Aug 9, 2015 at 11:19 PM, Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>
>
> On 08/09/2015 08:41 AM, Michael Paquier wrote:
>>
>> On Sun, Aug 9, 2015 at 1:40 AM, Andrew Dunstan <andrew(at)dunslane(dot)net>
>> wrote:
>>>
>>> On 08/08/2015 09:31 AM, Robert Haas wrote:
>>>>
>>>> On Fri, Aug 7, 2015 at 7:17 PM, Andrew Dunstan <andrew(at)dunslane(dot)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.
--
Michael

Attachment Content-Type Size
20150810_tap_temppaths.patch text/x-diff 4.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2015-08-10 02:05:26 Re: Freeze avoidance of very large table.
Previous Message Tom Lane 2015-08-10 00:18:06 Re: [patch] A \pivot command for psql