mirror of
https://github.com/erkin/ponysay.git
synced 2024-11-26 14:18:00 +01:00
35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
|
#!/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'
|
||
|
|