blob: 12c9a459a4b356dcb7d3190f683def83a3c87ccc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#!/bin/bash
# This script verifies the basic behavior of luci interpreter
#
# HOW TO USE
#
# ./evalverify.sh <path/to/bin_dir> <path/to/work_dir> <path/to/venv_dir> <TEST 1> <TEST 2> ...
# bin_dir : build directory of luci-value-test (ex: build/compiler/luci-value-test)
# work_dir : artifacts directoy where test materials exist
# venv_dir : python virtual environment home directory
VERIFY_SOURCE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VERIFY_SCRIPT_PATH="${VERIFY_SOURCE_PATH}/luci_eval_verifier.py"
BINDIR="$1"; shift
WORKDIR="$1"; shift
VIRTUALENV="$1"; shift
INTERPRETER_DRIVER_PATH="${BINDIR}/tester/luci_eval_tester"
TESTED=()
PASSED=()
FAILED=()
for TESTCASE in "$@"; do
TESTED+=("${TESTCASE}")
TESTCASE_FILE="${WORKDIR}/${TESTCASE}"
TEST_RESULT_FILE="${BINDIR}/${TESTCASE}"
PASSED_TAG="${TEST_RESULT_FILE}.passed"
rm -f "${PASSED_TAG}"
cat > "${TEST_RESULT_FILE}.log" <(
exec 2>&1
set -ex
source "${VIRTUALENV}/bin/activate"
"${VIRTUALENV}/bin/python" "${VERIFY_SCRIPT_PATH}" \
--driver "${INTERPRETER_DRIVER_PATH}" \
--model "${TESTCASE_FILE}"
if [[ $? -eq 0 ]]; then
touch "${PASSED_TAG}"
fi
)
if [[ -f "${PASSED_TAG}" ]]; then
PASSED+=("${TESTCASE}")
else
FAILED+=("${TESTCASE}")
fi
done
if [[ ${#TESTED[@]} -ne ${#PASSED[@]} ]]; then
echo "FAILED"
for TEST in "${FAILED[@]}"
do
echo "- ${TEST}"
done
exit 255
fi
echo "PASSED"
exit 0
|