|  | # -*- mode: perl; -*- | 
|  | # Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. | 
|  | # | 
|  | # Licensed under the OpenSSL license (the "License").  You may not use | 
|  | # this file except in compliance with the License.  You can obtain a copy | 
|  | # in the file LICENSE in the source distribution or at | 
|  | # https://www.openssl.org/source/license.html | 
|  |  | 
|  |  | 
|  | ## Test Compression | 
|  |  | 
|  | use strict; | 
|  | use warnings; | 
|  |  | 
|  | package ssltests; | 
|  | use OpenSSL::Test::Utils; | 
|  |  | 
|  | our @tests = (); | 
|  |  | 
|  | our @tests_tls1_3 = ( | 
|  | { | 
|  | name => "tlsv1_3-both-compress", | 
|  | server => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | client => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_3-client-compress", | 
|  | server => { | 
|  | }, | 
|  | client => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_3-server-compress", | 
|  | server => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | client => { | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_3-neither-compress", | 
|  | server => { | 
|  | }, | 
|  | client => { | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | ); | 
|  | our @tests_tls1_2 = ( | 
|  | { | 
|  | name => "tlsv1_2-both-compress", | 
|  | server => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | client => { | 
|  | "Options" => "Compression", | 
|  | "MaxProtocol" => "TLSv1.2" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "Yes", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_2-client-compress", | 
|  | server => { | 
|  | }, | 
|  | client => { | 
|  | "Options" => "Compression", | 
|  | "MaxProtocol" => "TLSv1.2" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_2-server-compress", | 
|  | server => { | 
|  | "Options" => "Compression" | 
|  | }, | 
|  | client => { | 
|  | "MaxProtocol" => "TLSv1.2" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | { | 
|  | name => "tlsv1_2-neither-compress", | 
|  | server => { | 
|  | }, | 
|  | client => { | 
|  | "MaxProtocol" => "TLSv1.2" | 
|  | }, | 
|  | test => { | 
|  | "CompressionExpected" => "No", | 
|  | "ExpectedResult" => "Success" | 
|  | } | 
|  | }, | 
|  | ); | 
|  |  | 
|  | push @tests, @tests_tls1_3 unless disabled("tls1_3"); | 
|  | push @tests, @tests_tls1_2 unless alldisabled(("tls1_2", "tls1_1", "tls1", | 
|  | "ssl3")); |