Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Don't clobber test exit code at cleanup in LDAP/Kerberors tests
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 7 Apr 2024 17:21:27 +0000 (20:21 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 7 Apr 2024 17:25:14 +0000 (20:25 +0300)
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
src/test/ldap/t/001_auth.pl

index 0363c5f5a8ead45439fc948a57077d87079d8d7c..1c1fd674cf0a2fa6508c3f1e25c52a7c5d3234c7 100644 (file)
@@ -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";
index 850b28f20f8065d02cfdf7e79c39d5db463fdada..c0f2782f4955f9b23dbd17754c87dc772bdbc68e 100644 (file)
@@ -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);