David Steele <david@pgmasters.net> writes:
> On 3/12/18 11:27 AM, Peter Eisentraut wrote:
>> On 3/11/18 05:11, Michael Paquier wrote:
>>> On Fri, Mar 09, 2018 at 05:23:48PM -0500, Peter Eisentraut wrote:
>>>> This seems like a useful test.
>>>>
>>>> On 3/5/18 12:35, David Steele wrote:
>>>>> +mkdir($tablespaceDir)
>>>>> + or die "unable to mkdir \"$tablespaceDir\"";
>>>>
>>>> Use BAIL_OUT instead of die in tests.
>>>
>>> Would it be better to make this practice more uniform? From the code of
>>> the tests:
>>> $ git grep die -- */t/*.pl | wc -l
>>> 50
>>
>> Yes, or maybe there is a way to "catch" die and turn it into BAIL_OUT?
>
> something like this should work:
>
> # Convert die to BAIL_OUT
> $SIG{__DIE__} = sub {BAIL_OUT(@_)};
$SIG{__DIE__} gets called even for exceptions that would be caught by a
surrunding eval block, so this should at the very least be:
$SIG{__DIE__} = sub { BAIL_OUT(@_) unless $^S };
However, that is still wrong, because die() and BAIL_OUT() mean
different things: die() aborts the current test script, while BAIL_OUT()
aborts the entire 'prove' run, i.e. all subsequent scripts in the same
test directory.
- ilmari
--
- Twitter seems more influential [than blogs] in the 'gets reported in
the mainstream press' sense at least. - Matt McLeod
- That'd be because the content of a tweet is easier to condense down
to a mainstream media article. - Calle Dybedahl