aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/error_SUITE.erl
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2014-11-27 16:52:19 +0100
committerBjörn Gustavsson <[email protected]>2015-01-12 11:40:28 +0100
commit2687287372f725dfb99ca6d712b214751c419cc2 (patch)
treebbbf5d7fecb2504b108b298d8af05d621a4a82d1 /lib/asn1/test/error_SUITE.erl
parenta008779a0d8b602a56c63d333f692f51e0b64994 (diff)
downloadotp-2687287372f725dfb99ca6d712b214751c419cc2.tar.gz
otp-2687287372f725dfb99ca6d712b214751c419cc2.tar.bz2
otp-2687287372f725dfb99ca6d712b214751c419cc2.zip
Clean up error reporting for duplicate tags
Split the test case duplicate_tags/1 into two parts. Do the error checking test in error_SUITE. Keep the SeqOptional2 specification and compile it from the per/1 and ber_other/1 test cases (for coverage).
Diffstat (limited to 'lib/asn1/test/error_SUITE.erl')
-rw-r--r--lib/asn1/test/error_SUITE.erl49
1 files changed, 48 insertions, 1 deletions
diff --git a/lib/asn1/test/error_SUITE.erl b/lib/asn1/test/error_SUITE.erl
index c386fd6d31..83ef5f226e 100644
--- a/lib/asn1/test/error_SUITE.erl
+++ b/lib/asn1/test/error_SUITE.erl
@@ -24,7 +24,7 @@
imports_exports/1,instance_of/1,integers/1,objects/1,
object_field_extraction/1,oids/1,rel_oids/1,
object_sets/1,parameterization/1,
- syntax/1,table_constraints/1,values/1]).
+ syntax/1,table_constraints/1,tags/1,values/1]).
-include_lib("test_server/include/test_server.hrl").
@@ -51,6 +51,7 @@ groups() ->
parameterization,
syntax,
table_constraints,
+ tags,
values]}].
parallel() ->
@@ -652,6 +653,52 @@ table_constraints(Config) ->
]} = run(P, Config),
ok.
+tags(Config) ->
+ M = 'Tags',
+ P = {M,
+ <<"Tags DEFINITIONS AUTOMATIC TAGS ::= BEGIN\n"
+ "SeqOpt1 ::= SEQUENCE\n"
+ "{\n"
+ "bool1 BOOLEAN OPTIONAL,\n"
+ "int1 INTEGER,\n"
+ "seq1 SeqIn OPTIONAL\n"
+ "}\n"
+
+ "SeqOpt1Imp ::= SEQUENCE \n"
+ "{\n"
+ "bool1 [1] BOOLEAN OPTIONAL,\n"
+ "int1 INTEGER,\n"
+ "seq1 [2] SeqIn OPTIONAL,\n"
+ "seq2 [2] SeqIn OPTIONAL,\n"
+ "...,\n"
+ "int2 [3] SeqIn,\n"
+ "int3 [3] SeqIn\n"
+ "}\n"
+
+ "SeqIn ::= SEQUENCE \n"
+ "{\n"
+ "boolIn BOOLEAN,\n"
+ "intIn INTEGER\n"
+ "}\n"
+ "\n"
+
+ "Set1 ::= SET {\n"
+ " os [0] OCTET STRING,\n"
+ " bool [0] BOOLEAN\n"
+ "}\n"
+
+ "END\n">>},
+ {error,
+ [{structured_error,
+ {M,8},asn1ct_check,
+ {duplicate_tags,[seq1,seq2]}},
+ {structured_error,
+ {M,24},asn1ct_check,
+ {duplicate_tags,[bool,os]}}
+ ]} = run(P, Config),
+ ok.
+
+
values(Config) ->
M = 'Values',
P = {M,