1test_generate () { 2 (cd "$BATS_TEST_DIRNAME" && "$PACKCC" "${PACKCC_OPTS[@]}" -o "parser" "${1:-input.peg}") 3} 4 5test_compile() { 6 ${CC:-cc} -I "$BATS_TEST_DIRNAME" "main.c" -o "$BATS_TEST_DIRNAME/parser" "$@" 7} 8 9check_output() { 10 diff --strip-trailing-cr -uN "${1/input/expected}" --label "${1/input/expected}" <(echo "$output") --label "output" 11} 12 13run_for_input() { 14 run timeout 5s "$BATS_TEST_DIRNAME/parser" < "$1" 15 check_output "$1" 16} 17 18in_header() { 19 grep -Fq "$1" "$BATS_TEST_DIRNAME/parser.h" 20} 21 22in_source() { 23 grep -Fq "$1" "$BATS_TEST_DIRNAME/parser.c" 24} 25 26get_line() { 27 sed -n "/$1/=" "$BATS_TEST_DIRNAME/$2" | tail -n1 28} 29