diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2024-04-07 20:21:27 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2024-04-07 20:22:28 +0300 |
commit | a9c20c85c73a41d3736f142743fa1a01df1e04b6 (patch) | |
tree | 52195d5ed8111c5c7bfbd4bfb2247eee94664af4 | |
parent | c8df46b65705c87ab5b76cefe1ff69aed72095bf (diff) | |
download | postgresql-a9c20c85c73a41d3736f142743fa1a01df1e04b6.tar.gz postgresql-a9c20c85c73a41d3736f142743fa1a01df1e04b6.zip |
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
-rw-r--r-- | src/test/kerberos/t/001_auth.pl | 7 | ||||
-rw-r--r-- | src/test/ldap/t/001_auth.pl | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index 64117c24193..f2253e5b688 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -184,7 +184,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"; diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl index f651f44408b..3dd56e9f439 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -163,7 +163,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); |