Add a test for the TLS1.3 secret generation
[openssl.git] / test / build.info
index 30f94a2385c73eed487f9d469df02319ee4c8cdf..6ec03f73701bfd90b2d4f2b16d2b94f6f1bc0740 100644 (file)
@@ -1,5 +1,13 @@
+{-
+     use File::Spec::Functions;
+     sub rebase_files
+     {
+         my ($base, $files) = @_;
+         return join(" ", map { "$base/$_" } split(/\s+/, $files));
+     }
+-}
 IF[{- !$disabled{tests} -}]
-  PROGRAMS=\
+  PROGRAMS_NO_INST=\
           aborttest \
           sanitytest bntest \
           ectest ecdsatest ecdhtest gmdifftest pbelutest ideatest \
@@ -11,12 +19,12 @@ IF[{- !$disabled{tests} -}]
           randtest dhtest enginetest casttest \
           bftest ssltest_old dsatest exptest rsa_test \
           evp_test evp_extra_test igetest v3nametest v3ext \
-          danetest heartbeat_test p5_crpt2_test \
+          danetest heartbeat_test p5_crpt2_test bad_dtls_test \
           constant_time_test verify_extra_test clienthellotest \
           packettest asynctest secmemtest srptest memleaktest \
           dtlsv1listentest ct_test threadstest afalgtest d2i_test \
           ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
-          bioprinttest sslapitest
+          bioprinttest sslapitest dtlstest bio_enc_test
 
   SOURCE[aborttest]=aborttest.c
   INCLUDE[aborttest]=../include
@@ -190,6 +198,10 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[clienthellotest]=../include
   DEPEND[clienthellotest]=../libcrypto ../libssl
 
+  SOURCE[bad_dtls_test]=bad_dtls_test.c
+  INCLUDE[bad_dtls_test]=../include
+  DEPEND[bad_dtls_test]=../libcrypto ../libssl
+
   SOURCE[packettest]=packettest.c
   INCLUDE[packettest]=../include
   DEPEND[packettest]=../libcrypto
@@ -258,7 +270,135 @@ IF[{- !$disabled{tests} -}]
   SOURCE[bioprinttest]=bioprinttest.c
   INCLUDE[bioprinttest]=../include
   DEPEND[bioprinttest]=../libcrypto
-  {-
+
+  SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c
+  INCLUDE[sslapitest]=../include
+  DEPEND[sslapitest]=../libcrypto ../libssl
+
+  SOURCE[dtlstest]=dtlstest.c ssltestlib.c testutil.c
+  INCLUDE[dtlstest]=../include .
+  DEPEND[dtlstest]=../libcrypto ../libssl
+
+  SOURCE[bio_enc_test]=bio_enc_test.c
+  INCLUDE[bio_enc_test]=../include
+  DEPEND[bio_enc_test]=../libcrypto
+
+  IF[{- !$disabled{psk} -}]
+    PROGRAMS_NO_INST=dtls_mtu_test
+    SOURCE[dtls_mtu_test]=dtls_mtu_test.c ssltestlib.c
+    INCLUDE[dtls_mtu_test]=.. ../include
+    DEPEND[dtls_mtu_test]=../libcrypto ../libssl
+  ENDIF
+
+  IF[{- !$disabled{shared} -}]
+    PROGRAMS_NO_INST=shlibloadtest
+    SOURCE[shlibloadtest]=shlibloadtest.c
+    INCLUDE[shlibloadtest]=../include
+  ENDIF
+
+  IF[{- $disabled{shared} -}]
+    PROGRAMS_NO_INST=wpackettest cipher_overhead_test
+    SOURCE[wpackettest]=wpackettest.c testutil.c
+    INCLUDE[wpackettest]=../include
+    DEPEND[wpackettest]=../libcrypto ../libssl
+
+    SOURCE[cipher_overhead_test]=cipher_overhead_test.c
+    INCLUDE[cipher_overhead_test]=.. ../include
+    DEPEND[cipher_overhead_test]=../libcrypto ../libssl
+  ENDIF
+
+  # Internal test programs.  These are essentially a collection of internal
+  # test routines.  Because they sometimes need to reach internal symbols that
+  # aren't available through the shared library (at least on Linux, Solaris,
+  # Windows and VMS, where the exported symbols are those listed in util/*.num),
+  # these programs may be built on files directly picked from inside crypto/
+  # or ssl/, to test using symbols that exist in those specific files.  These
+  # programs will also be linked with libcrypto / libssl, so we don't pick
+  # out more specific files than necessary.
+  # This might mean we have multiply defined symbols, but since linking is
+  # ordered with object files first and libraries after, the symbols from the
+  # object files will be chosen before those in the libraries.  This is handled
+  # properly by all linkers.
+  # Note that when building with static libraries, none of those extra files
+  # are needed, since all symbols are available anyway, regardless of what's
+  # listed in util/*.num.
+  PROGRAMS_NO_INST=asn1_internal_test modes_internal_test x509_internal_test
+  IF[{- !$disabled{mdc2} -}]
+    PROGRAMS_NO_INST=mdc2_internal_test
+  ENDIF
+  IF[{- !$disabled{poly1305} -}]
+    PROGRAMS_NO_INST=poly1305_internal_test
+  ENDIF
+
+  SOURCE[poly1305_internal_test]=poly1305_internal_test.c testutil.c
+  IF[{- !$disabled{shared} -}]
+    SOURCE[poly1305_internal_test]= ../crypto/poly1305/poly1305.c \
+        {- rebase_files("../crypto/poly1305", $target{poly1305_asm_src}) -} \
+        {- rebase_files("../crypto", $target{cpuid_asm_src}) -} \
+        ../crypto/cryptlib.c
+  ENDIF
+  INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include
+  DEPEND[poly1305_internal_test]=../libcrypto
+
+  SOURCE[asn1_internal_test]=asn1_internal_test.c testutil.c
+  IF[{- !$disabled{shared} -}]
+    SOURCE[asn1_internal_test]= ../crypto/asn1/a_strnid.c \
+        ../crypto/rsa/rsa_ameth.c ../crypto/dsa/dsa_ameth.c \
+        ../crypto/dh/dh_ameth.c ../crypto/ec/ec_ameth.c \
+        ../crypto/hmac/hm_ameth.c ../crypto/cmac/cm_ameth.c \
+        ../crypto/ec/ecx_meth.c ../crypto/ec/curve25519.c
+  ENDIF
+  INCLUDE[asn1_internal_test]=.. ../include ../crypto/include
+  DEPEND[asn1_internal_test]=../libcrypto
+
+  SOURCE[modes_internal_test]=modes_internal_test.c testutil.c
+  IF[{- !$disabled{shared} -}]
+    SOURCE[modes_internal_test]= \
+        {- rebase_files("../crypto", $target{cpuid_asm_src}); -} \
+        ../crypto/cryptlib.c
+  ENDIF
+  INCLUDE[modes_internal_test]=.. ../include
+  DEPEND[modes_internal_test]=../libcrypto
+
+  # The reason for the huge amount of directly included x509v3 files
+  # is that a table that is checked by x509_internal_test refers to
+  # structures that are spread all over those files.
+  SOURCE[x509_internal_test]=x509_internal_test.c testutil.c
+  IF[{- !$disabled{shared} -}]
+    SOURCE[x509_internal_test]= ../crypto/x509v3/v3_bitst.c \
+        ../crypto/x509v3/v3_ia5.c ../crypto/x509v3/v3_skey.c \
+        ../crypto/x509v3/v3_pku.c ../crypto/x509v3/v3_alt.c \
+        ../crypto/x509v3/v3_bcons.c ../crypto/x509v3/v3_int.c \
+        ../crypto/x509v3/v3_cpols.c ../crypto/x509v3/v3_akey.c \
+        ../crypto/x509v3/v3_crld.c ../crypto/x509v3/v3_utl.c \
+        ../crypto/x509v3/v3_extku.c ../crypto/x509v3/v3_enum.c \
+        ../crypto/x509v3/v3_sxnet.c ../crypto/x509v3/v3_info.c \
+        ../crypto/x509v3/v3_addr.c ../crypto/x509v3/v3_asid.c \
+        ../crypto/x509v3/v3_pcons.c ../crypto/x509v3/v3_pmaps.c \
+        ../crypto/x509v3/v3_pci.c ../crypto/x509v3/v3_ncons.c \
+        ../crypto/x509v3/v3_tlsf.c ../crypto/ocsp/v3_ocsp.c \
+        ../crypto/ct/ct_x509v3.c ../crypto/asn1/a_strex.c
+  ENDIF
+  INCLUDE[x509_internal_test]=.. ../include
+  DEPEND[x509_internal_test]=../libcrypto
+
+  SOURCE[mdc2_internal_test]=mdc2_internal_test.c testutil.c
+  INCLUDE[mdc2_internal_test]=.. ../include
+  DEPEND[mdc2_internal_test]=../libcrypto
+
+  # We disable this test completely in a shared build because it deliberately
+  # redefines some internal libssl symbols. This doesn't work in a non-shared
+  # build
+  IF[{- !$disabled{shared} -}]
+    PROGRAMS_NO_INST=tls13secretstest
+    SOURCE[tls13secretstest]=tls13secretstest.c testutil.c
+    SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../ssl/packet.c
+    INCLUDE[tls13secretstest]=.. ../include
+    DEPEND[tls13secretstest]=../libcrypto ../libssl
+  ENDIF
+ENDIF
+
+{-
    use File::Spec::Functions;
    use File::Basename;
    use if $^O ne "VMS", 'File::Glob' => qw/glob/;
@@ -275,16 +415,11 @@ IF[{- !$disabled{tests} -}]
        next if grep { $_ eq lc("$name.h") } @nogo_headers;
        $OUT .= <<"_____";
 
-  PROGRAMS=buildtest_$name
+  PROGRAMS_NO_INST=buildtest_$name
   GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
   SOURCE[buildtest_$name]=buildtest_$name.c
   INCLUDE[buildtest_$name]=../include
   DEPEND[buildtest_$name]=../libssl ../libcrypto
 _____
    }
-  -}
-
-  SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c
-  INCLUDE[sslapitest]=../include
-  DEPEND[sslapitest]=../libcrypto ../libssl
-ENDIF
+-}