aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/testImporting.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2014-12-04 15:03:39 +0100
committerBjörn Gustavsson <[email protected]>2015-01-12 12:22:57 +0100
commit7129f2acb474651fa4ef922b24ff18dd84dd9c77 (patch)
treeb81530ce37bec432b7256e176554646b6d55058e /lib/asn1/test/testImporting.erl
parent4247459eded419b9e693cfbfaf8746f4f6f60d2c (diff)
downloadotp-7129f2acb474651fa4ef922b24ff18dd84dd9c77.tar.gz
otp-7129f2acb474651fa4ef922b24ff18dd84dd9c77.tar.bz2
otp-7129f2acb474651fa4ef922b24ff18dd84dd9c77.zip
asn1ct_parser2: Clean up error handling and reporting
Errors were reported using a throw like this: throw({asn1_error,{get_line(hd(Tokens)),get(asn1_module), [got,get_token(hd(Tokens)),expected,typereference]}}). The attempt to tell the user what was expected was often mis-leading. It is time-consuming and non-trival to provide correct information of what is expected. Therefore, we will not even try. Instead we will spend more effort to report the token where the error was discovered. We will replace each throw with a function call: parse_error(Tokens). Also add the syntax_SUITE test suite to test error reporting and to cover all error reporting code. Remove the old c_syntax/1 test case. Also remove all out-commented code.
Diffstat (limited to 'lib/asn1/test/testImporting.erl')
-rw-r--r--lib/asn1/test/testImporting.erl34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/asn1/test/testImporting.erl b/lib/asn1/test/testImporting.erl
new file mode 100644
index 0000000000..de8beae38b
--- /dev/null
+++ b/lib/asn1/test/testImporting.erl
@@ -0,0 +1,34 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2014. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%
+
+-module(testImporting).
+-export([main/0]).
+
+main() ->
+ M = 'Importing',
+ roundtrip('Seq', {'Seq',5}),
+ roundtrip('OtherSeq', {'Seq',42,true}),
+ {'Seq',42,true} = M:seq(),
+ roundtrip('ObjSeq', {'ObjSeq',1,<<"XYZ">>}),
+ roundtrip('ObjSeq', {'ObjSeq',2,19}),
+ ok.
+
+roundtrip(Type, Value) ->
+ asn1_test_lib:roundtrip('Importing', Type, Value).