add tests for checking that -f and +f prints the specified pony

Signed-off-by: Mattias Andrée <maandree@operamail.com>
This commit is contained in:
Mattias Andrée 2013-08-13 01:34:46 +02:00
parent d234ee6c6c
commit 5c0109af81
3 changed files with 78 additions and 0 deletions

34
dev/tests/correct-pony+f Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
if [ ! -f ./src/__main__.py ]; then
echo $'\e[01;31m-- You need to cd into the repository'\'$'s root directory --\e[00m'
exit 140
fi
echo $'\e[1m-- Testing that +f prints the correct pony --\e[0m'
## If this automated bisection stops at a commit with a syntax error or other error that cases the test to fail for another reason,
## you will need to manually run bisect, and use `git reset --hard HEAD~1` (or similar) to skip that commit, see `git bisect --help`
if [ ! "$(./src/__main__.py -oX +f firefox 3>&1 >/dev/null | head -n 1)" = "pony file: ./extraponies/firefox.pony" ]; then
git bisect start
git bisect bad
git bisect good d234ee6c6cbefbd31ef763692c9f8bc39aeff832
lastlog=""
while true; do
if [ "$(./src/__main__.py -oX +f firefox 3>&1 >/dev/null | head -n 1)" = "pony file: ./extraponies/firefox.pony" ]; then
git bisect good
else
git bisect bad
fi
# This part is a little hacky as I assume git use locale settings for the language and there seems to be no good way to automate a bisect.
nowlog="$(git bisect log | tail -n 1)"
if [ "${nowlog}" = "${lastlog}" ]; then
git checkout master
exit 1
fi
done
fi
echo 'Test was passed, you may want to update the last know good commit in ./dev/tests/correct-pony+f'

34
dev/tests/correct-pony-f Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
if [ ! -f ./src/__main__.py ]; then
echo $'\e[01;31m-- You need to cd into the repository'\'$'s root directory --\e[00m'
exit 140
fi
echo $'\e[1m-- Testing that -f prints the correct pony --\e[0m'
## If this automated bisection stops at a commit with a syntax error or other error that cases the test to fail for another reason,
## you will need to manually run bisect, and use `git reset --hard HEAD~1` (or similar) to skip that commit, see `git bisect --help`
if [ ! "$(./src/__main__.py -oX -f sweetiesing 3>&1 >/dev/null | head -n 1)" = "pony file: ./ponies/sweetiesing.pony" ]; then
git bisect start
git bisect bad
git bisect good d234ee6c6cbefbd31ef763692c9f8bc39aeff832
lastlog=""
while true; do
if [ "$(./src/__main__.py -oX -f sweetiesing 3>&1 >/dev/null | head -n 1)" = "pony file: ./ponies/sweetiesing.pony" ]; then
git bisect good
else
git bisect bad
fi
# This part is a little hacky as I assume git use locale settings for the language and there seems to be no good way to automate a bisect.
nowlog="$(git bisect log | tail -n 1)"
if [ "${nowlog}" = "${lastlog}" ]; then
git checkout master
exit 1
fi
done
fi
echo 'Test was passed, you may want to update the last know good commit in ./dev/tests/correct-pony-f'

10
dev/tests/test-everything Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
if [ ! -f ./src/__main__.py ]; then
echo $'\e[01;31m-- You need to cd into the repository'\'$'s root directory --\e[00m'
exit 140
fi
./dev/tests/correct-pony-f
./dev/tests/correct-pony+f