notea-de-me/app/crawler/test.sh

42 lines
678 B
Bash

#! /bin/bash
main() {
local ret=0
for f in ./*_test.sh; do
if ! one_main "$f"; then
echo failed $f >&2
ret=$((ret+1))
fi
done
if [ $ret != 0 ]; then
echo failed >&2
fi
return $ret
}
one_main() (
echo testing $f >&2
local f="$1"
local ret=0
for t in $(grep ^test_ "$f" | sed 's/(.*//'); do
echo testing $f:$t >&2
each
source "${f%_test.sh}.sh"
source "$f"
if ! eval "$t"; then
echo failed $f:$t >&2
ret=$((ret+1))
fi
done
return $ret
)
each() {
export CACHE=$(mktemp -d)
source ./cache.sh
}
if [ "$0" == "$BASH_SOURCE" ]; then
main "$@"
fi