aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/data/test3072
-rw-r--r--tests/libtest/Makefile.am2
-rwxr-xr-xtests/libtest/test307.pl19
-rwxr-xr-xtests/runtests.pl2
4 files changed, 24 insertions, 1 deletions
diff --git a/tests/data/test307 b/tests/data/test307
index 0be9dda1b..5d626d75d 100644
--- a/tests/data/test307
+++ b/tests/data/test307
@@ -21,7 +21,7 @@ OpenSSL
https
</server>
<precheck>
-echo Cannot determine list of SSL engines
+perl %SRCDIR/libtest/test307.pl %CURL
</precheck>
<name>
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
index aadd9c7ed..6fd685854 100644
--- a/tests/libtest/Makefile.am
+++ b/tests/libtest/Makefile.am
@@ -35,6 +35,8 @@ INCLUDES = -I$(top_srcdir)/include/curl \
LIBDIR = $(top_builddir)/lib
+EXTRA_DIST = test307.pl
+
# these files are used in every single test program below
SUPPORTFILES = first.c test.h
diff --git a/tests/libtest/test307.pl b/tests/libtest/test307.pl
new file mode 100755
index 000000000..7e2687b54
--- /dev/null
+++ b/tests/libtest/test307.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/env perl
+# Determine if the given curl executable supports the 'openssl' SSL engine
+if ( $#ARGV != 0 )
+{
+ print "Usage: $0 curl-executable\n";
+ exit 3;
+}
+if (!open(CURL, "@ARGV[0] -s --engine list|"))
+{
+ print "Can't get SSL engine list\n";
+ exit 2;
+}
+while( <CURL> )
+{
+ exit 0 if ( /openssl/ );
+}
+close CURL;
+print "openssl engine not supported\n";
+exit 1;
diff --git a/tests/runtests.pl b/tests/runtests.pl
index d43657131..bc36a92cb 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -1111,6 +1111,7 @@ sub subVariables {
$$thing =~ s/%PWD/$pwd/g;
$$thing =~ s/%TFTPPORT/$TFTPPORT/g;
$$thing =~ s/%TFTP6PORT/$TFTP6PORT/g;
+ $$thing =~ s/%CURL/$CURL/g;
# The purpose of FTPTIME2 and FTPTIME3 is to provide times that can be
# used for time-out tests and that whould work on most hosts as these
@@ -1226,6 +1227,7 @@ sub singletest {
my @precheck = getpart("client", "precheck");
$cmd = $precheck[0];
chomp $cmd;
+ subVariables \$cmd;
if($cmd) {
my @o = `$cmd 2>/dev/null`;
if($o[0]) {