1#!/bin/sh
| 1#!/bin/sh
|
2# $FreeBSD: head/usr.bin/yacc/tests/yacc_tests.sh 268811 2014-07-17 22:22:38Z bapt $
| 2# $FreeBSD: head/usr.bin/yacc/tests/yacc_tests.sh 269884 2014-08-12 17:51:26Z ngie $
|
3 4set -e 5
| 3 4set -e 5
|
6cd $(dirname $0)
| 6# Setup the environment for run_test 7# - run_test looks for `#define YYBTYACC` in ../config.h 8# - run_test assumes a yacc binary exists in ../yacc instead of running "yacc" 9# - run_test spams the test dir with files (polluting subsequent test runs), 10# so it's better to copy all the files to a temporary directory created by 11# kyua 12echo > "./config.h" 13mkdir "test" 14cp -Rf "$(dirname "$0")"/* "test" 15cp -p /usr/bin/yacc ./yacc
|
7
| 16
|
8TMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXX) 9TEST_DIR="$TMPDIR/test" 10trap "cd /; rm -Rf $TMPDIR" EXIT INT TERM 11 12# Setup the environment for run_test.sh 13mkdir -p "$TEST_DIR" 14cp -Rf * "$TEST_DIR/." 15echo > "$TMPDIR/config.h" 16ln /usr/bin/yacc $TMPDIR/yacc 17 18log=$TMPDIR/run_test.log 19(cd $TEST_DIR && ./run_test 2>&1 && : > run_test.ok) | tee $log 20if [ -f run_test.ok ] && ! egrep "^...(diff|not found)[^\*]+$" $log; then 21 exit 0 22else 23 exit 1 24fi
| 17cd "test" && ./run_test
|
| |