tests: add new feature 'SSLpinning'
... and make test 2034 and 2035 require it, and have it set when built
with OpenSSL or GnuTLS.
diff --git a/tests/FILEFORMAT b/tests/FILEFORMAT
index e484272..9fd179e 100644
--- a/tests/FILEFORMAT
+++ b/tests/FILEFORMAT
@@ -213,6 +213,7 @@
OpenSSL
socks
SSL
+SSLpinning
TLS-SRP
TrackMemory
unittest
diff --git a/tests/data/test2034 b/tests/data/test2034
index 92f6085..965c9a1 100644
--- a/tests/data/test2034
+++ b/tests/data/test2034
@@ -25,6 +25,7 @@
<client>
<features>
SSL
+SSLpinning
</features>
<server>
https Server-localhost-sv.pem
diff --git a/tests/data/test2035 b/tests/data/test2035
index 8591be2..64282fa 100644
--- a/tests/data/test2035
+++ b/tests/data/test2035
@@ -17,6 +17,7 @@
<client>
<features>
SSL
+SSLpinning
</features>
<server>
https Server-localhost-sv.pem
diff --git a/tests/runtests.pl b/tests/runtests.pl
index f52678c..8802c0c 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -224,6 +224,8 @@
my $has_winssl; # built with WinSSL (Secure Channel aka Schannel)
my $has_darwinssl;# build with DarwinSSL (Secure Transport)
+my $has_sslpinning; # built with a TLS backend that supports pinning
+
my $has_shared = "unknown"; # built shared
my $resolver; # string to hold the resolver backend
@@ -2299,10 +2301,12 @@
}
elsif ($libcurl =~ /openssl/i) {
$has_openssl=1;
+ $has_sslpinning=1;
$ssllib="OpenSSL";
}
elsif ($libcurl =~ /gnutls/i) {
$has_gnutls=1;
+ $has_sslpinning=1;
$ssllib="GnuTLS";
}
elsif ($libcurl =~ /nss/i) {
@@ -2758,6 +2762,11 @@
next;
}
}
+ elsif($1 eq "SSLpinning") {
+ if($has_sslpinning) {
+ next;
+ }
+ }
elsif($1 eq "OpenSSL") {
if($has_openssl) {
next;