summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2014-07-23 13:18:06 +0100
committerDr. Stephen Henson <steve@openssl.org>2014-07-24 19:41:29 +0100
commite0fc7961c4fbd27577fb519d9aea2dc788742715 (patch)
treed6ecb99ae473b7ffaeaab0fcaf6204e7067862ab /util
parent8e55e6de45f715d4a2e0b31775c1c739ce90c1d5 (diff)
Add conditional unit testing interface.
Don't call internal functions directly call them through SSL_test_functions(). This also makes unit testing work on Windows and platforms that don't export internal functions from shared libraries. By default unit testing is not enabled: it requires the compile time option "enable-unit-test". Reviewed-by: Geoff Thorpe <geoff@openssl.org>
Diffstat (limited to 'util')
-rwxr-xr-xutil/mk1mf.pl1
-rwxr-xr-xutil/mkdef.pl7
-rwxr-xr-xutil/ssleay.num1
3 files changed, 8 insertions, 1 deletions
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index a550523b62..66ff994852 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -1465,6 +1465,7 @@ sub read_options
"no-zlib" => 0,
"no-zlib-dynamic" => 0,
"no-ssl-trace" => 0,
+ "no-unit-test" => 0,
"fips" => \$fips,
"fipscanisterbuild" => [\$fips, \$fipscanisterbuild],
"fipscanisteronly" => [\$fips, \$fipscanisterbuild, \$fipscanisteronly],
diff --git a/util/mkdef.pl b/util/mkdef.pl
index 12e1594bbe..1b0181149d 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -119,7 +119,9 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
# SCTP
"SCTP",
# SSL TRACE
- "SSL_TRACE");
+ "SSL_TRACE",
+ # Unit testing
+ "UNIT_TEST");
my $options="";
open(IN,"<Makefile") || die "unable to open Makefile!\n";
@@ -140,6 +142,7 @@ my $no_fp_api; my $no_static_engine=1; my $no_gmp; my $no_deprecated;
my $no_rfc3779; my $no_psk; my $no_tlsext; my $no_cms; my $no_capieng;
my $no_jpake; my $no_ssl2; my $no_ec2m; my $no_nextprotoneg;
my $no_srp; my $no_nistp_gcc; my $no_sctp; my $no_ssl_trace;
+my $no_unit_test;
my $fips;
@@ -239,6 +242,7 @@ foreach (@ARGV, split(/ /, $options))
elsif (/^no-jpake$/) { $no_jpake=1; }
elsif (/^no-srp$/) { $no_srp=1; }
elsif (/^no-sctp$/) { $no_sctp=1; }
+ elsif (/^no-unit-test$/){ $no_unit_test=1; }
}
@@ -1208,6 +1212,7 @@ sub is_valid
if ($keyword eq "JPAKE" && $no_jpake) { return 0; }
if ($keyword eq "SRP" && $no_srp) { return 0; }
if ($keyword eq "SCTP" && $no_sctp) { return 0; }
+ if ($keyword eq "UNIT_TEST" && $no_unit_test) { return 0; }
if ($keyword eq "DEPRECATED" && $no_deprecated) { return 0; }
# Nothing recognise as true
diff --git a/util/ssleay.num b/util/ssleay.num
index 8814c8fe83..db8479472f 100755
--- a/util/ssleay.num
+++ b/util/ssleay.num
@@ -181,6 +181,7 @@ SSL_get_verify_depth 229 EXIST::FUNCTION:
SSL_CTX_set_session_id_context 231 EXIST::FUNCTION:
SSL_CTX_set_cert_verify_callback 232 EXIST:!VMS:FUNCTION:
SSL_CTX_set_cert_verify_cb 232 EXIST:VMS:FUNCTION:
+SSL_test_functions 233 EXIST::FUNCTION:UNIT_TEST
SSL_CTX_set_default_passwd_cb_userdata 235 EXIST:!VMS:FUNCTION:
SSL_CTX_set_def_passwd_cb_ud 235 EXIST:VMS:FUNCTION:
SSL_set_purpose 236 EXIST::FUNCTION: