#!/usr/bin/env bash set -e [[ $DEBUG ]] && set -x test_ex17-ec() { local testdb=$(mktemp /var/tmp/XXXXXXX.dat) trap "rm ${testdb}" EXIT INT TERM ./ex17-ec "${testdb}" c ./ex17-ec "${testdb}" l &>/dev/null ./ex17-ec "${testdb}" s 1 nancy pwnr@dungeon.info "Dark corner" ./ex17-ec "${testdb}" s 2 fran eagleeye16@hotmail.com "Falcon's nest" ./ex17-ec "${testdb}" l &>/dev/null ./ex17-ec "${testdb}" d 1 ./ex17-ec "${testdb}" s 1 portia wanda@aeromar.mx "Fancy town" ./ex17-ec "${testdb}" f nest &>/dev/null } test_ex18() { local output=$(./ex18 4 1 7 3 2 0 8) [[ "${output}" =~ '0 1 2 3 4 7 8' ]] [[ "${output}" =~ '8 7 4 3 2 1 0' ]] [[ "${output}" =~ '3 4 2 7 1 0 8' ]] } test_ex19() { printf "l\nn\nl\ne\nw\nw\nl\na\na\na\na\na\na\na\na\na\na\n" \ | ./ex19 &>/dev/null printf "l\nl\nl\nl\na\na\nx\nq\nz\nn\n" | ./ex19 &>/dev/null for i in {0..20} ; do echo "${RANDOM}" | md5sum | ./ex19 &>/dev/null done } main() { for ex in $(./list-exercises) ; do func_name="test_${ex}" if type "${func_name}" &>/dev/null ; then echo -en "---> ${ex}: " "${func_name}" echo "OK" fi done } main "$@"