aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/testOpt.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-09-27 10:07:20 +0200
committerBjörn Gustavsson <[email protected]>2013-09-27 10:07:20 +0200
commit5df3c4454fd5f302317bed7f5f83f20f7e5d9580 (patch)
tree2bddc4cd375b0f3867e8646c814598c34b18f7a8 /lib/asn1/test/testOpt.erl
parent50e91bde3403c788bb1cabe644534f351d6dc1c1 (diff)
parente389b27d6c6971cee5be5a9b45703d9af6b6cb39 (diff)
downloadotp-5df3c4454fd5f302317bed7f5f83f20f7e5d9580.tar.gz
otp-5df3c4454fd5f302317bed7f5f83f20f7e5d9580.tar.bz2
otp-5df3c4454fd5f302317bed7f5f83f20f7e5d9580.zip
Merge branch 'bjorn/asn1/clean-up-tests' into maint
* bjorn/asn1/clean-up-tests: (24 commits) No longer compile the X420 specs for plain BER Combine the testSeqIndefinite/1 and testSetIndefinite/1 test cases Remove asn1_wrapper Eliminate the use of asn1_wrapper Simplify tests of CHOICE with OPTIONAL asn1_test_lib: Add roundtrip functions and use them everywhere Makefile: Release Emakefile to ensure warnings are treated as errors Don't allow unused exported functions in test case helpers Move out specific tests from asn1_test_lib testMegaco: Remove unused exported function msg11/0 ASN.1 tests: Don't export functions that are only locally called Remove unused pem_performance.erl file asn1_SUITE: Reinstate test of sub-constraint ASN.1 tests: Remove unused choice_extension.erl Remove unused compile() functions asn1_test_lib: Remove unnecessary loading of a compiled ASN.1 spec Slightly clean up testX420 asn1_SUITE: Combine most tests that use External.asn1 asn1ct_gen: Clean up process dictionary after generating asn1ct_parser2: Clean the process dictionary after parsing ...
Diffstat (limited to 'lib/asn1/test/testOpt.erl')
-rw-r--r--lib/asn1/test/testOpt.erl111
1 files changed, 23 insertions, 88 deletions
diff --git a/lib/asn1/test/testOpt.erl b/lib/asn1/test/testOpt.erl
index a1ad8099b5..a6dcccad15 100644
--- a/lib/asn1/test/testOpt.erl
+++ b/lib/asn1/test/testOpt.erl
@@ -18,8 +18,6 @@
%%
%%
-module(testOpt).
-
--export([compile/2]).
-export([main/1]).
-include_lib("test_server/include/test_server.hrl").
@@ -39,92 +37,29 @@
bool32 = asn1_NOVALUE,
bool33 = asn1_NOVALUE}).
-
-compile(Config,Rules) ->
-
- ?line DataDir = ?config(data_dir,Config),
- ?line OutDir = ?config(priv_dir,Config),
- ?line true = code:add_patha(?config(priv_dir,Config)),
- ?line ok = asn1ct:compile(DataDir ++ "Opt",[Rules,{outdir,OutDir}]).
-
-
-
main(_Rules) ->
-
- ?line {ok,Bytes11} = asn1_wrapper:encode('Opt','Opt1',#'Opt1'{bool0 = true,
- bool1 = true,
- bool2 = true,
- bool3 = true}),
- ?line {ok,{'Opt1',true,true,true,true}} =
- asn1_wrapper:decode('Opt','Opt1',lists:flatten(Bytes11)),
+ roundtrip('Opt1', #'Opt1'{bool0=true,bool1=true,bool2=true,bool3=true}),
+ roundtrip('Opt1', #'Opt1'{bool0=true,bool1=asn1_NOVALUE,bool2=asn1_NOVALUE,
+ bool3=asn1_NOVALUE}),
+ roundtrip('Opt1', #'Opt1'{bool0=true,bool1=asn1_NOVALUE,bool2=false,bool3=asn1_NOVALUE}),
+ roundtrip('Opt1', #'Opt1'{bool0=false,bool1=asn1_NOVALUE,bool2=asn1_NOVALUE,bool3=false}),
- ?line {ok,Bytes12} = asn1_wrapper:encode('Opt','Opt1',#'Opt1'{bool0 = true}),
- ?line {ok,{'Opt1',true,asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE}} =
- asn1_wrapper:decode('Opt','Opt1',lists:flatten(Bytes12)),
-
- ?line {ok,Bytes13} = asn1_wrapper:encode('Opt','Opt1',#'Opt1'{bool0 = true,
- bool2 = false}),
- ?line {ok,{'Opt1',true,asn1_NOVALUE,false,asn1_NOVALUE}} =
- asn1_wrapper:decode('Opt','Opt1',lists:flatten(Bytes13)),
-
- ?line {ok,Bytes14} = asn1_wrapper:encode('Opt','Opt1',#'Opt1'{bool0 = false,
- bool3 = false}),
- ?line {ok,{'Opt1',false,asn1_NOVALUE,asn1_NOVALUE,false}} =
- asn1_wrapper:decode('Opt','Opt1',lists:flatten(Bytes14)),
-
-
-
-
- ?line {ok,Bytes21} = asn1_wrapper:encode('Opt','Opt2',#'Opt2'{bool10 = false,
- bool11 = false,
- bool12 = false,
- bool13 = false}),
- ?line {ok,{'Opt2',false,false,false,false}} =
- asn1_wrapper:decode('Opt','Opt2',lists:flatten(Bytes21)),
-
- ?line {ok,Bytes22} = asn1_wrapper:encode('Opt','Opt2',#'Opt2'{bool10 = true,
- bool13 = false}),
- ?line {ok,{'Opt2',true,asn1_NOVALUE,asn1_NOVALUE,false}} =
- asn1_wrapper:decode('Opt','Opt2',lists:flatten(Bytes22)),
-
- ?line {ok,Bytes23} = asn1_wrapper:encode('Opt','Opt2',#'Opt2'{bool10 = true,
- bool11 = false,
- bool13 = false}),
- ?line {ok,{'Opt2',true,false,asn1_NOVALUE,false}} =
- asn1_wrapper:decode('Opt','Opt2',lists:flatten(Bytes23)),
-
- ?line {ok,Bytes24} = asn1_wrapper:encode('Opt','Opt2',#'Opt2'{bool10 = false,
- bool12 = false,
- bool13 = false}),
- ?line {ok,{'Opt2',false,asn1_NOVALUE,false,false}} =
- asn1_wrapper:decode('Opt','Opt2',lists:flatten(Bytes24)),
-
-
-
-
- ?line {ok,Bytes31} = asn1_wrapper:encode('Opt','Opt3',#'Opt3'{bool30 = false,
- bool31 = false,
- bool32 = false,
- bool33 = false}),
- ?line {ok,{'Opt3',false,false,false,false}} =
- asn1_wrapper:decode('Opt','Opt3',lists:flatten(Bytes31)),
-
- ?line {ok,Bytes32} = asn1_wrapper:encode('Opt','Opt3',#'Opt3'{}),
- ?line {ok,{'Opt3',asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE}} =
- asn1_wrapper:decode('Opt','Opt3',lists:flatten(Bytes32)),
-
- ?line {ok,Bytes33} = asn1_wrapper:encode('Opt','Opt3',#'Opt3'{bool30 = true}),
- ?line {ok,{'Opt3',true,asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE}} =
- asn1_wrapper:decode('Opt','Opt3',lists:flatten(Bytes33)),
-
- ?line {ok,Bytes34} = asn1_wrapper:encode('Opt','Opt3',#'Opt3'{bool32 = false}),
- ?line {ok,{'Opt3',asn1_NOVALUE,asn1_NOVALUE,false,asn1_NOVALUE}} =
- asn1_wrapper:decode('Opt','Opt3',lists:flatten(Bytes34)),
-
- ?line {ok,Bytes35} = asn1_wrapper:encode('Opt','Opt3',#'Opt3'{bool33 = false}),
- ?line {ok,{'Opt3',asn1_NOVALUE,asn1_NOVALUE,asn1_NOVALUE,false}} =
- asn1_wrapper:decode('Opt','Opt3',lists:flatten(Bytes35)),
-
-
-
+ roundtrip('Opt2', #'Opt2'{bool10=false,bool11=false,bool12=false,bool13=false}),
+ roundtrip('Opt2', #'Opt2'{bool10=true,bool11=asn1_NOVALUE,bool12=asn1_NOVALUE,
+ bool13=false}),
+ roundtrip('Opt2', #'Opt2'{bool10=true,bool11=false,bool12=asn1_NOVALUE,bool13=false}),
+ roundtrip('Opt2', #'Opt2'{bool10=false,bool11=asn1_NOVALUE,bool12=false,bool13=false}),
+
+ roundtrip('Opt3', #'Opt3'{bool30=false,bool31=false,bool32=false,bool33=false}),
+ roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE,
+ bool33=asn1_NOVALUE}),
+ roundtrip('Opt3', #'Opt3'{bool30=true,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE,
+ bool33=asn1_NOVALUE}),
+ roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=false,
+ bool33=asn1_NOVALUE}),
+ roundtrip('Opt3', #'Opt3'{bool30=asn1_NOVALUE,bool31=asn1_NOVALUE,bool32=asn1_NOVALUE,
+ bool33=false}),
ok.
+
+roundtrip(Type, Value) ->
+ asn1_test_lib:roundtrip('Opt', Type, Value).