aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2014-11-28 15:47:44 +0100
committerBjörn Gustavsson <[email protected]>2015-01-12 11:40:28 +0100
commit303fff739a00200a2a2adf3104e80a9e48012563 (patch)
tree45da1b6489d31b8814ccc069a683d310777701b8 /lib/asn1/test
parent2a343fda2c75f52bbf35b6d5ca9f3c97037c50b5 (diff)
downloadotp-303fff739a00200a2a2adf3104e80a9e48012563.tar.gz
otp-303fff739a00200a2a2adf3104e80a9e48012563.tar.bz2
otp-303fff739a00200a2a2adf3104e80a9e48012563.zip
Modernize error handling for illicit tags
Diffstat (limited to 'lib/asn1/test')
-rw-r--r--lib/asn1/test/asn1_SUITE.erl12
-rw-r--r--lib/asn1/test/asn1_SUITE_data/CCSNARG3.asn2
-rw-r--r--lib/asn1/test/error_SUITE.erl21
3 files changed, 23 insertions, 12 deletions
diff --git a/lib/asn1/test/asn1_SUITE.erl b/lib/asn1/test/asn1_SUITE.erl
index 04ebbab599..8013dd5605 100644
--- a/lib/asn1/test/asn1_SUITE.erl
+++ b/lib/asn1/test/asn1_SUITE.erl
@@ -54,7 +54,6 @@ groups() ->
[{compile, Parallel,
[c_syntax,
c_string,
- c_implicit_before_choice,
constraint_equivalence]},
{ber, Parallel,
@@ -588,14 +587,6 @@ c_string(Config, Rule, Opts) ->
asn1_test_lib:compile("String", Config, [Rule|Opts]),
asn1ct:test('String').
-c_implicit_before_choice(Config) ->
- test(Config, fun c_implicit_before_choice/3, [ber]).
-c_implicit_before_choice(Config, Rule, Opts) ->
- DataDir = ?config(data_dir, Config),
- CaseDir = ?config(case_dir, Config),
- {error, _R2} = asn1ct:compile(filename:join(DataDir, "CCSNARG3"),
- [Rule, {outdir, CaseDir}|Opts]).
-
constraint_equivalence(Config) ->
constraint_equivalence_abs(Config),
test(Config, fun constraint_equivalence/3).
@@ -1139,7 +1130,8 @@ test_modules() ->
"Opt",
"ELDAPv3",
"LDAP",
- "SeqOptional2"].
+ "SeqOptional2",
+ "CCSNARG3"].
test_OTP_9688(Config) ->
PrivDir = ?config(case_dir, Config),
diff --git a/lib/asn1/test/asn1_SUITE_data/CCSNARG3.asn b/lib/asn1/test/asn1_SUITE_data/CCSNARG3.asn
index 23c1f32ceb..8932238adc 100644
--- a/lib/asn1/test/asn1_SUITE_data/CCSNARG3.asn
+++ b/lib/asn1/test/asn1_SUITE_data/CCSNARG3.asn
@@ -3,7 +3,7 @@ BEGIN
CallCentreServiceNotificationArg ::= SEQUENCE {
scriptInformation [0] ScriptToScriptInformation,
- eventInformation [1] IMPLICIT EventInformation OPTIONAL
+ eventInformation [1] EventInformation OPTIONAL
}
diff --git a/lib/asn1/test/error_SUITE.erl b/lib/asn1/test/error_SUITE.erl
index e8f48b6187..399ddc2124 100644
--- a/lib/asn1/test/error_SUITE.erl
+++ b/lib/asn1/test/error_SUITE.erl
@@ -693,11 +693,24 @@ tags(Config) ->
"}\n"
"\n"
+
"Set1 ::= SET {\n"
" os [0] OCTET STRING,\n"
" bool [0] BOOLEAN\n"
"}\n"
+ "Seq1 ::= SEQUENCE {\n"
+ "a [0] IMPLICIT Choice OPTIONAL\n"
+ "}\n"
+ "Seq2 ::= SEQUENCE {\n"
+ "a [0] IMPLICIT ANY OPTIONAL\n"
+ "}\n"
+ "Choice ::=\n"
+ "CHOICE {\n"
+ "a [0] BOOLEAN,\n"
+ "b [1] INTEGER\n"
+ "}\n"
+
"END\n">>},
{error,
[{structured_error,
@@ -705,7 +718,13 @@ tags(Config) ->
{duplicate_tags,[seq1,seq2]}},
{structured_error,
{M,24},asn1ct_check,
- {duplicate_tags,[bool,os]}}
+ {duplicate_tags,[bool,os]}},
+ {structured_error,
+ {M,28},asn1ct_check,
+ {implicit_tag_before,choice}},
+ {structured_error,
+ {M,31},asn1ct_check,
+ {implicit_tag_before,open_type}}
]} = run(P, Config),
ok.