postgres.git / summary / log / commit / refs

commit    f700e7d5710d04940df2d4e0d04080b1899a8f07
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Sun Apr 07 17:21:27 2024 +0000
First released in: 17.0, 12.19, 13.15, 14.12, 15.7, 16.3

    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


src/test/kerberos/t/001_auth.pl | 7 ++++++- src/test/ldap/t/001_auth.pl | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index 0363c5f5a8e..1c1fd674cf0 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -180,7 +180,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 850b28f20f8..c0f2782f495 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -147,7 +147,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); [parent: 9e0493445a57]