diff options
author | Andy Polyakov <appro@openssl.org> | 2017-02-03 14:00:22 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2017-02-06 08:25:09 +0100 |
commit | e05a453f6af2debbc868136a9760fec78fbd0c53 (patch) | |
tree | 07c009331c42e4085f71ddb76fc497448027ecba /test/recipes/99-test_fuzz.t | |
parent | x86_64 assembly pack: Win64 SEH face-lift. (diff) | |
download | openssl-e05a453f6af2debbc868136a9760fec78fbd0c53.tar.xz openssl-e05a453f6af2debbc868136a9760fec78fbd0c53.zip |
Rename 90-test_fuzz.t to 99-test_fuzz.t to ensure that it's executed last.
Idea is to keep it last for all eternity, so that if you find yourself
in time-pressed situation and deem that fuzz test can be temporarily
skipped, you can terminate the test suite with less hesitation about
following tests that you would have originally missed.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test/recipes/99-test_fuzz.t')
-rwxr-xr-x | test/recipes/99-test_fuzz.t | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/recipes/99-test_fuzz.t b/test/recipes/99-test_fuzz.t new file mode 100755 index 0000000000..75248ef70d --- /dev/null +++ b/test/recipes/99-test_fuzz.t @@ -0,0 +1,40 @@ +#!/usr/bin/env perl +# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +use strict; +use warnings; + +use if $^O ne "VMS", 'File::Glob' => qw/glob/; +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test::Utils; + +setup("test_fuzz"); + +my @fuzzers = ('asn1', 'asn1parse', 'bignum', 'bndiv', 'client', 'conf', 'crl', 'server', 'x509'); +if (!disabled("cms")) { + push @fuzzers, 'cms'; +} +if (!disabled("ct")) { + push @fuzzers, 'ct'; +} +plan tests => scalar @fuzzers; + +foreach my $f (@fuzzers) { + subtest "Fuzzing $f" => sub { + my @files = glob(srctop_file('fuzz', 'corpora', $f, '*')); + push @files, glob(srctop_file('fuzz', 'corpora', "$f-*", '*')); + + plan skip_all => "No corpora for $f-test" unless @files; + + plan tests => scalar @files; + + foreach (@files) { + ok(run(fuzz(["$f-test", $_]))); + } + } +} |