.****************************************************************************** .* Copyright (c) 2000-2014 Ericsson Telecom AB .* All rights reserved. This program and the accompanying materials .* are made available under the terms of the Eclipse Public License v1.0 .* which accompanies this distribution, and is available at .* http://www.eclipse.org/legal/epl-v10.html .******************************************************************************/ :text. :lang eng. .* EDML webpage: http://cpi.ericsson.se/dwaxe/ .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html .* Document header information :docname.Test Description :docno.xx/152 91-CRL 113 200/2 Uen :rev.A :date.2013-01-16 :prep.ETH/RZX Jeno Balasko (ethbaat) :appr.ETH/RZX (Gyula Koos) :checked.EKRISZA :title.Test description of the TTCN-3 Preprocessing Configuration File Macros :contents level=2. .*---------------------------------------------------------------------* :h1.Introduction .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h2.Revision history .*---------------------------------------------------------------------* :xmp tab=2. REV DATE PREPARED CHANGE __________________________________________________ PA1 2012-11-16 ETHBAAT Preprocessor macro test PA2 2013-01-16 ETHBAAT Structured macro test :exmp. .*---------------------------------------------------------------------* :h2.Purpose .*---------------------------------------------------------------------* The purpose of this Test Description is to define and describe the function test activity for the listed functionality of the TTCN-3 executor including the relevant configuration options and the configuration file parser as follows: :li D='5.'Preprocessing Configuration file especially macro definition handling in the section DEFINE :nl.SA-1/x: Unknown object. :p.The specification of the test cases can be found in this document. .*---------------------------------------------------------------------* :h1.Test environment .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h2.Hardware .*---------------------------------------------------------------------* No specific hardware requirement. .*---------------------------------------------------------------------* :h2.Software .*---------------------------------------------------------------------* Tests shall be carried out on the following platforms: :list. :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4) :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2) :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3) :elist. .*---------------------------------------------------------------------* :h2.Configuration .*---------------------------------------------------------------------* The test environment had been setup in CVS. The tester program is stored in: :nl.TTCNv3/function_test/Tools/SAtester.pl :nl.Test cases are stored with extension .script in the directory: :nl.TTCNv3/function_test/Semantic_Analyser/ .*---------------------------------------------------------------------* :h2.Installation .*---------------------------------------------------------------------* Install proper TITAN binaries on the used platforms and make sure that your environment settings are correct: :list. :li D='1.'.TTCN3_DIR is set :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable :li D='4.'.Perl 5.6.0 or higher is available on the platform :li D='5.'.Create a symlink to your Perl binary into the directory where the test cases are stored: :nl.ln -s perl :elist. .*---------------------------------------------------------------------* :h2.Test Tools .*---------------------------------------------------------------------* A tester program had been written in Perl especially for the Semantic Analyser tests. For the list of command line parameters, type 'SAtester.pl -help', for the complete documentation, type 'SAtester.pl -doc'. :p.Test cases are specified in the Test Description documents in EDML format. The tester program parses these files and generates the TTCN-3/ASN.1 modules, then calls the compiler to compile them. The result printout is then matched against different patterns to be able to set the verdict. Test cases contain not only the source modules, but the patterns as well. :p.The tester program allows one-by-one execution of test cases and batched execution as well. :p.NOTE: the tester program requires Perl 5.6.0 or higher. .*---------------------------------------------------------------------* :h2.Test scope .*---------------------------------------------------------------------* Ref [1]: SA-1/x: Unknown object :nl.Explanation: all unknown objects shall be detected by SA. .*---------------------------------------------------------------------* :h2.Test strategy .*---------------------------------------------------------------------* Test cases are based on TTCN-3 BNF according to the followings: :list. :li D='1.'.For each 'basic' definition a complete coverage is done (e.g. for expressions, assignments, etc.). 'Basic' means that the definition is used in several places. :li D='2.'.For each definition a complete coverage is done, except for basic definitions, in which case only 1-2 examples are covered, not the whole basic definition. This is to avoid testing all possible subcases for all possible places it may appear. :nl.NOTE: a complete coverage means that all occurances are tested where the specific definition may occur. This is however not complete. Only one occurance is tested for each construct. :li D='3.'.Test case names are contsructed following the path in the BNF in TTCN-3 and following the possible notations/subtyping in ASN.1. :elist. .*---------------------------------------------------------------------* :h2.Status .*---------------------------------------------------------------------* The following structures are not covered: :list. :li D='-'.sub-structures that causes parse error due to limited support of that part of the language (e.g. interleave construct) :elist. .*---------------------------------------------------------------------* :h1.Test cases .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h2. Negative Test for Macro Definition in Cfg Files - Single mode .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h3. No macro or environmental variable defined with name 1 -single mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_VALID:="valid" NEG_1:=$not_existing NEG_2:=${not_existing} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 1 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_3:=$${not_existing} NEG_4:=$4{not_existing} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' syntax error, unexpected \{, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 2 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_5:=$$${not_existing} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 3 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_6:=${not_existing}$ NEG_7:=$1wrong_macro_name NEG_8:=$2wrong_macro_name NEG_9:=$0wrong_macro_name NEG_10:=$0wrong_macro_name NEG_11:=$_wrong_macro_name [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 4 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_11:=$_wrong_macro_name [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 5 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_11_1:=${_NEG_VALID} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Duplicate macro definition - single mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control { //dummy } } [DEFINE] NEG_VALID=1 NEG_11_2:=$NEG_VALID NEG_11_2:=${NEG_VALID} [EXECUTE] Temp.control (?im)Overall verdict: none :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - single mode - 4 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_12:=${1wrong_macro_name} NEG_13:=${2wrong_macro_name} NEG_14:=${0wrong_macro_name} NEG_15:=${_wrong_macro_name} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: string without quotation mark but containing space - single mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{ log("test executed");} } [DEFINE] NEG_17:=a b [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*syntax error :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string as right value, comment after .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{log("test executed");} } [DEFINE] NEG_18:="a"b //perhaps the error msg is not correct, check it! [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: Literal `b' cannot follow another literal :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string as right value, comment before .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] //comment before it NEG_18:="a"b [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: Literal `b' cannot follow another literal :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value, comment before .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] //comment before it NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value, comment after .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" //comment after it [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with spaces as right value .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with space as right value .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:="a" $NEG_VALID [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with spaces as right value .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:="a" $NEG_VALID [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with spaces as right value .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:=${NEG_VALID} ${NEG_VALID} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h2. Negative Test for Macro Definition in Cfg Files .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h3. No macro or environmental variable defined with name 1 -parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_VALID:="valid" NEG_1:=$not_existing NEG_2:=${not_existing} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - parallel mode - 1 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_3:=$${not_existing} NEG_4:=$4{not_existing} NEG_5:=$$${not_existing} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' syntax error, unexpected \{, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - parallel mode - 2 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_6:=${not_existing}$ NEG_7:=$1wrong_macro_name NEG_8:=$2wrong_macro_name NEG_9:=$0wrong_macro_name NEG_10:=$0wrong_macro_name NEG_11:=$_wrong_macro_name [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. (?im)Parse error while pre-processing configuration file (.)*No macro or environmental variable defined with name `not_existing' :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - parallel mode - 3 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_11_1:=${_NEG_VALID} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Duplicate macro definition - parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control { //dummy } } [DEFINE] NEG_VALID=1 NEG_11_2:=$NEG_VALID NEG_11_2:=${NEG_VALID} [EXECUTE] Temp.control (?im)Overall verdict: none :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - parallel mode - 4 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_12:=${1wrong_macro_name} NEG_13:=${2wrong_macro_name} NEG_14:=${0wrong_macro_name} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Invalid character in DEFINE section - parallel mode - 5 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy } [DEFINE] NEG_15:=${_wrong_macro_name} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*Invalid character in \[DEFINE\] section. :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: string without quotation mark but containing space - parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{ log("test executed");} } [DEFINE] NEG_17:=a b [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*syntax error :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string as right value, comment after - parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{log("test executed");} } [DEFINE] NEG_18:="a"b //perhaps the error msg is not correct, check it! [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: Literal `b' cannot follow another literal :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string as right value, comment before, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] //comment before it NEG_18:="a"b [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: Literal `b' cannot follow another literal :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value, comment before, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] //comment before it NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with space as right value, comment after, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" //comment after it [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: Two subsequent string with spaces as right value, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_18:="a" "b" [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected charstring value, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with space as right value, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:="a" $NEG_VALID [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with spaces as right value, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:="a" $NEG_VALID [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h3. Syntax error: String and macro reference with spaces as right value, parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { //dummy control{log("test executed");} } [DEFINE] NEG_VALID:="valid" NEG_19:=${NEG_VALID} ${NEG_VALID} [EXECUTE] Temp.control (?im)Parse error while pre-processing configuration file (.)*in line [0-9]*: syntax error, unexpected MacroReference, expecting \$end :exmp. .*---------------------------------------------------------------------* :h2.Testing feature "structured macro" - Negative tests .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h3. Missing right value - parse error .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1= (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Missing closing bracket - parse error .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1:= {{1} (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Too much closing bracket - parse error .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1:= {1}} (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Wrong quotation mark 1 - parse error .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1_f1:= \"asdf\" //faulty #" (?im)Invalid character in \[DEFINE\] section :exmp. .*---------------------------------------------------------------------* :h3. Wrong quotation mark 2 - parse error .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] #DEF_1_f1:= \"asdf\" //faulty DEF_1_f2 := ""asdf"" //faulty it means emtpty string+asdf+empty string #" (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 1 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= 1 DEF_1:=${DEF_1_f} [MODULE_PARAMETERS] tsp_1 := ${DEF_1_f} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 2 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= 1 DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1_f} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 3 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "1" DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 4 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= a DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} [EXECUTE] Temp.control Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 5 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "a" DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 6 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] #DEF_1_f:= "a" DEF_1:={ f3:=\"${DEF_1_f}\" } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Empty string on the right side 7 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] #DEF_1_f:= "a" DEF_1:={ f3:=\"\" } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} :exmp. .*---------------------------------------------------------------------* :h3. Empty string on the right side 8 .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "" DEF_1:={ f3:= ${DEF_1_f} } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} at or before token `}': syntax error, unexpected '}' :exmp. .*---------------------------------------------------------------------* :h3. Missing right value - parse error - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1= (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Missing closing bracket - parse error - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1:= {{1} (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Too much closing bracket - parse error - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1:= {1}} (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Wrong quotation mark 1 - parse error - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] DEF_1_f1:= \"asdf\" //faulty #" (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Wrong quotation mark 2 - parse error - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { control{} } [DEFINE] #DEF_1_f1:= \"asdf\" //faulty DEF_1_f2 := ""asdf"" //faulty it means emtpty string+asdf+empty string #" (?im)Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 1 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= 1 DEF_1:=${DEF_1_f} [MODULE_PARAMETERS] tsp_1 := ${DEF_1_f} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 2 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= 1 DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1_f} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 3 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "1" DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 4 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= a DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} [EXECUTE] Temp.control Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 5 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "a" DEF_1:={ f3:=${DEF_1_f} } [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Error while setting parameter field :exmp. .*---------------------------------------------------------------------* :h3. Wrong type on the right side 6 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] #DEF_1_f:= "a" DEF_1:={ f3:=\"${DEF_1_f}\" } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Parse error while pre-processing configuration file :exmp. .*---------------------------------------------------------------------* :h3. Empty string on the right side 7 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] #DEF_1_f:= "a" DEF_1:={ f3:=\"\" } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} :exmp. .*---------------------------------------------------------------------* :h3. Empty string on the right side 8 - Parallel mode .*---------------------------------------------------------------------* :xmp tab=0. module Temp { modulepar F2 tsp_1 :={ f3:="default"}; type record F2 { charstring f3}; control{} } [DEFINE] DEF_1_f:= "" DEF_1:={ f3:= ${DEF_1_f} } #" [MODULE_PARAMETERS] tsp_1 := ${DEF_1} Parse error .*at or before token `}': syntax error, unexpected '}' :exmp. .*---------------------------------------------------------------------* :h1.Abbreviations .*---------------------------------------------------------------------* :list. :li D='ASN.1'.Abstract Syntax Notation 1 :li D='EDML'.Ericsson Document Markup Language :li D='SA'.Semantic Analyser :li D='TTCN-3'.Test and Test Control Notation version 3 :elist. .*---------------------------------------------------------------------* :h1.References .*---------------------------------------------------------------------* :list. :li D='[1]'.ETH/RZ-2005:0120 Uen :nl.Requirement Specification for the TITAN TTCN-3 Executor :li D='[2]'.1/174 02-FCPCA 101 42 Uen :nl.Statement of Compliance for TITAN project :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03): :nl.Testing and Test Control Notation version 3., :nl.Part 1: TTCN-3 Core Language :elist. .*---------------------------------------------------------------------* :h1.Terminology .*---------------------------------------------------------------------* :list. :li D='TITAN'.Ericsson's TTCN-3 Test Environment :elist. :etext.