Make bntest be (mostly) file-based.
[openssl.git] / test / build.info
index aa9b933e420972268d84ff2169504036c489414b..efaf6611bce6c95c4322b85968f8e1467a48e120 100644 (file)
@@ -1,3 +1,11 @@
+{-
+     use File::Spec::Functions;
+     sub rebase_files
+     {
+         my ($base, $files) = @_;
+         return join(" ", map { "$base/$_" } split(/\s+/, $files));
+     }
+-}
 IF[{- !$disabled{tests} -}]
   PROGRAMS_NO_INST=\
           aborttest \
@@ -11,12 +19,13 @@ 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 bad_dtls_test \
+          danetest 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 dtlstest bio_enc_test
+          bioprinttest sslapitest dtlstest sslcorrupttest bio_enc_test \
+          pkey_meth_test
 
   SOURCE[aborttest]=aborttest.c
   INCLUDE[aborttest]=../include
@@ -26,7 +35,7 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[sanitytest]=../include
   DEPEND[sanitytest]=../libcrypto
 
-  SOURCE[bntest]=bntest.c
+  SOURCE[bntest]=bntest.c testutil.c test_main_custom.c
   INCLUDE[bntest]=.. ../crypto/include ../include
   DEPEND[bntest]=../libcrypto
 
@@ -170,10 +179,6 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[danetest]=../include
   DEPEND[danetest]=../libcrypto ../libssl
 
-  SOURCE[heartbeat_test]=heartbeat_test.c testutil.c
-  INCLUDE[heartbeat_test]=.. ../include
-  DEPEND[heartbeat_test]=../libcrypto ../libssl
-
   SOURCE[p5_crpt2_test]=p5_crpt2_test.c
   INCLUDE[p5_crpt2_test]=../include
   DEPEND[p5_crpt2_test]=../libcrypto
@@ -218,7 +223,7 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[dtlsv1listentest]=.. ../include
   DEPEND[dtlsv1listentest]=../libssl
 
-  SOURCE[ct_test]=ct_test.c testutil.c
+  SOURCE[ct_test]=ct_test.c testutil.c test_main_custom.c
   INCLUDE[ct_test]=../crypto/include ../include
   DEPEND[ct_test]=../libcrypto
 
@@ -230,19 +235,19 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[afalgtest]=.. ../include
   DEPEND[afalgtest]=../libcrypto
 
-  SOURCE[d2i_test]=d2i_test.c testutil.c
+  SOURCE[d2i_test]=d2i_test.c testutil.c test_main_custom.c
   INCLUDE[d2i_test]=.. ../include
   DEPEND[d2i_test]=../libcrypto
 
-  SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c testutil.c
+  SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c testutil.c test_main_custom.c
   INCLUDE[ssl_test_ctx_test]=.. ../include
   DEPEND[ssl_test_ctx_test]=../libcrypto
 
-  SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c testutil.c handshake_helper.c
+  SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c testutil.c handshake_helper.c test_main_custom.c
   INCLUDE[ssl_test]=.. ../include
   DEPEND[ssl_test]=../libcrypto ../libssl
 
-  SOURCE[cipherlist_test]=cipherlist_test.c testutil.c
+  SOURCE[cipherlist_test]=cipherlist_test.c testutil.c test_main.c
   INCLUDE[cipherlist_test]=.. ../include
   DEPEND[cipherlist_test]=../libcrypto ../libssl
 
@@ -263,18 +268,26 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[bioprinttest]=../include
   DEPEND[bioprinttest]=../libcrypto
 
-  SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c
+  SOURCE[sslapitest]=sslapitest.c ssltestlib.c testutil.c test_main_custom.c
   INCLUDE[sslapitest]=../include
   DEPEND[sslapitest]=../libcrypto ../libssl
 
-  SOURCE[dtlstest]=dtlstest.c ssltestlib.c testutil.c
+  SOURCE[dtlstest]=dtlstest.c ssltestlib.c testutil.c test_main_custom.c
   INCLUDE[dtlstest]=../include .
   DEPEND[dtlstest]=../libcrypto ../libssl
 
+  SOURCE[sslcorrupttest]=sslcorrupttest.c ssltestlib.c testutil.c
+  INCLUDE[sslcorrupttest]=../include .
+  DEPEND[sslcorrupttest]=../libcrypto ../libssl
+
   SOURCE[bio_enc_test]=bio_enc_test.c
   INCLUDE[bio_enc_test]=../include
   DEPEND[bio_enc_test]=../libcrypto
 
+  SOURCE[pkey_meth_test]=pkey_meth_test.c testutil.c test_main.c
+  INCLUDE[pkey_meth_test]=../include
+  DEPEND[pkey_meth_test]=../libcrypto
+
   IF[{- !$disabled{psk} -}]
     PROGRAMS_NO_INST=dtls_mtu_test
     SOURCE[dtls_mtu_test]=dtls_mtu_test.c ssltestlib.c
@@ -290,7 +303,7 @@ IF[{- !$disabled{tests} -}]
 
   IF[{- $disabled{shared} -}]
     PROGRAMS_NO_INST=wpackettest cipher_overhead_test
-    SOURCE[wpackettest]=wpackettest.c testutil.c
+    SOURCE[wpackettest]=wpackettest.c testutil.c test_main_custom.c
     INCLUDE[wpackettest]=../include
     DEPEND[wpackettest]=../libcrypto ../libssl
 
@@ -298,6 +311,56 @@ IF[{- !$disabled{tests} -}]
     INCLUDE[cipher_overhead_test]=.. ../include
     DEPEND[cipher_overhead_test]=../libcrypto ../libssl
   ENDIF
+
+  # Internal test programs.  These are essentially a collection of internal
+  # test routines.  Some of them 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 are forcebly linked with the static libraries, where all symbols
+  # are always available.  This excludes linking these programs natively on
+  # Windows when building shared libraries, since the static libraries share
+  # names with the DLL import libraries.
+  IF[{- $disabled{shared} || $target{build_scheme}->[1] ne 'windows' -}]
+    PROGRAMS_NO_INST=asn1_internal_test modes_internal_test x509_internal_test
+    IF[{- !$disabled{poly1305} -}]
+      PROGRAMS_NO_INST=poly1305_internal_test
+    ENDIF
+
+    SOURCE[poly1305_internal_test]=poly1305_internal_test.c testutil.c test_main_custom.c
+    INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include
+    DEPEND[poly1305_internal_test]=../libcrypto.a
+
+    SOURCE[asn1_internal_test]=asn1_internal_test.c testutil.c test_main.c
+    INCLUDE[asn1_internal_test]=.. ../include ../crypto/include
+    DEPEND[asn1_internal_test]=../libcrypto.a
+
+    SOURCE[modes_internal_test]=modes_internal_test.c testutil.c test_main_custom.c
+    INCLUDE[modes_internal_test]=.. ../include
+    DEPEND[modes_internal_test]=../libcrypto.a
+
+    SOURCE[x509_internal_test]=x509_internal_test.c testutil.c test_main.c
+    INCLUDE[x509_internal_test]=.. ../include
+    DEPEND[x509_internal_test]=../libcrypto.a
+  ENDIF
+
+  IF[{- !$disabled{mdc2} -}]
+    PROGRAMS_NO_INST=mdc2_internal_test
+  ENDIF
+
+  SOURCE[mdc2_internal_test]=mdc2_internal_test.c testutil.c test_main.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 test_main.c
+    SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../ssl/packet.c
+    INCLUDE[tls13secretstest]=.. ../include
+    DEPEND[tls13secretstest]=../libcrypto ../libssl
+  ENDIF
 ENDIF
 
 {-