diff options
author | Pauli <paul.dale@oracle.com> | 2019-05-21 07:42:26 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2019-05-21 07:42:54 +1000 |
commit | 9830e7ea42b9c0f95ea1f4b09aa2e60fa7d3115f (patch) | |
tree | b799779e63769ef799bfedff88657e6d39a21601 /test/recipes | |
parent | 538f38db50e4ead178025689d28bda316b15c242 (diff) |
Params conversion tests.
Add ranged checked OSSL_PARAM conversions between the native types. A
conversion is legal only if the given value can be exactly represented
by the target type.
Includes a test case that reads a stanza test case file and verified that param
conversions are processed properly.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8733)
Diffstat (limited to 'test/recipes')
-rw-r--r-- | test/recipes/04-test_params_conversion.t | 23 | ||||
-rw-r--r-- | test/recipes/04-test_params_conversion_data/native_types.txt | 343 |
2 files changed, 366 insertions, 0 deletions
diff --git a/test/recipes/04-test_params_conversion.t b/test/recipes/04-test_params_conversion.t new file mode 100644 index 0000000000..d15df84ae1 --- /dev/null +++ b/test/recipes/04-test_params_conversion.t @@ -0,0 +1,23 @@ +#! /usr/bin/env perl +# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the Apache License 2.0 (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 OpenSSL::Test qw/:DEFAULT data_file/; + +setup("test_params_conversion"); + +my @files = ( "native_types.txt" ); + +plan tests => scalar(@files); + +foreach my $f ( @files ) { + ok(run(test(["params_conversion_test", data_file("$f")])), + "running params_conversion_test $f"); +} diff --git a/test/recipes/04-test_params_conversion_data/native_types.txt b/test/recipes/04-test_params_conversion_data/native_types.txt new file mode 100644 index 0000000000..233a5842cc --- /dev/null +++ b/test/recipes/04-test_params_conversion_data/native_types.txt @@ -0,0 +1,343 @@ +type=int32 +int32=0 +int64=0 +uint32=0 +uint64=0 +double=0 + +type=int32 +int32=6 +int64=6 +uint32=6 +uint64=6 +double=6 + +type=int32 +int32=-6 +int64=-6 +uint32=invalid +uint64=invalid +double=-6 + + +type=uint32 +int32=0 +int64=0 +uint32=0 +uint64=0 +double=0 + +type=uint32 +int32=6 +int64=6 +uint32=6 +uint64=6 +double=6 + +# 2^31-1 +type=uint32 +int32=2147483647 +int64=2147483647 +uint32=2147483647 +uint64=2147483647 +double=2147483647 + +# 2^31 +type=uint32 +int32=invalid +int64=2147483648 +uint32=2147483648 +uint64=2147483648 +double=2147483648 + + +type=int64 +int32=6 +int64=6 +uint32=6 +uint64=6 +double=6 + +type=int64 +int32=-6 +int64=-6 +uint32=invalid +uint64=invalid +double=-6 + +# 2^31-1 +type=int64 +int32=2147483647 +int64=2147483647 +uint32=2147483647 +uint64=2147483647 +double=2147483647 + +# 2^31 +type=int64 +int32=invalid +int64=2147483648 +uint32=2147483648 +uint64=2147483648 +double=2147483648 + +# -2^31+1 +type=int64 +int32=-2147483647 +int64=-2147483647 +uint32=invalid +uint64=invalid +double=-2147483647 + +# -2^31 +type=int64 +int32=-2147483648 +int64=-2147483648 +uint32=invalid +uint64=invalid +double=-2147483648 + +# -2^31-1 +type=int64 +int32=invalid +int64=-2147483649 +uint32=invalid +uint64=invalid +double=-2147483649 + +# 2^32-1 +type=int64 +int32=invalid +int64=4294967295 +uint32=4294967295 +uint64=4294967295 +double=4294967295 + +# 2^32 +type=int64 +int32=invalid +int64=4294967296 +uint32=invalid +uint64=4294967296 +double=4294967296 + +# -2^32 +type=int64 +int32=invalid +int64=-4294967296 +uint32=invalid +uint64=invalid +double=-4294967296 + +# 2^53-1 +type=int64 +int32=invalid +int64=9007199254740991 +uint32=invalid +uint64=9007199254740991 +double=9007199254740991 + +# 2^53 +type=int64 +int32=invalid +int64=9007199254740992 +uint32=invalid +uint64=9007199254740992 +double=invalid + +# -2^53-1 +type=int64 +int32=invalid +int64=-9007199254740991 +uint32=invalid +uint64=invalid +double=-9007199254740991 + +# -2^53 +type=int64 +int32=invalid +int64=-9007199254740992 +uint32=invalid +uint64=invalid +double=invalid + + +type=uint64 +int32=6 +int64=6 +uint32=6 +uint64=6 +double=6 + +# 2^31-1 +type=uint64 +int32=2147483647 +int64=2147483647 +uint32=2147483647 +uint64=2147483647 +double=2147483647 + +# 2^31 +type=uint64 +int32=invalid +int64=2147483648 +uint32=2147483648 +uint64=2147483648 +double=2147483648 + +# 2^32-1 +type=uint64 +int32=invalid +int64=4294967295 +uint32=4294967295 +uint64=4294967295 +double=4294967295 + +# 2^32 +type=uint64 +int32=invalid +int64=4294967296 +uint32=invalid +uint64=4294967296 +double=4294967296 + +# 2^53-1 +type=uint64 +int32=invalid +int64=9007199254740991 +uint32=invalid +uint64=9007199254740991 +double=9007199254740991 + +# 2^53 +type=uint64 +int32=invalid +int64=9007199254740992 +uint32=invalid +uint64=9007199254740992 +double=invalid + +# 2^63-1 +type=uint64 +int32=invalid +int64=9223372036854775807 +uint32=invalid +uint64=9223372036854775807 +double=invalid + +# 2^63-1 +type=uint64 +int32=invalid +int64=invalid +uint32=invalid +uint64=9223372036854775808 +double=invalid + +type=double +int32=0 +int64=0 +uint32=0 +uint64=0 +double=0 + +type=double +int32=6 +int64=6 +uint32=6 +uint64=6 +double=6 + +type=double +int32=-6 +int64=-6 +uint32=invalid +uint64=invalid +double=-6 + +# -2^31 +type=double +int32=-2147483648 +int64=-2147483648 +uint32=invalid +uint64=invalid +double=-2147483648 + +# -2^31-1 +type=double +int32=invalid +int64=-2147483649 +uint32=invalid +uint64=invalid +double=-2147483649 + +# 2^32-1 +type=double +int32=invalid +int64=4294967295 +uint32=4294967295 +uint64=4294967295 +double=4294967295 + +# 2^32 +type=double +int32=invalid +int64=4294967296 +uint32=invalid +uint64=4294967296 +double=4294967296 + +# -2^32 +type=double +int32=invalid +int64=-4294967296 +uint32=invalid +uint64=invalid +double=-4294967296 + +# 2^53-1 +type=double +int32=invalid +int64=9007199254740991 +uint32=invalid +uint64=9007199254740991 +double=9007199254740991 + +# -2^53+1 +type=double +int32=invalid +int64=-9007199254740991 +uint32=invalid +uint64=invalid +double=-9007199254740991 + +# big +type=double +int32=invalid +int64=invalid +uint32=invalid +uint64=invalid +double=1e100 + +# big +type=double +int32=invalid +int64=invalid +uint32=invalid +uint64=invalid +double=-1e100 + +# infinite +type=double +int32=invalid +int64=invalid +uint32=invalid +uint64=invalid +double=inf + +# fractional +type=double +int32=invalid +int64=invalid +uint32=invalid +uint64=invalid +double=0.5 |