diff options
author | Adam Lindberg <[email protected]> | 2012-02-16 15:51:37 +0100 |
---|---|---|
committer | Adam Lindberg <[email protected]> | 2012-02-29 14:42:22 +0100 |
commit | 9ec0a0babace0932d78accf7c10b237a32dc801c (patch) | |
tree | 2d4a8e515a13497611631b0ed6cd787341ace27b /lib/asn1/test/testTypeValueNotation.erl | |
parent | 79d2f2878c950584e56258a3c34724d42a91c631 (diff) | |
download | otp-9ec0a0babace0932d78accf7c10b237a32dc801c.tar.gz otp-9ec0a0babace0932d78accf7c10b237a32dc801c.tar.bz2 otp-9ec0a0babace0932d78accf7c10b237a32dc801c.zip |
[asn1] Refactor test cases and remove extra suites
Diffstat (limited to 'lib/asn1/test/testTypeValueNotation.erl')
-rw-r--r-- | lib/asn1/test/testTypeValueNotation.erl | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/lib/asn1/test/testTypeValueNotation.erl b/lib/asn1/test/testTypeValueNotation.erl index d2ef1216e2..cd5223ef23 100644 --- a/lib/asn1/test/testTypeValueNotation.erl +++ b/lib/asn1/test/testTypeValueNotation.erl @@ -23,42 +23,39 @@ -include_lib("test_server/include/test_server.hrl"). --record('Seq',{octstr, int, bool, enum, bitstr, null, oid, vstr}). +-record('Seq', {octstr, int, bool, enum, bitstr, null, oid, vstr}). -main(Rules,Option) -> +main(Rule, Option) -> + Value1 = #'Seq'{octstr = [1, 2, 3, 4], + int = 12, + bool = true, + enum = a, + bitstr = [1, 0, 1, 0], + null = 'NULL', + oid = {1, 2, 55}, + vstr = "Hello World"}, + Value2 = #'Seq'{octstr = {'OctStr', [1, 2, 3, 4]}, + int = {'Int', 12}, + bool = {'Bool', true}, + enum = {'Enum', a}, + bitstr = {'BitStr', [1, 0, 1, 0]}, + null = {'Null', 'NULL'}, + oid = {'OId', {1, 2, 55}}, + vstr = {'VStr', "Hello World"}}, + main(Rule, Option, Value1, Value2). - io:format("testTypeValueNotation:main/2 with arguments:~nRules: ~w, Option: ~w~n",[Rules,Option]), - Value1 = #'Seq'{octstr = [1,2,3,4], - int = 12, - bool = true, - enum = a, - bitstr = [1,0,1,0], - null = 'NULL', - oid = {1,2,55}, - vstr = "Hello World"}, - Value2 = #'Seq'{octstr = {'OctStr',[1,2,3,4]}, - int = {'Int',12}, - bool = {'Bool',true}, - enum = {'Enum',a}, - bitstr = {'BitStr',[1,0,1,0]}, - null = {'Null','NULL'}, - oid = {'OId',{1,2,55}}, - vstr = {'VStr',"Hello World"}}, - case Option of - optimize when Rules == per_bin; Rules == ber_bin ; Rules == uper_bin; Rules == ber_bin_v2 -> - ?line {ok,Bytes} = - asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value1), - ?line {error,_Reason} = - asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value2), - ?line {ok,Value1} = - asn1_wrapper:decode('SeqTypeRefPrim','Seq',Bytes); - _ -> - ?line {ok,Bytes} = - asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value1), - ?line {ok,Bytes} = - asn1_wrapper:encode('SeqTypeRefPrim','Seq',Value2), - ?line {ok,Value1} = - asn1_wrapper:decode('SeqTypeRefPrim','Seq',Bytes) - end, +%% Value2 will fail for ber_bin_v2, per_bin with nifs (optimize) and uper_bin +main(ber_bin_v2, _, Value1, Value2) -> encode_fail(Value1, Value2); +main(per_bin, [optimize], Value1, Value2) -> encode_fail(Value1, Value2); +main(uper_bin, [], Value1, Value2) -> encode_fail(Value1, Value2); +main(_, _, Value1, Value2) -> encode_normal(Value1, Value2). - ok. +encode_normal(Value1, Value2) -> + {ok, Bytes} = asn1_wrapper:encode('SeqTypeRefPrim', 'Seq', Value1), + {ok, Bytes} = asn1_wrapper:encode('SeqTypeRefPrim', 'Seq', Value2), + {ok, Value1} = asn1_wrapper:decode('SeqTypeRefPrim', 'Seq', Bytes). + +encode_fail(Value1, Value2) -> + {ok, Bytes} = asn1_wrapper:encode('SeqTypeRefPrim', 'Seq', Value1), + {error, _Reason} = asn1_wrapper:encode('SeqTypeRefPrim', 'Seq', Value2), + {ok, Value1} = asn1_wrapper:decode('SeqTypeRefPrim', 'Seq', Bytes). |