From 1639d972ea0b30711b9a762fe4475cdb2b229be1 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 5 Nov 2019 21:29:34 -0500 Subject: Run libtests for crypto with all available providers If QPDF_CRYPTO_PROVIDER is set, just run the tests for the given provider. This is to support cases of running the entire test suite for each provider. If QPDF_CRYPTO_PROVIDER is not set, run the tests that exercise the cyrpto provider for each available provider. --- libtests/qtest/md5.test | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'libtests/qtest/md5.test') diff --git a/libtests/qtest/md5.test b/libtests/qtest/md5.test index 076a37ec..1cf57727 100644 --- a/libtests/qtest/md5.test +++ b/libtests/qtest/md5.test @@ -9,10 +9,30 @@ require TestDriver; my $td = new TestDriver('md5'); -$td->runtest("md5", - {$td->COMMAND => "md5"}, - {$td->FILE => "md5.out", - $td->EXIT_STATUS => 0}, - $td->NORMALIZE_NEWLINES); +my @providers = (); +if (exists $ENV{'QPDF_CRYPTO_PROVIDER'}) +{ + push(@providers, $ENV{'QPDF_CRYPTO_PROVIDER'}); +} +else +{ + open(Q, "qpdf --show-crypto|") or die; + while () + { + s/\s+$//s; + push(@providers, $_); + } + close(Q); +} +foreach my $p (@providers) +{ + $ENV{'QPDF_CRYPTO_PROVIDER'} = $p; -$td->report(1); + $td->runtest("md5 ($p)", + {$td->COMMAND => "md5"}, + {$td->FILE => "md5.out", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +} + +$td->report(scalar(@providers)); -- cgit v1.2.3-54-g00ecf