diff options
author | Björn Gustavsson <[email protected]> | 2013-04-15 18:02:45 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-08-30 10:13:18 +0200 |
commit | eb49ee71f0751cf54bc39f9971f389c92525b0a4 (patch) | |
tree | 0d101faccacba14653cc5472b47fbe510a7a38d6 /lib/asn1/test/testDeepTConstr.erl | |
parent | c6ba0f6aa81c2b9ce9b348106bffb808b385bd18 (diff) | |
download | otp-eb49ee71f0751cf54bc39f9971f389c92525b0a4.tar.gz otp-eb49ee71f0751cf54bc39f9971f389c92525b0a4.tar.bz2 otp-eb49ee71f0751cf54bc39f9971f389c92525b0a4.zip |
PER, UPER: Optimize encoding using an intermediate format
There are some minor incompatibilities for BIT STRING:
{bit,Position} is now only only supported for a named
BIT STRING type.
Values longer than the maximum size for the BIT STRING type
would be truncated silently - they now cause an exception.
Diffstat (limited to 'lib/asn1/test/testDeepTConstr.erl')
-rw-r--r-- | lib/asn1/test/testDeepTConstr.erl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/asn1/test/testDeepTConstr.erl b/lib/asn1/test/testDeepTConstr.erl index f33e49ed7a..620b5f3356 100644 --- a/lib/asn1/test/testDeepTConstr.erl +++ b/lib/asn1/test/testDeepTConstr.erl @@ -40,8 +40,7 @@ main(_Erule) -> {any,"DK"}, {final,"NO"}]}}, - {ok,Bytes1} = 'TConstrChoice':encode('FilterItem', Val1), - {error,Reason} = asn1_wrapper:decode('TConstrChoice','FilterItem',Bytes1), + Reason = must_fail('TConstrChoice', 'FilterItem', Val1), io:format("Reason: ~p~n~n",[Reason]), {ok,Bytes2} = 'TConstrChoice':encode('FilterItem', Val2), {ok,Res} = 'TConstrChoice':decode('FilterItem', Bytes2), @@ -92,3 +91,13 @@ roundtrip(M, T, V) -> {ok,E} = M:encode(T, V), {ok,V} = M:decode(T, E), ok. + +%% Either encoding or decoding must fail. +must_fail(M, T, V) -> + case M:encode(T, V) of + {ok,E} -> + {error,Reason} = M:decode(T, E), + Reason; + {error,Reason} -> + Reason + end. |