: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 Uen :rev.A :date.2015-04-27 :prep.ETH/RZX Jeno Balasko (ethbaat) :appr.ETH/RZX (Roland Gecse) :checked.EKRISZA :title.Test description of the TTCN-3 Semantic Analyzer: IPv6 :contents level=2. .*---------------------------------------------------------------------* :h1.Introduction .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h2.Revision history .*---------------------------------------------------------------------* :xmp tab=2. REV DATE PREPARED CHANGE __________________________________________________ PA1 2011-11-16 ETHBAAT New document for TITAN R8I :exmp. .*---------------------------------------------------------------------* :h2.Purpose .*---------------------------------------------------------------------* The purpose of this Test Description is to define and describe the function test activity for the IPv6 functionality of the TTCN-3 executor including the relevant configuration options and the configuration file parser, the component create argument setting. :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='-'. xyzqwerty :elist. .*---------------------------------------------------------------------* :h1.REQUIREMENT-BASED TESTS .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h2.Testing IPv6 feature .*---------------------------------------------------------------------* .*---------------------------------------------------------------------* :h3. Existing named address for mctr, and for component host address .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [DEFINE] mctr_ipaddr := tcclab1 [MODULE_PARAMETERS] tsp_ipaddr1 := $mctr_ipaddr [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := ${ mctr_ipaddr, hostname} Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. Existing IPv4 address for mctr, and not existing name for component address .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First","localhome"); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := tcclab1 Dynamic test case error: :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and for component address (eth0) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [DEFINE] mctr_ipaddr := "172.31.21.7" [MODULE_PARAMETERS] tsp_ipaddr1 := $mctr_ipaddr [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := ${ mctr_ipaddr, hostname} Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and for component address (eth2) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [DEFINE] mctr_ipaddr := "192.168.1.1" //eth2 [MODULE_PARAMETERS] tsp_ipaddr1 := $mctr_ipaddr [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := ${ mctr_ipaddr, hostname} Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and brief IPv6 address for component address(eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fd0a:f452:f524::7" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := 172.31.21.7 No suitable host was found to create a new PTC :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and brief IPv6 address for component address (eth0, Scope:Link) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fe80::215:17ff:fe48:23d0%eth0" //Scope:Link [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := 172.31.21.7 No suitable host was found to create a new PTC :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and IPv6 address of longer form for component address (eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fd0a:f452:f524:0:0:0:0:7" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := 172.31.21.7 No suitable host was found to create a new PTC :exmp. .*---------------------------------------------------------------------* :h3. IPv4 address for mctr, and IPv6 address of longest form for component address (eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [DEFINE] mctr_ipaddr := "fd0a:f452:f524:0000:0000:0000:0000:0007" [MODULE_PARAMETERS] tsp_ipaddr1 := $mctr_ipaddr [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := 172.31.21.7 No suitable host was found to create a new PTC :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of short form, no network length, syntax error for mctr 1. .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := BUBU::7 Error was found in the configuration file. Exiting :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of short form, no network length, syntax error for mctr 2. .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := FD0A:f452:f524:::7 Error :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of short form, no network length, for mctr (eth0, Scope: Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of longer form, no network length, for mctr (eth0, Scope: Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524:0:0:0:0:7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of longest form, no network length, for mctr (eth0, Scope: Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524:0000:0000:0000:0000:0007 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of longest form, no network length, for mctr (eth0, Scope: Global), localhost for created component .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524:0000:0000:0000:0000:0007 No suitable host was found to create a new PTC :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address in hostname macro (eth0, Scope: Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [DEFINE] mctr_ipaddr := fd0a:f452:f524::7 //eth0, Scope:Global [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := ${ mctr_ipaddr, hostname} Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of short form, no network length, for mctr (eth0, Scope: Link) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fe80::215:17ff:fe48:23d0%eth0 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of longer form, no network length, for mctr (eth0, Scope: Link) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fe80:0:0:0:215:17ff:fe48:23d0%eth0 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of longest form, no network length, for mctr (eth0, Scope: Link) .*---------------------------------------------------------------------* :xmp tab=0. module A { type component MTC {} testcase tc_1() runs on MTC { setverdict(pass); } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fe80:0000:0000:0000:0215:17ff:fe48:23d0%eth0 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of brief format for mctr, and for component address (eth0, Scope:Link) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fe80::215:17ff:fe48:23d0%eth0" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fe80::215:17ff:fe48:23d0%eth0 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of brief format for mctr, and name for component host address (eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "tcclab1" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of brief format for mctr, and full name for component host address (eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "tcclab1.tccnet.eth.ericsson.se" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address of brief format for mctr, and name for component host address (eth0, Scope:Link Local) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "tcclab1" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fe80::215:17ff:fe48:23d0%eth0 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address for mctr, and brief IPv6 address for component address(eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fd0a:f452:f524::7" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address for mctr, and longer IPv6 address for component address(eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fd0a:f452:f524:0:0:0:0:7" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524:0:0:0:0:7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address for mctr, and longest IPv6 address for component address(eth0, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fd0a:f452:f524:0000:0000:0000:0000:0007" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address for mctr, and brief IPv6 address for component address(eth1, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "fdb2:30de:34bd::7" //eth1 [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fdb2:30de:34bd::7 //eth1 Overall verdict: pass :exmp. .*---------------------------------------------------------------------* :h3. IPv6 address for mctr, and longer IPv6 address for component address (eth1, Scope:Global) .*---------------------------------------------------------------------* :xmp tab=0. module A { modulepar { charstring tsp_ipaddr1:="localhost" charstring tsp_port1 := "9999" } type component MTC {} type component C1_CT {} function f_c1_behavior() runs on C1_CT { log(">>>f_c1_behavior started<<<"); setverdict(pass); stop; } testcase tc_1() runs on MTC { var C1_CT vc_1 := C1_CT.create("First",tsp_ipaddr1); vc_1.start(f_c1_behavior()); vc_1.done; } control { execute(tc_1()); } } [LOGGING] FileMask := LOG_ALL ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS [MODULE_PARAMETERS] tsp_ipaddr1 := "FD0a:f452:f524:0:0:0:0:07" [EXECUTE] A.tc_1 [MAIN_CONTROLLER] LocalAddress := fd0a:f452:f524::7 Overall verdict: pass :exmp. :etext.