sv2v/test/error/run.sh

31 lines
807 B
Bash
Executable File

#!/bin/bash
validateOutput() {
stdout_len=`wc -l < $SHUNIT_TMPDIR/stdout`
assertEquals "stdout should be empty" 0 $stdout_len
stderr=`cat $SHUNIT_TMPDIR/stderr`
assertNotNull "stderr should not be empty" "$stderr"
line=`head -n1 $1`
if [[ "$line" =~ \/\/\ pattern:\ .* ]]; then
pattern=${line:12}
if [[ ! "$stderr" =~ $pattern ]]; then
fail "error message doesn't match\nexpected: $pattern\nactual: $stderr"
fi
fi
}
addTest() {
test=$1
eval "test_$test() { \
$SV2V $test.sv 2> $SHUNIT_TMPDIR/stderr > $SHUNIT_TMPDIR/stdout; \
assertFalse \"conversion should have failed\" \$?; \
validateOutput $test.sv; \
}"
suite_addTest test_$test
}
source ../lib/functions.sh
source ../lib/discover.sh
. shunit2