Deleted Added
full compact
yacc_tests.sh (268811) yacc_tests.sh (269884)
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