mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-08-29 18:26:05 +00:00
Refactor the process of running the regression tests to allow it to be
only a partial run. Also modified to reduce the verbosity of the creation and loading of the sample database so that we treat those elements as tests also.
This commit is contained in:
parent
e18ad13327
commit
9f926627ce
@ -3,36 +3,58 @@
|
||||
# Run the regression tests and display differences
|
||||
#
|
||||
DBNAME=caldav
|
||||
UNTIL=${1:-"99999"}
|
||||
|
||||
REGRESSION="tests/regression-suite"
|
||||
RESULTS="${REGRESSION}/results"
|
||||
|
||||
check_result() {
|
||||
TEST="$1"
|
||||
if [ ! -f "${REGRESSION}/${TEST}.result" ] ; then
|
||||
touch "${REGRESSION}/${TEST}.result"
|
||||
fi
|
||||
diff -u "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" >"${REGRESSION}/diffs/${TEST}"
|
||||
|
||||
if [ -s "${REGRESSION}/diffs/${TEST}" -o ! -f "${REGRESSION}/${TEST}.result" ] ; then
|
||||
echo "======================================="
|
||||
echo "Displaying diff for test ${TEST}"
|
||||
echo "======================================="
|
||||
cat "${REGRESSION}/diffs/${TEST}"
|
||||
read -p "Accept this as new standard result [y/N]? " ACCEPT
|
||||
if [ "${ACCEPT}" = "y" ] ; then
|
||||
cp "${RESULTS}/${TEST}" "${REGRESSION}/${TEST}.result"
|
||||
fi
|
||||
else
|
||||
echo "Test ${TEST} passed OK!"
|
||||
fi
|
||||
}
|
||||
|
||||
# Restart PGPool to ensure we can drop and recreate the database
|
||||
# FIXME: We should really drop everything *from* the database and create it
|
||||
# from that, so we don't need to do this.
|
||||
sudo /etc/init.d/pgpool restart
|
||||
dropdb ${DBNAME}
|
||||
../dba/create-database.sh ${DBNAME}
|
||||
psql -q -f "../dba/sample-data.sql" "${DBNAME}"
|
||||
if ! dropdb ${DBNAME}; then
|
||||
echo "Unable to drop existing database"
|
||||
exit
|
||||
fi
|
||||
|
||||
for T in tests/regression-suite/*.test ; do
|
||||
TEST="`basename ${T} .test`"
|
||||
./dav_test regression-suite "${TEST}" | ./normalise_result > "tests/regression-suite/results/${TEST}"
|
||||
if [ ! -f "tests/regression-suite/${TEST}.result" ] ; then
|
||||
touch "tests/regression-suite/${TEST}.result"
|
||||
fi
|
||||
diff -u "tests/regression-suite/${TEST}.result" "tests/regression-suite/results/${TEST}" >"tests/regression-suite/diffs/${TEST}"
|
||||
done
|
||||
TEST="Create-Database"
|
||||
../dba/create-database.sh ${DBNAME} >"${RESULTS}/${TEST}" 2>&1
|
||||
check_result "${TEST}"
|
||||
|
||||
for T in tests/regression-suite/*.test ; do
|
||||
TEST="Load-Sample-Data"
|
||||
psql -q -f "../dba/sample-data.sql" "${DBNAME}" >"${RESULTS}/${TEST}" 2>&1
|
||||
check_result "${TEST}"
|
||||
|
||||
for T in ${REGRESSION}/*.test ; do
|
||||
TEST="`basename ${T} .test`"
|
||||
if [ -s "tests/regression-suite/diffs/${TEST}" -o ! -f "tests/regression-suite/${TEST}.result" ] ; then
|
||||
echo "======================================="
|
||||
echo "Displaying diff for test ${TEST}"
|
||||
echo "======================================="
|
||||
cat "tests/regression-suite/diffs/${TEST}"
|
||||
read -p "Accept this as new standard result [y/N]? " ACCEPT
|
||||
if [ "${ACCEPT}" = "y" ] ; then
|
||||
cp "tests/regression-suite/results/${TEST}" "tests/regression-suite/${TEST}.result"
|
||||
fi
|
||||
else
|
||||
echo "Test ${TEST} passed OK!"
|
||||
TESTNUM="`echo ${TEST} | cut -f1 -d'-'`"
|
||||
TESTNUM="${TEST/-*}"
|
||||
if [ "${TESTNUM}" -gt "${UNTIL}" ] ; then
|
||||
break;
|
||||
fi
|
||||
./dav_test regression-suite "${TEST}" | ./normalise_result > "${RESULTS}/${TEST}"
|
||||
|
||||
check_result "${TEST}"
|
||||
|
||||
done
|
||||
|
||||
26
testing/tests/regression-suite/Create-Database.result
Normal file
26
testing/tests/regression-suite/Create-Database.result
Normal file
@ -0,0 +1,26 @@
|
||||
CREATE DATABASE
|
||||
new_db_revision
|
||||
-----------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
new_db_revision
|
||||
-----------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
setval
|
||||
--------
|
||||
10
|
||||
(1 row)
|
||||
|
||||
setval
|
||||
--------
|
||||
1000
|
||||
(1 row)
|
||||
|
||||
setval
|
||||
--------
|
||||
10
|
||||
(1 row)
|
||||
|
||||
10
testing/tests/regression-suite/Load-Sample-Data.result
Normal file
10
testing/tests/regression-suite/Load-Sample-Data.result
Normal file
@ -0,0 +1,10 @@
|
||||
setval
|
||||
--------
|
||||
1000
|
||||
(1 row)
|
||||
|
||||
setval
|
||||
--------
|
||||
10
|
||||
(1 row)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user