52f138411d3659728c24c38cc73790a65f0acd37
[project/uci.git] / test / tests.sh
1 #!/bin/sh
2
3 TESTS_DIR="./tests"
4 CONFIG_DIR=${TESTS_DIR}"/config"
5 CHANGES_DIR="/tmp/.uci"
6 TMP_DIR=${TESTS_DIR}"/tmp"
7 FULL_SUITE=${TESTS_DIR}"/full_suite.sh"
8
9 UCI_STATIC="../uci-static"
10 [ -x $UCI_STATIC ] || {
11         echo "uci-static is not present."
12         return 1
13 }
14 UCI="${UCI_STATIC} -c ${CONFIG_DIR} -p ${CHANGES_DIR}"
15
16 REF_DIR="./references"
17 SCRIPTS_DIR="./tests.d"
18 DO_TEST="./shunit2/shunit2"
19
20 rm -rf ${TESTS_DIR}
21 mkdir -p ${TESTS_DIR}
22
23 cat << 'EOF' > ${FULL_SUITE}
24 setUp() {
25         mkdir -p ${CONFIG_DIR} ${CHANGES_DIR} ${TMP_DIR}
26 }
27 tearDown() {
28         rm -rf ${CONFIG_DIR} ${CHANGES_DIR} ${TMP_DIR}
29 }
30 assertSameFile() {
31         local ref=$1
32         local test=$2
33         diff -qr $ref $test
34         assertTrue $? || {
35                 echo "REF:"
36                 cat $ref
37                 echo "----"
38                 echo "TEST:"
39                 cat $test
40                 echo "----"
41         }
42 }
43 EOF
44
45 for suite in $(ls ${SCRIPTS_DIR}/*)
46 do
47         cat ${suite} >> ${FULL_SUITE}
48 done
49
50 echo ". ${DO_TEST}" >> ${FULL_SUITE}
51
52 REF_DIR="${REF_DIR}" \
53 CONFIG_DIR="${CONFIG_DIR}" \
54 CHANGES_DIR="${CHANGES_DIR}" \
55 TMP_DIR="${TMP_DIR}" \
56 UCI="${UCI}" \
57 /bin/sh ${FULL_SUITE}
58
59 rm -rf ${TESTS_DIR}