SSL test framework: port resumption tests
[openssl.git] / test / generate_ssl_tests.pl
index 7a016d1fd91e6f7ba7553f0b8dda0ae371701dbf..a2f4714587ad84f5e1302a8eb9f5622aa9d970eb 100644 (file)
@@ -43,12 +43,25 @@ sub print_templates {
     # Add the implicit base configuration.
     foreach my $test (@ssltests::tests) {
         $test->{"server"} = { (%ssltests::base_server, %{$test->{"server"}}) };
-       # Do not emit an empty "server2" section.
-       if (defined $test->{"server2"}) {
+        if (defined $test->{"server2"}) {
             $test->{"server2"} = { (%ssltests::base_server, %{$test->{"server2"}}) };
+        } elsif (defined $test->{"test"}->{"ServerNameCallback"}) {
+            # Default is the same as server.
+            $test->{"server2"} = { (%ssltests::base_server, %{$test->{"server"}}) };
         } else {
+            # Do not emit an empty "server2" section.
             $test->{"server2"} = { };
         }
+        if (defined $test->{"resume_server"}) {
+            $test->{"resume_server"} = { (%ssltests::base_server, %{$test->{"resume_server"}}) };
+        } elsif (defined $test->{"test"}->{"HandshakeMode"} &&
+                 $test->{"test"}->{"HandshakeMode"} eq "Resume") {
+            # Default is the same as server.
+            $test->{"resume_server"} = { (%ssltests::base_server, %{$test->{"server"}}) };
+        } else {
+            # Do not emit an empty "resume-server" section.
+            $test->{"resume_server"} = { };
+        }
         $test->{"client"} = { (%ssltests::base_client, %{$test->{"client"}}) };
     }