diff --git a/.gitignore b/.gitignore index ba077a4031add5b3a04384f8b9cfc414efbf47dd..f48ba68465439953e72ab61c2346fd7feae167ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -bin +#bin diff --git a/Semantic_Analizer_Tests/bin/config.cfg b/Semantic_Analizer_Tests/bin/config.cfg new file mode 100644 index 0000000000000000000000000000000000000000..960cd353b1292ff1715e1205c4c5f4d690747de8 --- /dev/null +++ b/Semantic_Analizer_Tests/bin/config.cfg @@ -0,0 +1,599 @@ +############################################################################### +# Copyright (c) 2000-2015 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 +############################################################################### +[DEFINE] +# In this section you can create macro definitions, +# that can be used in other configuration file sections except [INCLUDE]. +d_bool_true1 := "true" +d_bool_true2 := true +d_bool_false1 := "false" +d_bool_false2 := false +d_integer1 := 5 +d_integer2 := -5 +d_float1 := 1.0 +d_float2 := -1.0 +d_float3 := 1.0e2 +d_objid := "objid {0 0 0 0 }" +d_verdict_none := none +d_verdict_pass := pass +d_verdict_inconc := inconc +d_verdict_fail := fail +d_verdict_error := error +d_bitstring_empty := "" +d_bitstring_zeroes := "0000" +d_bitstring_ones := "1111" +d_hexstring_empty := "" +d_hexstring_all := "1234567890ABCDEFabcdef" +d_octetstring_empty := "" +d_octetstring_all := "01234567" +d_charstring_empty := "" +d_charstring_charstring := "charstring" +d_omit := omit +d_enum := "enum" +d_null1:= null +d_null2 := NULL +d_mtc := mtc +d_system := system + +#strange names testing the usability of words that are keywords in other sections +true := true +false := false +boolean := boolean +integer := integer +objid := objid +char := char +return := return +identifier := identifier +null := null +pass := pass +system := system +LogFile := LogFile +LOG_ALL := LOG_ALL +FileMask := FileMask +ConsoleMask := ConsoleMask +DiskFullAction := DiskFullAction +Stop := Stop +Error := Error +Retry := Retry +Delete := Delete +LogFileNumber := LogFileNumber +LogFileSize := LogFileSize +TimeStampFormat := TimeStampFormat +Yes := Yes +No := No +Time := Time +DateTime := DateTime +Seconds := Seconds +LogSourceInfo := LogSourceInfo +SourceInfoFormat := SourceInfoFormat +Stack := Stack +Single := Single +AppendFile := AppendFile +LogEventTypes := LogEventTypes +Detailed := Detailed +SubCategories := SubCategories +LogEntityName := LogEntityName +MatchingHints := MatchingHints +Compact := Compact +Detailed := Detailed +BeginTestCase := BeginTestCase +EndTestCase := EndTestCase +BeginControlPart := BeginControlPart +EndControlPart := EndControlPart +TCPPort := TCPPort +KillTimer := KillTimer +NumHCs := NumHCs +UnixSocketsEnabled := UnixSocketsEnabled +LocalAddress := LocalAddress + + +[MODULE_PARAMETERS] +# This section shall contain the values of all parameters that are defined in your TTCN-3 modules. +m_bool_true := true +m_bool_false := false +m_bool_macro_true := ${d_bool_true1, boolean} +m_bool_macro_false := ${d_bool_false1, boolean} +*.m_bool_true := true +*.m_bool_false := false +*.m_bool_macro_true := ${d_bool_true2, boolean} +*.m_bool_macro_false := ${d_bool_false2, boolean} +module_name.m_bool_true := true +module_name.m_bool_false := false +module_name.m_bool_macro_true := ${d_bool_true1, boolean} +module_name.m_bool_macro_false := ${d_bool_false1, boolean} +m_integer := 5; +m_integer := +5; +m_integer := -5; +m_integer := 1+1; +m_integer := 1-1; +m_integer := 1*1; +m_integer := 1/1; +m_integer := (1+(1-(1*(1/(+(-(1)))))))*(1+(1-(1*(1/(-(+(1))))))); +m_integer := ${d_integer1, integer} + ${d_integer2, integer}; +m_float := 5.0 +m_float := +5.0 +m_float := -5.0 +m_float := 1.0e2 +m_float := 1.0e+2 +m_float := 1.0e-2 +m_float := 1.0+1.0 +m_float := 0.1-0.1 +m_float := .1*.1 +m_float := 0.1/0.1 +m_float := (1.0+(1.0-(1.0*(1.0/(+(-(1.0)))))))*(1.0+(1.0-(1.0*(1.0/(-(+(1.0))))))) +m_float := ${d_float3, float} +m_float := ${d_float1, float} + ${d_float2, float} +m_objid := objid { 0 zero(0) 1 one(1)} +m_verdict := none +m_verdict := pass +m_verdict := inconc +m_verdict := fail +m_verdict := error +m_bitstring := ''B +m_bitstring := '0000'B +m_bitstring := '1111'B +m_bitstring := $d_bitstring_zeroes +m_bitstring := '0000'B & '1111'B & ${d_bitstring_zeroes, bitstring} & ${d_bitstring_ones, bitstring} +m_hexstring := ''H +m_hexstring := '01234567890ABCDEFabcdef'H +m_hexstring := ${d_hexstring_all, hexstring} +m_octetstring := ''O +m_octetstring := '01234567'O +m_octetstring := ${d_octetstring_all, octetstring} +m_octetstring := ${d_bitstring_ones, binaryoctet} +m_charstring := "" +m_charstring := "charstring" +m_charstring := char (0, 0, 0, 10) +m_charstring := $d_charstring_empty +m_charstring := $d_charstring_charstring +m_charstring := ${d_charstring_charstring, charstring} +m_charstring := "charstring" & char (1-1, 0*1, -1+1, 10/1) & $d_charstring_empty & ${d_charstring_empty, charstring} +m_omitted := omit +m_enum := enum_identifier +m_enum := {d_enum, identifier} +m_null := null +m_null := NULL +m_mtc := mtc +m_system := system +m_complex1 := {-, true, ${d_bool_true1, boolean}, 5, ${d_integer1, integer}, 1.0, ${d_float1, float}, + objid { 0 zero(0) 1 one(1)}, none, pass, fail, inconc, error, + '0011'B, $d_bitstring_zeroes, ${d_bitstring_zeroes, bitstring}, + '0011'H, ${d_hexstring_all, hexstring}, + ''O, ${d_octetstring_all, octetstring}, ${d_bitstring_ones, binaryoctet}, + "charstring", char (0, 0, 0, 10), $d_charstring_empty, ${d_charstring_empty, charstring}, + omit, enum_identifier, null, NULL, mtc, system, + {1, - , 5} , {field1 := 1, field2 := 2}, {[0] := 0, [1] := 1} +} +m_complex2 := {[0] := true, [0] := ${d_bool_true1, boolean}, [0] := 5, [0] := ${d_integer1, integer}, [0] := 1.0, [0] := ${d_float1, float}, + [0] := objid { 0 zero(0) 1 one(1)}, [0] := none, [0] := pass, [0] := fail, [0] := inconc, [0] := error, + [0] := '0011'B, [0] := $d_bitstring_zeroes, [0] := ${d_bitstring_zeroes, bitstring}, + [0] := '0011'H, [0] := ${d_hexstring_all, hexstring}, + [0] := ''O, [0] := ${d_octetstring_all, octetstring}, [0] := ${d_bitstring_ones, binaryoctet}, + [0] := "charstring", [0] := char (0, 0, 0, 10), [0] := $d_charstring_empty, [0] := ${d_charstring_empty, charstring}, + [0] := omit, [0] := enum_identifier, [0] := null, [0] := NULL, [0] := mtc, [0] := system, + [0] := {1, - , 5} , [0] := {field1 := 1, field2 := 2}, [0] := {[0] := 0, [1] := 1} +} +m_complex3 := {field := true, field := ${d_bool_true1, boolean}, field := 5, field := ${d_integer1, integer}, + field := 1.0, field := ${d_float1, float}, + field := objid { 0 zero(0) 1 one(1)}, field := none, field := pass, field := fail, field := inconc, field := error, + field := '0011'B, field := $d_bitstring_zeroes, field := ${d_bitstring_zeroes, bitstring}, + field := '0011'H, field := ${d_hexstring_all, hexstring}, + field := ''O, field := ${d_octetstring_all, octetstring}, field := ${d_bitstring_ones, binaryoctet}, + field := "charstring", field := char (0, 0, 0, 10), field := $d_charstring_empty, field := ${d_charstring_empty, charstring}, + field := omit, field := enum_identifier, field := null, field := NULL, field := mtc, field := system, + field := {1, - , 5} , field := {field1 := 1, field2 := 2}, field := {[0] := 0, [1] := 1} +} + +m_complex1 &= {1,2,3} + +#strange names testing the usability of words that are keywords in other sections +m_strangepar := true +m_strangepar := false +boolean := boolean +integer := integer +return := return +identifier := identifier +m_strangepar := null +m_strangepar := pass +m_strangepar := system +LogFile := LogFile +LOG_ALL := LOG_ALL +FileMask := FileMask +ConsoleMask := ConsoleMask +DiskFullAction := DiskFullAction +Stop := Stop +Error := Error +Retry := Retry +Delete := Delete +LogFileNumber := LogFileNumber +LogFileSize := LogFileSize +TimeStampFormat := TimeStampFormat +Yes := Yes +No := No +Time := Time +DateTime := DateTime +Seconds := Seconds +LogSourceInfo := LogSourceInfo +SourceInfoFormat := SourceInfoFormat +Stack := Stack +Single := Single +AppendFile := AppendFile +LogEventTypes := LogEventTypes +Detailed := Detailed +SubCategories := SubCategories +LogEntityName := LogEntityName +MatchingHints := MatchingHints +Compact := Compact +Detailed := Detailed +BeginTestCase := BeginTestCase +EndTestCase := EndTestCase +BeginControlPart := BeginControlPart +EndControlPart := EndControlPart +TCPPort := TCPPort +KillTimer := KillTimer +NumHCs := NumHCs +UnixSocketsEnabled := UnixSocketsEnabled +LocalAddress := LocalAddress + +[LOGGING] +#testing the loggerplugins with different component and loggerplugin writing forms +LoggerPlugins := {first, second := "location"} +*.LoggerPlugins := {first, second := "location"} +5.LoggerPlugins := {first, second := "location"} +mtc.LoggerPlugins := {first, second := "location"} +component.LoggerPlugins := {first, second := "location"} +Loggerplugins := {first, second := "location"} +loggerPlugins := {first, second := "location"} +loggerplugins := {first, second := "location"} + +#testing the logfile with different component and loggerplugin writing forms +LogFile := "logs/%e.%h-%r.%s" +*.LogFile := "logs/%e.%h-%r.%s" +5.LogFile := "logs/%e.%h-%r.%s" +mtc.LogFile := "logs/%e.%h-%r.%s" +component.LogFile := "logs/%e.%h-%r.%s" +*.*.LogFile := "logs/%e.%h-%r.%s" +5.*.LogFile := "logs/%e.%h-%r.%s" +mtc.*.LogFile := "logs/%e.%h-%r.%s" +component.*.LogFile := "logs/%e.%h-%r.%s" +*.plugin.LogFile := "logs/%e.%h-%r.%s" +5.plugin.LogFile := "logs/%e.%h-%r.%s" +mtc.plugin.LogFile := "logs/%e.%h-%r.%s" +component.plugin.LogFile := "logs/%e.%h-%r.%s" +*.${d_enum, identifier}.LogFile := "logs/%e.%h-%r.%s" +5.${d_enum, identifier}.LogFile := "logs/%e.%h-%r.%s" +mtc.${d_enum, identifier}.LogFile := "logs/%e.%h-%r.%s" +component.${d_enum, identifier}.LogFile := "logs/%e.%h-%r.%s" + +#testing all of the possible values +filemask := LOG_ALL | ACTION | WARNING|VERDICTOP|USER|TIMEROP|TESTCASE|STATISTICS|PORTEVENT|PARALLEL|FUNCTION|EXECUTOR|ERROR|DEFAULTOP| DEBUG | MATCHING | + LOG_NOTHING | TTCN_ACTION | TTCN_WARNING|TTCN_VERDICTOP|TTCN_USER|TTCN_TIMEROP|TTCN_TESTCASE|TTCN_STATISTICS|TTCN_PORTEVENT|TTCN_PARALLEL|TTCN_FUNCTION|TTCN_EXECUTOR|TTCN_ERROR|TTCN_DEFAULTOP| TTCN_DEBUG | TTCN_MATCHING| + ACTION_UNQUALIFIED | DEBUG_ENCDEC | DEBUG_TESTPORT | DEBUG_UNQUALIFIED | DEFAULTOP_ACTIVATE | DEFAULTOP_DEACTIVATE | DEFAULTOP_EXIT | DEFAULTOP_UNQUALIFIED | + ERROR_UNQUALIFIED | EXECUTOR_COMPONENT | EXECUTOR_CONFIGDATA | EXECUTOR_EXTCOMMAND | EXECUTOR_LOGOPTIONS | EXECUTOR_RUNTIME | EXECUTOR_UNQUALIFIED | + FUNCTION_RND | FUNCTION_UNQUALIFIED | + MATCHING_DONE | MATCHING_MCSUCCESS | MATCHING_MCUNSUCC | MATCHING_MMSUCCESS | MATCHING_MMUNSUCC | MATCHING_PCSUCCESS | MATCHING_PCUNSUCC | MATCHING_PMSUCCESS | MATCHING_PMUNSUCC | MATCHING_PROBLEM | MATCHING_TIMEOUT | MATCHING_UNQUALIFIED | + PARALLEL_PORTCONN | PARALLEL_PORTMAP | PARALLEL_PTC | PARALLEL_UNQUALIFIED | PORTEVENT_DUALRECV | PORTEVENT_DUALSEND | PORTEVENT_MCRECV | PORTEVENT_MCSEND | PORTEVENT_MMRECV | PORTEVENT_MMSEND | PORTEVENT_MQUEUE | PORTEVENT_PCIN | PORTEVENT_PCOUT | PORTEVENT_PMIN | PORTEVENT_PMOUT | PORTEVENT_PQUEUE | PORTEVENT_STATE | PORTEVENT_UNQUALIFIED | STATISTICS_UNQUALIFIED | + STATISTICS_VERDICT | TESTCASE_FINISH | TESTCASE_START | TESTCASE_UNQUALIFIED | + TIMEROP_GUARD | TIMEROP_READ | TIMEROP_START | TIMEROP_STOP | TIMEROP_TIMEOUT | TIMEROP_UNQUALIFIED | + USER_UNQUALIFIED | VERDICTOP_FINAL | VERDICTOP_GETVERDICT | VERDICTOP_SETVERDICT | VERDICTOP_UNQUALIFIED | WARNING_UNQUALIFIED +Filemask := LOG_ALL +fileMask := LOG_ALL +FileMask := LOG_ALL + +consolemask := LOG_ALL | ACTION | WARNING|VERDICTOP|USER|TIMEROP|TESTCASE|STATISTICS|PORTEVENT|PARALLEL|FUNCTION|EXECUTOR|ERROR|DEFAULTOP| DEBUG | MATCHING | + LOG_NOTHING | TTCN_ACTION | TTCN_WARNING|TTCN_VERDICTOP|TTCN_USER|TTCN_TIMEROP|TTCN_TESTCASE|TTCN_STATISTICS|TTCN_PORTEVENT|TTCN_PARALLEL|TTCN_FUNCTION|TTCN_EXECUTOR|TTCN_ERROR|TTCN_DEFAULTOP| TTCN_DEBUG | TTCN_MATCHING| + ACTION_UNQUALIFIED | DEBUG_ENCDEC | DEBUG_TESTPORT | DEBUG_UNQUALIFIED | DEFAULTOP_ACTIVATE | DEFAULTOP_DEACTIVATE | DEFAULTOP_EXIT | DEFAULTOP_UNQUALIFIED | + ERROR_UNQUALIFIED | EXECUTOR_COMPONENT | EXECUTOR_CONFIGDATA | EXECUTOR_EXTCOMMAND | EXECUTOR_LOGOPTIONS | EXECUTOR_RUNTIME | EXECUTOR_UNQUALIFIED | + FUNCTION_RND | FUNCTION_UNQUALIFIED | + MATCHING_DONE | MATCHING_MCSUCCESS | MATCHING_MCUNSUCC | MATCHING_MMSUCCESS | MATCHING_MMUNSUCC | MATCHING_PCSUCCESS | MATCHING_PCUNSUCC | MATCHING_PMSUCCESS | MATCHING_PMUNSUCC | MATCHING_PROBLEM | MATCHING_TIMEOUT | MATCHING_UNQUALIFIED | + PARALLEL_PORTCONN | PARALLEL_PORTMAP | PARALLEL_PTC | PARALLEL_UNQUALIFIED | PORTEVENT_DUALRECV | PORTEVENT_DUALSEND | PORTEVENT_MCRECV | PORTEVENT_MCSEND | PORTEVENT_MMRECV | PORTEVENT_MMSEND | PORTEVENT_MQUEUE | PORTEVENT_PCIN | PORTEVENT_PCOUT | PORTEVENT_PMIN | PORTEVENT_PMOUT | PORTEVENT_PQUEUE | PORTEVENT_STATE | PORTEVENT_UNQUALIFIED | STATISTICS_UNQUALIFIED | + STATISTICS_VERDICT | TESTCASE_FINISH | TESTCASE_START | TESTCASE_UNQUALIFIED | + TIMEROP_GUARD | TIMEROP_READ | TIMEROP_START | TIMEROP_STOP | TIMEROP_TIMEOUT | TIMEROP_UNQUALIFIED | + USER_UNQUALIFIED | VERDICTOP_FINAL | VERDICTOP_GETVERDICT | VERDICTOP_SETVERDICT | VERDICTOP_UNQUALIFIED | WARNING_UNQUALIFIED +Consolemask := LOG_ALL +consoleMask := LOG_ALL +ConsoleMask := LOG_ALL + +*.*.diskfullaction := stop +*.*.diskfullAction := stop +*.*.diskFullaction := stop +*.*.diskFullAction := stop +*.*.Diskfullaction := stop +*.*.DiskfullAction := stop +*.*.DiskFullaction := stop +*.*.DiskFullAction := stop +*.*.DiskFullAction := Stop +*.*.DiskFullAction := Error +*.*.DiskFullAction := error +*.*.DiskFullAction := Retry +*.*.DiskFullAction := retry +*.*.DiskFullAction := Delete +*.*.DiskFullAction := delete + +logfilenumber := 5 +logfileNumber := 5 +logFilenumber := 5 +logFileNumber := 5 +Logfilenumber := 5 +LogfileNumber := 5 +LogFilenumber := 5 +LogFileNumber := 5 +LogFileNumber := ${d_integer, integer} + +logfilesize := 5 +logfileSize := 5 +logFilesize := 5 +logFileSize := 5 +Logfilesize := 5 +LogfileSize := 5 +LogFilesize := 5 +LogFileSize := 5 +LogFileSize := ${d_integer, integer} + +logfile := "logs/%e.%h-%r.%s" +logFile := "logs/%e.%h-%r.%s" +Logfile := "logs/%e.%h-%r.%s" +filename := "logs/%e.%h-%r.%s" +fileName := "logs/%e.%h-%r.%s" +Filename := "logs/%e.%h-%r.%s" +FileName := "logs/%e.%h-%r.%s" + +timestampformat := time +timestampFormat := Time +timeStampformat := TIME +timeStampFormat := datetime +Timestampformat := Datetime +TimestampFormat := DateTime +TimeStampformat := DATETIME +TimeStampFormat := seconds +TimeStampFormat := Seconds +TimeStampFormat := SECONDS + +logsourceinfo := yes +logsourceInfo := Yes +logSourceinfo := YES +logSourceInfo := no +Logsourceinfo := No +LogsourceInfo := NO +LogSourceinfo := ${d_boolean, boolean} +LogSourceInfo := none +sourceinfoformat := none +sourceinfoFormat := None +sourceInfoformat := NONE +sourceInfoFormat := single +Sourceinfoformat := Single +SourceinfoFormat := SINGLE +SourceInfoformat := stack +SourceInfoFormat := Stack +SourceInfoFormat := STACK + + +appendfile := yes +appendFile := Yes +Appendfile := YES +AppendFile := no +AppendFile := No +AppendFile := NO +AppendFile := ${d_boolean, boolean} + + +logeventtypes := yes +logeventTypes := Yes +logEventtypes := YES +logEventTypes := no +Logeventtypes := No +LogeventTypes := NO +LogEventtypes := detailed +LogEventTypes := Detailed +LogEventTypes := subcategories +LogEventTypes := subCategories +LogEventTypes := Subcategories +LogEventTypes := SubCategories + + +logentityname := yes +logentityName := Yes +logEntityname := YES +logEntityName := no +Logentityname := No +LogentityName := NO +LogEntityname := Yes +LogEntityName := Yes + +matchinghints := compact +matchingHints := Compact +MatchingHints := detailed +MatchingHints := Detailed + +pluginSpecific := "something" & "something" + + +[TESTPORT_PARAMETERS] +# In this section you can specify parameters that are passed to Test Ports. +component.testport.id := "value"; +${enum_identifier, identifier}.testport.id := "value"; +5.testport.id := "value" +${d_integer, integer}.testport.id := "value" +mtc.testport.id := "value" +system.testport.id := "value" +*.testport.id := "value" +component.testport[5+5].id := "value" +component.*.id := "value" +component.testport.${enum_identifier, identifier} := "value" & "value" + +[INCLUDE] +# To use configuration settings given in other configuration files, +# the configuration files just need to be listed in this section, with their full or relative pathnames. +"included.cfg" + +[EXTERNAL_COMMANDS] +# This section can define external commands (shell scripts) to be executed by the ETS +# whenever a control part or test case is started or terminated. +BeginTestCase := "BeginTestCase" +EndTestCase := "EndTestCase" +BeginControlPart := "BeginControlPart" +EndControlPart := "EndControlPart" + +[EXECUTE] +# In this section you can specify what parts of your test suite you want to execute. +executeable.control +executeable.testcase1; +executeable.* + +[GROUPS] +# In this section you can specify groups of hosts. These groups can be used inside the +# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts. +first := * +second := 1, 1.0, 1.0.0.0.0.0.0, a.b.c.d.e.f, identifier, ${enum_identifier, identifier} + +#strange names testing the usability of words that are keywords in other sections +true := true +false := false +boolean := boolean +integer := integer +objid := objid +char := char +return := return +identifier := identifier +null := null +pass := pass +system := system +LogFile := LogFile +LOG_ALL := LOG_ALL +FileMask := FileMask +ConsoleMask := ConsoleMask +DiskFullAction := DiskFullAction +Stop := Stop +Error := Error +Retry := Retry +Delete := Delete +LogFileNumber := LogFileNumber +LogFileSize := LogFileSize +TimeStampFormat := TimeStampFormat +Yes := Yes +No := No +Time := Time +DateTime := DateTime +Seconds := Seconds +LogSourceInfo := LogSourceInfo +SourceInfoFormat := SourceInfoFormat +Stack := Stack +Single := Single +AppendFile := AppendFile +LogEventTypes := LogEventTypes +Detailed := Detailed +SubCategories := SubCategories +LogEntityName := LogEntityName +MatchingHints := MatchingHints +Compact := Compact +Detailed := Detailed +BeginTestCase := BeginTestCase +EndTestCase := EndTestCase +BeginControlPart := BeginControlPart +EndControlPart := EndControlPart +TCPPort := TCPPort +KillTimer := KillTimer +NumHCs := NumHCs +UnixSocketsEnabled := UnixSocketsEnabled +LocalAddress := LocalAddress + +[COMPONENTS] +# This section consists of rules restricting the location of created PTCs. +component := host1; +${enum_identifier, identifier} := host1; +* := host1; +component := 1 +component := 1.0 +component := 1.0.0.0 +component := 1.0.0.0.0.0.0.0 +component := a.b.c.d.e.f +component := ${enum_identifier, hostname} + +#strange names testing the usability of words that are keywords in other sections +true := true +false := false +boolean := boolean +integer := integer +objid := objid +char := char +return := return +identifier := identifier +null := null +pass := pass +system := system +LogFile := LogFile +LOG_ALL := LOG_ALL +FileMask := FileMask +ConsoleMask := ConsoleMask +DiskFullAction := DiskFullAction +Stop := Stop +Error := Error +Retry := Retry +Delete := Delete +LogFileNumber := LogFileNumber +LogFileSize := LogFileSize +TimeStampFormat := TimeStampFormat +Yes := Yes +No := No +Time := Time +DateTime := DateTime +Seconds := Seconds +LogSourceInfo := LogSourceInfo +SourceInfoFormat := SourceInfoFormat +Stack := Stack +Single := Single +AppendFile := AppendFile +LogEventTypes := LogEventTypes +Detailed := Detailed +SubCategories := SubCategories +LogEntityName := LogEntityName +MatchingHints := MatchingHints +Compact := Compact +Detailed := Detailed +BeginTestCase := BeginTestCase +EndTestCase := EndTestCase +BeginControlPart := BeginControlPart +EndControlPart := EndControlPart +TCPPort := TCPPort +KillTimer := KillTimer +NumHCs := NumHCs +UnixSocketsEnabled := UnixSocketsEnabled +LocalAddress := LocalAddress + +[MAIN_CONTROLLER] +# The options herein control the behavior of MC. + +tcpport := 0 +tcpPort := 0 +TCPport := 0 +TCPPort := 0 + +killtimer := 10.0 +killTimer := 10.0 +Killtimer := 10.0 +KillTimer := 10.0 + +numhcs := 0 +numHCs := 0 +Numhcs := 0 +NumHCs := 0 + +unixsocketsenabled := yes +unixsocketsEnabled := Yes +unixSocketsenabled := YES +unixSocketsEnabled := no +Unixsocketsenabled := No +UnixsocketsEnabled := NO +UnixSocketsenabled := yes +UnixSocketsEnabled := yes + +localaddress := name +localAddress := 5 +Localaddress := 5.0 +LocalAddress := 127.0.0.1 +LocalAddress := id-0_i-0.1 +LocalAddress := ${d_hostname, hostname} \ No newline at end of file diff --git a/Semantic_Analizer_Tests/bin/included.cfg b/Semantic_Analizer_Tests/bin/included.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1c0112daed7afcffe48e68de6a6a1b954e423dbd --- /dev/null +++ b/Semantic_Analizer_Tests/bin/included.cfg @@ -0,0 +1,11 @@ +############################################################################### +# Copyright (c) 2000-2015 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 +############################################################################### +# This file is intentionally empty +[INCLUDE] +"config.cfg" +"ipv6addresses.cfg" \ No newline at end of file diff --git a/Semantic_Analizer_Tests/bin/ipv6addresses.cfg b/Semantic_Analizer_Tests/bin/ipv6addresses.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1eb1c14c1f22edd508c2dd66349c82bb14167632 --- /dev/null +++ b/Semantic_Analizer_Tests/bin/ipv6addresses.cfg @@ -0,0 +1,229 @@ +############################################################################### +# Copyright (c) 2000-2015 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 +############################################################################### +[GROUPS] +first := * +second := 1, 1.0, 1.0.0.0.0.0.0, a.b.c.d.e.f, identifier, ${enum_identifier, identifier} + +myGroup := ::1 #fe80::c002:37ff:fe6c:0%fastethernet0/0 + +#based on http://tools.ietf.org/html/rfc3513 + +myGroup := FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 +myGroup := 1080:0:0:0:8:800:200C:417A +myGroup := 1080:0:0:0:8:800:200C:417 +myGroup := FF01:0:0:0:0:0:0:101 + +myGroup := 1080:0:0:0:8:800:200C:417A #a unicast address +myGroup := 1080::8:800:200C:417A #a unicast address + +myGroup := FF01:0:0:0:0:0:0:101 #a multicast address +myGroup :=FF01::101 #a multicast address + +myGroup := 0:0:0:0:0:0:0:1 #the loopback address +myGroup := ::1 #the loopback address + +myGroup := 0:0:0:0:0:0:0:0 #the unspecified addresses +myGroup := :: #the unspecified addresses + +myGroup := 0:0:0:0:0:0:13.1.68.3 +myGroup := ::13.1.68.3 + +myGroup := 0:0:0:0:0:FFFF:129.144.52.38 +myGroup := ::FFFF:129.144.52.38 + +myGroup := 12AB:0000:0000:CD30:0000:0000:0000:0000/60 #should run legal! +myGroup :=12AB:0:0:CD30::/60 +myGroup := 12AB:0:0:CD30::/60 + +#The following are NOT legal representations of the above prefix: BUT they are eaten >( +myGroup := 12AB:0:0:CD3/60 #may drop leading zeros, but not trailing zeros,within any 16-bit chunk of the address + +myGroup := 12AB::CD30/60 #address to left of "/" expands to 2AB:0000:0000:0000:0000:000:0000:CD30 + +myGroup := 12AB::CD3/60 #address to left of "/" expands to 12AB:0000:0000:0000:0000:000:0000:0CD3 + +myGroup := 12AB:0:0:CD30:123:4567:89AB:CDEF/60 + +myGroup := FF01:0:0:0:0:0:0:101 + +myGroup := FF02:0:0:0:0:0:0:101 #means all NTP servers on the same link as the sender. + +myGroup := FF05:0:0:0:0:0:0:101 #means all NTP servers in the same site as the sender. + +myGroup := FF0E:0:0:0:0:0:0:101 #means all NTP servers in the internet. + +myGroup := FF00:0:0:0:0:0:0:0 #FF0Reserved Multicast Addresses: + +myGroup := FF01:0:0:0:0:0:0:1 #All Nodes Addresses: +myGroup := FF02:0:0:0:0:0:0:1 #All Nodes Addresses: + +myGroup := FF01:0:0:0:0:0:0:2 #All Routers Addresses: +myGroup := FF02:0:0:0:0:0:0:2 #All Routers Addresses: +myGroup := FF05:0:0:0:0:0:0:2 #All Routers Addresses: + +myGroup := FF02:0:0:0:0:1:FF00:0000 +myGroup := FF02:0:0:0:0:1:FFFF:FFFF + +myGroup := 2001::/16 +myGroup := FF00::/8 + + +myGroup := b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.ARPA. + +[COMPONENTS] +# This section consists of rules restricting the location of created PTCs. +component := host1; +${enum_identifier, identifier} := host1; +* := host1; +component := 1 +component := 1.0 +component := 1.0.0.0 +component := 1.0.0.0.0.0.0.0 +component := a.b.c.d.e.f +component := ${enum_identifier, hostname} + +myComponent := FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 +myComponent := 1080:0:0:0:8:800:200C:417A +myComponent := 1080:0:0:0:8:800:200C:417 +myComponent := FF01:0:0:0:0:0:0:101 + +myComponent := 1080:0:0:0:8:800:200C:417A #a unicast address +myComponent := 1080::8:800:200C:417A #a unicast address + +myComponent := FF01:0:0:0:0:0:0:101 #a multicast address +myComponent :=FF01::101 #a multicast address + +myComponent := 0:0:0:0:0:0:0:1 #the loopback address +myComponent := ::1 #the loopback address + +myComponent := 0:0:0:0:0:0:0:0 #the unspecified addresses +myComponent := :: #the unspecified addresses + +myComponent := 0:0:0:0:0:0:13.1.68.3 +myComponent := ::13.1.68.3 + +myComponent := 0:0:0:0:0:FFFF:129.144.52.38 +myComponent := ::FFFF:129.144.52.38 + +myComponent := 12AB:0000:0000:CD30:0000:0000:0000:0000/60 #should run legal! +myComponent :=12AB:0:0:CD30::/60 +myComponent := 12AB:0:0:CD30::/60 + +#The following are NOT legal representations of the above prefix: BUT they are eaten >( +myComponent := 12AB:0:0:CD3/60 #may drop leading zeros, but not trailing zeros,within any 16-bit chunk of the address + +myComponent := 12AB::CD30/60 #address to left of "/" expands to 2AB:0000:0000:0000:0000:000:0000:CD30 + +myComponent := 12AB::CD3/60 #address to left of "/" expands to 12AB:0000:0000:0000:0000:000:0000:0CD3 + +myComponent := 12AB:0:0:CD30:123:4567:89AB:CDEF/60 + +myComponent := FF01:0:0:0:0:0:0:101 + +myComponent := FF02:0:0:0:0:0:0:101 #means all NTP servers on the same link as the sender. + +myComponent := FF05:0:0:0:0:0:0:101 #means all NTP servers in the same site as the sender. + +myComponent := FF0E:0:0:0:0:0:0:101 #means all NTP servers in the internet. + +myComponent := FF00:0:0:0:0:0:0:0 #FF0Reserved Multicast Addresses: + +myComponent := FF01:0:0:0:0:0:0:1 #All Nodes Addresses: +myComponent := FF02:0:0:0:0:0:0:1 #All Nodes Addresses: + +myComponent := FF01:0:0:0:0:0:0:2 #All Routers Addresses: +myComponent := FF02:0:0:0:0:0:0:2 #All Routers Addresses: +myComponent := FF05:0:0:0:0:0:0:2 #All Routers Addresses: + +myComponent := FF02:0:0:0:0:1:FF00:0000 +myComponent := FF02:0:0:0:0:1:FFFF:FFFF + +myComponent := 2001::/16 +myComponent := FF00::/8 + + +myComponent := b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.ARPA. + +[MAIN_CONTROLLER] +TCPPort := 5555 +# It's not necessary to give a full pattern for IPv6 addresses, the pattern +# was not full for even IPv4. E.g. `LocalAddress := 1.1.localhost.1' is +# possible, but invalid. It's not checked by the parser. + +LocalAddress := ::1 #fe80::c002:37ff:fe6c:0%fastethernet0/0 + +#based on http://tools.ietf.org/html/rfc3513 + +LocalAddress := FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 +LocalAddress := 1080:0:0:0:8:800:200C:417A +LocalAddress := 1080:0:0:0:8:800:200C:417 +LocalAddress := FF01:0:0:0:0:0:0:101 + +LocalAddress := 1080:0:0:0:8:800:200C:417A #a unicast address +LocalAddress := 1080::8:800:200C:417A #a unicast address + +LocalAddress := FF01:0:0:0:0:0:0:101 #a multicast address +LocalAddress :=FF01::101 #a multicast address + +LocalAddress := 0:0:0:0:0:0:0:1 #the loopback address +LocalAddress := ::1 #the loopback address + +LocalAddress := 0:0:0:0:0:0:0:0 #the unspecified addresses +LocalAddress := :: #the unspecified addresses + +LocalAddress := 0:0:0:0:0:0:13.1.68.3 +LocalAddress := ::13.1.68.3 + +LocalAddress := 0:0:0:0:0:FFFF:129.144.52.38 +LocalAddress := ::FFFF:129.144.52.38 + +LocalAddress := 12AB:0000:0000:CD30:0000:0000:0000:0000/60 #should run legal! +LocalAddress :=12AB:0:0:CD30::/60 +LocalAddress := 12AB:0:0:CD30::/60 + +#The following are NOT legal representations of the above prefix: BUT they are eaten >( +LocalAddress := 12AB:0:0:CD3/60 #may drop leading zeros, but not trailing zeros,within any 16-bit chunk of the address + +LocalAddress := 12AB::CD30/60 #address to left of "/" expands to 2AB:0000:0000:0000:0000:000:0000:CD30 + +LocalAddress := 12AB::CD3/60 #address to left of "/" expands to 12AB:0000:0000:0000:0000:000:0000:0CD3 + +LocalAddress := 12AB:0:0:CD30:123:4567:89AB:CDEF/60 + +LocalAddress := FF01:0:0:0:0:0:0:101 + +LocalAddress := FF02:0:0:0:0:0:0:101 #means all NTP servers on the same link as the sender. + +LocalAddress := FF05:0:0:0:0:0:0:101 #means all NTP servers in the same site as the sender. + +LocalAddress := FF0E:0:0:0:0:0:0:101 #means all NTP servers in the internet. + +LocalAddress := FF00:0:0:0:0:0:0:0 #FF0Reserved Multicast Addresses: + +LocalAddress := FF01:0:0:0:0:0:0:1 #All Nodes Addresses: +LocalAddress := FF02:0:0:0:0:0:0:1 #All Nodes Addresses: + +LocalAddress := FF01:0:0:0:0:0:0:2 #All Routers Addresses: +LocalAddress := FF02:0:0:0:0:0:0:2 #All Routers Addresses: +LocalAddress := FF05:0:0:0:0:0:0:2 #All Routers Addresses: + +LocalAddress := FF02:0:0:0:0:1:FF00:0000 +LocalAddress := FF02:0:0:0:0:1:FFFF:FFFF + +LocalAddress := 2001::/16 +LocalAddress := FF00::/8 + + +LocalAddress := b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.ARPA. + + +[TESTPORT_PARAMETERS] +mycomp1.myport.a := "1" + +[EXECUTE] +ipv6.control