2 ###############################################################################
3 # Copyright (c) 2000-2015 Ericsson Telecom AB
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Eclipse Public License v1.0
6 # which accompanies this distribution, and is available at
7 # http://www.eclipse.org/legal/epl-v10.html
8 ###############################################################################
12 #The goal of this script is to compare the logfile generation result for two different Titan version.
13 #If switches are not applied the original logfiles given as input will be compared with the just generated log files
14 #This is the use case in folder regression_test/logger/logtest
18 # old_logfilename.txt -if "-o" not used
19 # old_logfilename_modified.txt -if "-o" not used
21 # old_logfilename.txt -if "-o" used
22 # old_logfilename_modified.txt -if "-o" used
23 # Console_old_logfilename.txt
25 # new_logfilename_modified.txt
26 # Console_new_logfilename.txt
29 cfg_filename
="Titan_LogTest.cfg"
30 old_logfilename
="original_merged_log"
31 new_logfilename
="new_merged_log"
36 ##### FUNCTIONS #######
43 echo "Usage: $0 <options>"
45 echo " -o create old versions"
46 echo " -c [config filename] e.g.: Titan_LogTest.cfg"
47 echo " -O [Old log file name (before modification)]"
48 echo " -N [New log file name (before modification)]"
49 echo " -g generate makefiles. Mandatory if -o applied"
50 echo "Prerequisite: TTCN3_DIR set for the new ttcn3 dir"
59 if [ "$TTCN3_DIR_OLD" == "" ]
61 TTCN3_DIR_OLD
="/mnt/TTCN/Releases/TTCNv3-1.8.pl5"
63 echo "TTCN3_DIR_OLD:${TTCN3_DIR_OLD}"
65 if [ "$TTCN3_DIR" == "" ]
67 TTCN3_DIR
="/export/localhome/TCC/ethbaat/XmlTest/install"
69 TTCN3_DIR_NEW
=${TTCN3_DIR}
71 echo "TTCN3_DIR:${TTCN3_DIR}"
73 LD_LIBRARY_PATH_ORIG
=$LD_LIBRARY_PATH
75 SYSTEM_NAME
=`uname -n`
84 export USER
=$
(/usr
/ucb
/whoami
)
90 # $1: name of the cfg file
91 # $2: name of the merged log file
92 # $3: name of the merged modified log file (timestamps removed)
96 echo "Create_log called"
100 if [ "${generate_makefile}" == "1" ]
102 ttcn3_makefilegen
-fg Titan_LogTest.ttcn Titan_LogTestDefinitions.ttcn
*.cc
*.hh
106 echo "ttcn3_start Titan_LogTest $1"
107 ttcn3_start Titan_LogTest
"$1" |
tee "Console_$2"
109 #ttcn3_logmerge *.log > "$2"
110 #logmerge the order of the loglines can be different per executions
111 # therefore the logs will be appended instead of merge
112 echo "Appended logs:" > "$2"
113 list
=$
(ls Titan_LogTest
*.log |
xargs)
120 s/^.*\(EXECUTOR_COMPONENT - TTCN-3 Parallel Test Component started on\).*\( Component reference:\).*$/\1 \2/g
121 s/^.*\(PORTEVENT_UNQUALIFIED - Port internal_port is waiting for connection from\).*$/\1/g
122 s/^.*\(EXECUTOR_UNQUALIFIED - The local IP address of the control connection to\).*$/\1/g
123 s/^.*\(EXECUTOR_COMPONENT - TTCN-3 Main Test Component started on\).*$/\1/g
124 s/^.*\(EXECUTOR_RUNTIME - TTCN-3 Host Controller started on\).*$/\1/g
125 s/^.*\(EXECUTOR_UNQUALIFIED - The address of MC was set to\).*$/\1/g
126 s/^.*\(EXECUTOR_RUNTIME - MTC was created. Process id\).*$/\1/g
127 s/^.*\(Random number generator was initialized with seed\)\(.*\)$/\1/g
128 s/^.*\(Function rnd() returned\)\(.*\)$/\1/g
129 s/^.*\(PARALLEL_PTC - PTC was created. Component reference: \).*\(testcase name:\).*\(, process id:\)\(.*\)$/\1\2\3/g
130 s/^.*\(ERROR_UNQUALIFIED Titan_LogTest.ttcn\)\(.*\)\(Dynamic test case error: Assignment of an unbound integer value\).*/\1 \3/g
131 s/^.*\(TIMEROP_READ Titan_LogTest.ttcn\)\(.*\)/\1/g
132 s/^.*\(USER_UNQUALIFIED Titan_LogTest.ttcn\)\(.*\)/\1/g
133 s/^.*\(PARALLEL_PTC - PTC with component reference\)\(.*\)/\1/g
134 s/^.*\(PARALLEL_PTC - MTC finished.\)\(.*\)//g
135 s/^.*\(EXECUTOR_RUNTIME - Maximum number of open file descriptors\).*//g
138 # TODO: s/^.*\(PARALLEL_PTC - MTC finished.\)\(.*\)/\1/g should be used instead of s/^.*\(PARALLEL_PTC - MTC finished.\)\(.*\)//g
139 # TODO: s/^.*\(EXECUTOR_RUNTIME - Maximum number of open file descriptors\).*//g kiszedese
140 # This line removes the random/seldom line from the log
141 sed -e "$cmd" -e "/^$/d" < "$2" > "$3"
147 # $1: name of the cfg file
148 # $2: name of the merged log file
149 # $3: name of the merged modified log file (timestamps removed)
152 TTCN3_DIR_ORIG
=${TTCN3_DIR}
153 TTCN3_DIR
=${TTCN3_DIR_OLD}
155 PATH
=${TTCN3_DIR}/bin
:${PATH}
156 LD_LIBRARY_PATH_ORIG
=${LD_LIBRARY_PATH}
157 LD_LIBRARY_PATH
=${TTCN3_DIR}/lib
:${LD_LIBRARY_PATH}
158 export TTCN3_DIR PATH LD_LIBRARY_PATH
162 TTCN3_DIR
=${TTCN3_DIR_ORIG}
164 LD_LIBRARY_PATH
=${LD_LIBRARY_PATH_ORIG}
165 export TTCN3_DIR PATH LD_LIBRARY_PATH
170 # $1: name of the cfg file
171 # $2: name of the merged log file
172 # $3: name of the merged modified log file (timestamps removed)
175 echo ">>>>create_log_new args: $1 $2 $3"
176 TTCN3_DIR_ORIG
=${TTCN3_DIR}
177 TTCN3_DIR
=${TTCN3_DIR_NEW}
179 PATH
=${TTCN3_DIR}/bin
:${PATH}
180 LD_LIBRARY_PATH_ORIG
=${LD_LIBRARY_PATH}
181 LD_LIBRARY_PATH
=${TTCN3_DIR}/lib
:${LD_LIBRARY_PATH}
182 export TTCN3_DIR PATH LD_LIBRARY_PATH
186 TTCN3_DIR
=${TTCN3_DIR_ORIG}
188 LD_LIBRARY_PATH
=${LD_LIBRARY_PATH_ORIG}
189 export TTCN3_DIR PATH LD_LIBRARY_PATH
193 # $1: name of the old merged modified log file
194 # $2: name of the new merged modified log file
197 echo "Comparison follows"
200 echo "Comparison result is $result"
204 ####################### EOF FUNCTIONS ###################################
207 while getopts "hoc:O:N:g" o
210 h
) showUsage
; exit 1;;
212 c
) cfg_filename
=$OPTARG;;
213 O
) old_logfilename
=$OPTARG;;
214 N
) new_logfilename
=$OPTARG;;
215 g
) generate_makefile
=1;;
216 [?
]) showUsage
; exit 1;;
222 if [ "${create_old}" == "1" ]
224 echo ">>>CREATES OLD<<<"
225 create_log_old
"${cfg_filename}" "${old_logfilename}.txt" "${old_logfilename}_modified.txt"
227 echo ">>>OLD LOG NOT CREATED<<<"
228 echo ">>>${create_old}<<<"
231 create_log_new
"${cfg_filename}" "${new_logfilename}.txt" "${new_logfilename}_modified.txt"
233 compare
"${old_logfilename}_modified.txt" "${new_logfilename}_modified.txt"