Don't clobber test exit code at cleanup in LDAP/Kerberors tests

If the test script die()d before running the first test, the whole test
was interpreted as SKIPped rather than failed. The PostgreSQL::Cluster
module got this right.

Backpatch to all supported versions.

Discussion: https://www.postgresql.org/message-id/fb898a70-3a88-4629-88e9-f2375020061d@iki.fi
This commit is contained in:
Heikki Linnakangas 2024-04-07 20:21:27 +03:00
parent 1843a27efb
commit 3d5a9bb8df
2 changed files with 11 additions and 1 deletions

View File

@ -188,7 +188,12 @@ system_or_bail $krb5kdc, '-P', $kdc_pidfile;
END
{
kill 'INT', `cat $kdc_pidfile` if -f $kdc_pidfile;
# take care not to change the script's exit value
my $exit_code = $?;
kill 'INT', `cat $kdc_pidfile` if defined($kdc_pidfile) && -f $kdc_pidfile;
$? = $exit_code;
}
note "setting up PostgreSQL instance";

View File

@ -150,7 +150,12 @@ system_or_bail $slapd, '-f', $slapd_conf,'-s0', '-h', "$ldap_url $ldaps_url";
END
{
# take care not to change the script's exit value
my $exit_code = $?;
kill 'INT', `cat $slapd_pidfile` if -f $slapd_pidfile;
$? = $exit_code;
}
append_to_file($ldap_pwfile, $ldap_rootpw);