3 #*************************************************************************
4 # "run-tests" is free software: you can redistribute it and/or modify *
5 # it under the terms of the GNU Affero Public License as published by *
6 # the Free Software Foundation, either version 3 of the License, or *
7 # (at your option) any later version. *
9 # "run-tests" is distributed in the hope that it will be useful, *
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 # GNU Affero Public License for more details. *
14 # You should have received a copy of the GNU Affero Public License *
15 # along with Edward. If not, see <http://www.gnu.org/licenses/>. *
17 # Copyright (C) 2015 Andrew Engelbrecht (AGPLv3+) *
18 #*************************************************************************
26 SCRIPT_DIR
="$(_get_script_dir)"
27 TESTS_DIR
="$SCRIPT_DIR/tests"
28 G_HOME
="$TESTS_DIR/testgnupghome"
31 for i
in $
(seq "$COUNT") ; do
33 TEST_INPUT
="$TESTS_DIR/test$i.eml"
34 TEST_OUTPUT
="$TESTS_DIR/out$i.txt"
36 _exec_compare
"$TEST_INPUT" "$TEST_OUTPUT" "$G_HOME"
39 ERROR_COUNT
="$(expr "$ERROR_COUNT" + "$ERROR")"
43 if [ "$ERROR_COUNT" -ne "0" ] ; then
44 echo "*** Failed test count: $ERROR_COUNT" >&2
52 function _exec_compare
{
58 OUT_DIFF
="$(time ./edward < "$TEST_INPUT" | GNUPGHOME="$G_HOME" gpg 2> /dev/null | ./tests/flatten-mime | diff -Z -u "$TEST_OUTPUT" - )"
60 if [ -n "$OUT_DIFF" ] ; then
61 echo "*** test 1 failed! difference:" >&2
70 function _get_script_dir
{
72 # gives the directory containing this script
73 # https://stackoverflow.com/questions/59895
74 SCRIPT_DIR
=$
( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )