3 # This script verifies the basic behavior of luci interpreter
7 # ./evalverify.sh <path/to/bin_dir> <path/to/work_dir> <path/to/venv_dir> <TEST 1> <TEST 2> ...
8 # bin_dir : build directory of luci-value-test (ex: build/compiler/luci-value-test)
9 # work_dir : artifacts directoy where test materials exist
10 # venv_dir : python virtual environment home directory
12 VERIFY_SOURCE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
13 VERIFY_SCRIPT_PATH="${VERIFY_SOURCE_PATH}/luci_eval_verifier.py"
16 VIRTUALENV="$1"; shift
17 INTERPRETER_DRIVER_PATH="${BINDIR}/tester/luci_eval_tester"
23 for TESTCASE in "$@"; do
24 TESTED+=("${TESTCASE}")
26 TESTCASE_FILE="${WORKDIR}/${TESTCASE}"
27 TEST_RESULT_FILE="${BINDIR}/${TESTCASE}"
29 PASSED_TAG="${TEST_RESULT_FILE}.passed"
32 cat > "${TEST_RESULT_FILE}.log" <(
36 source "${VIRTUALENV}/bin/activate"
37 "${VIRTUALENV}/bin/python" "${VERIFY_SCRIPT_PATH}" \
38 --driver "${INTERPRETER_DRIVER_PATH}" \
39 --model "${TESTCASE_FILE}"
41 if [[ $? -eq 0 ]]; then
46 if [[ -f "${PASSED_TAG}" ]]; then
47 PASSED+=("${TESTCASE}")
49 FAILED+=("${TESTCASE}")
53 if [[ ${#TESTED[@]} -ne ${#PASSED[@]} ]]; then
55 for TEST in "${FAILED[@]}"