[PATCH] runtests: don't try to stop stunnel before trying again
authorDan Fandrich <dan@coneharvesters.com>
Mon, 17 Apr 2023 23:57:17 +0000 (16:57 -0700)
committerSamuel Henrique <samueloph@debian.org>
Sun, 9 Mar 2025 10:45:45 +0000 (10:45 +0000)
Calling stopserver() before retrying stunnel due to an error would stop
the dependent server (such as HTTP) meaning stunnel would have nothing
to talk to when it came up. Don't try to force a stop when it didn't
actually start.  Also, don't mark the server as bad for future use when
it starts up on a retry.

Reported-by: eaglegai at github
Tested-by: eaglegai at github
Fixes #10976

Backported by: Aquila Macedo Costa <aquilamacedo@riseup.net>.

Changes:
- Apply the changes to `runtests.pl` instead of `servers.pm`, as
  `servers.pm` does not exist in this version of bookworm.

Gbp-Pq: Name dont-stop-stunnel-before-retry.patch

tests/runtests.pl

index c4c7717c1577af832ac39cf6d8c18fb8232943a8..7ac9de2dfe3c7cb42b90dea6e2e70769dac5f8de 100755 (executable)
@@ -1837,12 +1837,15 @@ sub runhttpsserver {
 
         if($httpspid <= 0 || !pidexists($httpspid)) {
             # it is NOT alive
-            stopserver($server, "$pid2");
+            # don't call stopserver since that will also kill the dependent
+            # server that has already been started properly
             displaylogs($testnumcheck);
             $doesntrun{$pidfile} = 1;
             $httpspid = $pid2 = 0;
             next;
         }
+
+        $doesntrun{$pidfile} = 0;
         # we have a server!
         if($verbose) {
             logmsg "RUN: $srvrname server is PID $httpspid port $port\n";