3 ################### Settings ########################################
4 #Timeout value for the hanging scripts
7 ################### TIMEOUT HANDLER #################################
12 echo "HANG_FLAG is set here"
13 kill $CMD_PID 2>/dev
/null
17 ##################### Test Executor main starts here ##################
19 #TEST_RUN_DIR should be set before running this
20 if [ ! "$TEST_RUN_ROOT" ]
22 echo "TEST_RUN_ROOT should be set before running the tests"
25 if [ ! "$CSQL_INSTALL_ROOT" ]
27 echo "CSQL_INSTALL_ROOT should be set before running the tests"
31 mkdir
-p $TEST_RUN_ROOT
32 SERVOUT
=$TEST_RUN_ROOT/serv.out
34 $CSQL_INSTALL_ROOT/bin
/csqlserver
>$SERVOUT 2>$SERVOUT &
36 echo "Starting Server"
40 echo $MODULE |
grep "#" >/dev
/null
45 #echo "MODULE READ is $MODULE"
47 TEST_SCRIPT_DIR
=${ROOT_DIR}/${MODULE}
48 TEST_RUN_DIR
=${TEST_RUN_ROOT}/${MODULE}
49 if [ -s "$TEST_RUN_DIR" ]
51 echo "TEST_RUN_ROOT already has Connection directory. Remove and try again."
54 mkdir
-p $TEST_RUN_DIR
56 # TODO::check whether server is running
58 TEST_LOG
=$TEST_RUN_DIR/testlog
62 echo "TEST_RUN_DIR has files in it. Remove before running the tests"
66 TEST_EXEC_DIR
=$TEST_RUN_DIR/tests
70 echo "Test Executor log file" >$TEST_LOG
71 echo "----------------------" >$TEST_LOG
73 TestList
=`ls ${TEST_SCRIPT_DIR}/test*`
77 echo "Running $test" >>$TEST_LOG
78 echo "Test started at : `date` "
79 echo "Test started at : `date` " >>$TEST_LOG
82 EXP_FILE
=exp.
`basename ${test}`
83 #echo "EXP_FILE is $EXP_FILE"
84 if [ -s "${TEST_SCRIPT_DIR}/${EXP_FILE}" ]
90 trap timeout_handler USR1
91 sleep ${HANG_TIMEOUT} && kill -s USR1 $$
&
94 if [ "$expPresent" = "yes" ]
96 cp ${TEST_SCRIPT_DIR}/${EXP_FILE} ${TEST_EXEC_DIR}
97 ${test} > ${TEST_EXEC_DIR}/cur.${EXP_FILE} 2>&1 &
99 ${test} >> ${TEST_LOG} 2>&1 &
102 wait ${CMD_PID} 2>/dev
/null
104 echo "Test Ended at : `date` "
105 echo "Test Ended at : `date` " >>$TEST_LOG
108 kill ${SLEEP_PID} 2>/dev
/null
110 if [ "$HANG_FLAG" = "Yes" ]
112 echo "Test Hung. so it is killed." >>$TEST_LOG
113 echo "FAILED:Test $test failed" >>$TEST_LOG
114 #TODO::Reinitalize the database, as it may be in corrupted state.
116 mv ${SERVOUT} ${SERVOUT}.${SERVER_PID}.${CURTIME}
117 kill -9 ${SERVER_PID}
118 echo "csqlserver killed PID=${SERVER_PID}" >>$TEST_LOG
119 $CSQL_INSTALL_ROOT/bin
/csqlserver
>$SERVOUT 2>$SERVOUT &
121 echo "csqlserver restarted with PID=${SERVER_PID}" >>$TEST_LOG
122 echo "Restarting Server"
131 if [ "$expPresent" = "yes" ]
133 #compare exp and current output
134 diff ${TEST_SCRIPT_DIR}/${EXP_FILE} ${TEST_EXEC_DIR}/cur.${EXP_FILE} > ${TEST_EXEC_DIR}/diff.${EXP_FILE}
138 echo "Exp and current output matched."
139 echo "Test $test passed"
140 echo "Exp and current output matched." >>$TEST_LOG
141 echo "PASSED:Test $test passed" >>$TEST_LOG
142 rm ${TEST_EXEC_DIR}/cur.
${EXP_FILE}
143 rm ${TEST_EXEC_DIR}/diff.
${EXP_FILE}
144 rm ${TEST_EXEC_DIR}/${EXP_FILE}
146 echo "Exp and current output not matched."
147 echo "Test $test failed"
148 echo "Exp and current output not matched." >>$TEST_LOG
149 echo "FAILED:Test $test failed" >>$TEST_LOG
150 #TODO::Reinitalize the database, as it may be in corrupted state.
152 mv ${SERVOUT} ${SERVOUT}.${SERVER_PID}.${CURTIME}
153 echo "Refer ${SERVOUT}.${SERVER_PID}.${CURTIME} file for server log" >>$TEST_LOG
154 kill -9 ${SERVER_PID}
155 echo "csqlserver killed PID=${SERVER_PID}" >>$TEST_LOG
156 $CSQL_INSTALL_ROOT/bin
/csqlserver
>$SERVOUT 2>$SERVOUT &
158 echo "csqlserver restarted with PID=${SERVER_PID}" >>$TEST_LOG
159 echo "Restarting Server"
164 echo "Test $test passed"
165 echo "Returned 0." >>$TEST_LOG
166 echo "PASSED:Test $test passed" >>$TEST_LOG
170 echo "Returned $ret "
171 echo "Test $test failed"
172 echo "Returned $ret " >>$TEST_LOG
173 echo "FAILED:Test $test failed" >>$TEST_LOG
174 #TODO::Reinitalize the database, as it may be in corrupted state.
176 mv ${SERVOUT} ${SERVOUT}.${SERVER_PID}.${CURTIME}
177 echo "Refer ${SERVOUT}.${SERVER_PID}.${CURTIME} file for server log" >>$TEST_LOG
178 kill -9 ${SERVER_PID}
179 echo "csqlserver killed PID=${SERVER_PID}" >>$TEST_LOG
180 $CSQL_INSTALL_ROOT/bin
/csqlserver
>$SERVOUT 2>$SERVOUT &
182 echo "csqlserver restarted with PID=${SERVER_PID}" >>$TEST_LOG
183 echo "Restarting Server"
190 kill -9 ${SERVER_PID}
191 echo "csqlserver killed PID=${SERVER_PID}" >>$TEST_LOG