escargot/tools/debugger/debugger_tester.sh
Gergo Csizi 4bbd9d6cc6 Add breakpoint at the end of script execution
With --wait-before-exit it can be turned on in the debugger-server or in the debugger-client.

Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-01-18 15:27:35 +09:00

47 lines
2.1 KiB
Bash
Executable file

#!/bin/bash
ESCARGOT=$1
TEST_CASE=$2
DEBUGGER_CLIENT=$3
IS_CLIENT_SOURCE=$4
RESULT_TEMP=`mktemp ${TEST_CASE}.out.XXXXXXXXXX`
if [[ $IS_CLIENT_SOURCE == 0 ]] && [[ $TEST_CASE != *"tools/debugger/tests/client_source_multiple"* ]]; then
if [[ $TEST_CASE == *"tools/debugger/tests/do_wait_exit2"* ]]; then
${ESCARGOT} --start-debug-server --wait-before-exit ${TEST_CASE}.js &
else
${ESCARGOT} --start-debug-server ${TEST_CASE}.js &
fi
sleep 1s
if [[ $TEST_CASE == *"tools/debugger/tests/do_command"* ]]; then
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --non-interactive --command "b do_command.js:2;c;e i;c") >${RESULT_TEMP} 2>&1
elif [[ $TEST_CASE == *"tools/debugger/tests/do_wait_exit1"* ]]; then
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --non-interactive --wait-before-exit 1) >${RESULT_TEMP} 2>&1
else
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --non-interactive) >${RESULT_TEMP} 2>&1
fi
diff -u ${TEST_CASE}.expected ${RESULT_TEMP}
elif [[ $IS_CLIENT_SOURCE == 1 ]]; then
if [[ $TEST_CASE == *"tools/debugger/tests/do_wait_exit2"* ]]; then
${ESCARGOT} --start-debug-server --debugger-wait-source --wait-before-exit &
else
${ESCARGOT} --start-debug-server --debugger-wait-source &
fi
sleep 1s
if [[ $TEST_CASE == *"client_source"* ]]; then
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --client-source ${TEST_CASE}_2.js ${TEST_CASE}_1.js --non-interactive) >${RESULT_TEMP} 2>&1
elif [[ $TEST_CASE == *"tools/debugger/tests/do_command"* ]]; then
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --client-source ${TEST_CASE}.js --non-interactive --command "b do_command.js:2;c;e i;c") >${RESULT_TEMP} 2>&1
elif [[ $TEST_CASE == *"tools/debugger/tests/do_wait_exit1"* ]]; then
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --client-source ${TEST_CASE}.js --non-interactive --wait-before-exit 1) >${RESULT_TEMP} 2>&1
else
(cat "${TEST_CASE}.cmd" | ${DEBUGGER_CLIENT} --client-source ${TEST_CASE}.js --non-interactive) >${RESULT_TEMP} 2>&1
fi
diff -u ${TEST_CASE}.expected ${RESULT_TEMP}
fi
STATUS_CODE=$?
rm -f ${RESULT_TEMP}
exit ${STATUS_CODE}