]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
80-test_cmp_http.t: on test failures print Mock server STDERR output
authorDr. David von Oheimb <dev@ddvo.net>
Wed, 29 Jan 2025 17:59:49 +0000 (18:59 +0100)
committerDr. David von Oheimb <dev@ddvo.net>
Mon, 3 Feb 2025 07:34:46 +0000 (08:34 +0100)
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26589)

test/recipes/80-test_cmp_http.t

index 3e90001a616940b76444745696c8e8faf9f32e9a..50c06cacbdb20df644bccc920a274006a4db93fb 100644 (file)
@@ -132,11 +132,10 @@ my @all_aspects = ("connection", "verification", "credentials", "commands", "enr
 @all_aspects = split /\s+/, $ENV{OPENSSL_CMP_ASPECTS} if $ENV{OPENSSL_CMP_ASPECTS};
 # set env variable, e.g., OPENSSL_CMP_ASPECTS="commands enrollment" to select specific aspects
 
+my $Mock_serverlog;
 my $faillog;
-my $file = $ENV{HARNESS_FAILLOG}; # pathname relative to result_dir
-if ($file) {
-    open($faillog, ">", $file) or die "Cannot open '$file' for writing: $!";
-}
+my $file = $ENV{HARNESS_FAILLOG} // "failed_client_invocations.txt"; # pathname relative to result_dir
+open($faillog, ">", $file) or die "Cannot open '$file' for writing: $!";
 
 sub test_cmp_http {
     my $server_name = shift;
@@ -217,8 +216,23 @@ indir data_dir() => sub {
                     test_cmp_http_aspect($server_name, $aspect, $tests);
                 };
             };
-            stop_server($server_name, $pid) if $pid;
-            ok(1, "$server_name server has terminated");
+
+            if ($server_name eq "Mock") {
+                stop_server($server_name, $pid) if $pid;
+                ok(1, "$server_name server has terminated");
+
+                if (-s $faillog) {
+                    indir "Mock" => sub {
+                        print "$server_name server STDERR output is (each line prefixed by \"# \"):\n";
+                        if (open F, $Mock_serverlog) {
+                            while (<F>) {
+                                print "# $_";
+                            }
+                            close F;
+                        }
+                    }
+                }
+            }
           }
         }
     };
@@ -295,7 +309,8 @@ sub start_server {
                           $args ? $args : ()]), display => 1);
     print "Current directory is ".getcwd()."\n";
     print "Launching $server_name server: $cmd\n";
-    my $pid = open($server_fh, "$cmd 2>".result_dir()."/error.txt |");
+    $Mock_serverlog = result_dir()."/Mock_server_STDERR.txt";
+    my $pid = open($server_fh, "$cmd 2>$Mock_serverlog |");
     unless ($pid) {
         print "Error launching $cmd, cannot obtain $server_name server PID";
         return 0;