On 3/12/18 11:59 AM, Dagfinn Ilmari Mannsåker wrote: > David Steele <da...@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.
If that's the case, do we really want to abort all subsequent test modules if a single module fails? I'm good either way, just throwing it out there for consideration. -- -David da...@pgmasters.net