diff options
author | Matt Caswell <matt@openssl.org> | 2020-01-30 16:30:17 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2020-02-03 12:41:56 +0100 |
commit | 8d242823ed2270e2907914fb09004ae30263fb00 (patch) | |
tree | bbcfc0f2c0b01536b3dd2018ff4244c6e5331ccb /test/testutil/options.c | |
parent | Fix no-ec (diff) | |
download | openssl-8d242823ed2270e2907914fb09004ae30263fb00.tar.xz openssl-8d242823ed2270e2907914fb09004ae30263fb00.zip |
Fix common test framework options
PR#6975 added the ability to our test framework to have common options to
all tests. For example providing the option "-test 5" to one of our test
programs will just run test number 5. This can be useful when debugging
tests.
Unforuntately this does not work well for a number of tests. In particular
those tests that call test_get_argument() without first skipping over these
common test options will not get the expected value. Some tests did this
correctly but a large number did not.
A helper function is introduced, test_skip_common_options(), to make this
easier for those tests which do not have their own specialised test option
handling, but yet still need to call test_get_argument(). This function
call is then added to all those tests that need it.
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10975)
Diffstat (limited to 'test/testutil/options.c')
-rw-r--r-- | test/testutil/options.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/testutil/options.c b/test/testutil/options.c index 9a32d1fb94..b5c0739db7 100644 --- a/test/testutil/options.c +++ b/test/testutil/options.c @@ -15,6 +15,21 @@ static int used[100] = { 0 }; +int test_skip_common_options(void) +{ + OPTION_CHOICE_DEFAULT o; + + while ((o = (OPTION_CHOICE_DEFAULT)opt_next()) != OPT_EOF) { + switch (o) { + case OPT_TEST_CASES: + break; + default: + case OPT_ERR: + return 0; + } + } + return 1; +} size_t test_get_argument_count(void) { |