Compare commits

..

3 Commits

Author SHA1 Message Date
Ingo Karkat
3b0309d9bc Replace backticks in config with $(...)
This applies e24777fa2c to todo.cfg, too, and adds a verification to the existing test.

Note: Because todo.cfg is preprocessed by test-lib, we use the original config from the working copy, not the copy inside the test fixture.
2012-04-15 10:37:41 +02:00
Ingo Karkat
b21d16878f Tests: Hard-code location of todo.sh.
As todo.sh is placed by test-lib at a fixed place, avoid the lookup through which.
2012-04-15 10:35:17 +02:00
Ingo Karkat
3e82f3ca56 Tests: Extract backtick_check(). 2012-04-15 10:33:51 +02:00
3 changed files with 33 additions and 17 deletions

View File

@@ -9,8 +9,15 @@ On failure, it will print each offending line number and line.
'
. ./test-lib.sh
backtick_check()
{
sed -n -e 's/\(^\|[ \t]\)#.*//' -e '/`/{' -e '=;p' -e '}' "$@"
}
test_todo_session 'no old-style backtick command substitution' <<EOF
>>> sed -n -e 's/\(^\|[ \t]\)#.*//' -e '/\`/{' -e '=;p' -e '}' "$(which todo.sh)"
>>> backtick_check bin/todo.sh
>>> backtick_check ../../todo.cfg
EOF
test_done

View File

@@ -264,7 +264,25 @@ test_expect_success () {
test_expect_output () {
test "$#" = 2 ||
error "bug in the test script: not 2 parameters to test-expect-output"
test_expect_code_and_output 0 "$@"
if ! test_skip "$@"
then
say >&3 "expecting success and output: $2"
test_run_ "$2"
if [ "$?" = 0 -a "$eval_ret" = 0 ]
then
cmp_output=$(test_cmp expect output)
if [ "$?" = 0 ]
then
test_ok_ "$1"
else
test_failure_ "$@" "
$cmp_output"
fi
else
test_failure_ "$@"
fi
fi
echo >&3 ""
}
test_expect_code_and_output () {
@@ -272,11 +290,7 @@ test_expect_code_and_output () {
error "bug in the test script: not 3 parameters to test-expect-code-and-output"
if ! test_skip "$@"
then
if [ "$1" = 0 ]; then
say >&3 "expecting success and output: $3"
else
say >&3 "expecting exit code $1 and output: $3"
fi
test_run_ "$3"
if [ "$?" = 0 -a "$eval_ret" = "$1" ]
then
@@ -552,16 +566,14 @@ test_tick () {
}
# Generate and run a series of tests based on a transcript.
# Usage: test_todo_session "description" <<'EOF'
# Usage: test_todo_session "description" <<EOF
# >>> command
# output1
# output2
#
# >>> command
# === exit status
# output3 with empty line (must be escaped here)
# \
# output5
# output3
# output4
# EOF
test_todo_session () {
test "$#" = 1 ||
@@ -570,7 +582,7 @@ test_todo_session () {
cmd=""
status=0
> expect
while IFS= read -r line
while read -r line
do
case $line in
">>> "*)
@@ -594,9 +606,6 @@ test_todo_session () {
> expect
fi
;;
\\)
echo "" >> expect
;;
*)
echo "$line" >> expect
;;

View File

@@ -2,7 +2,7 @@
# Your todo.txt directory
#export TODO_DIR="/Users/gina/Documents/todo"
export TODO_DIR=`dirname "$0"`
export TODO_DIR=$(dirname "$0")
# Your todo/done/report.txt locations
export TODO_FILE="$TODO_DIR/todo.txt"