Skip to content

Commit

Permalink
riscv-mini update test script
Browse files Browse the repository at this point in the history
  • Loading branch information
sbeamer committed Jan 31, 2023
1 parent 6a656de commit d29a0a4
Showing 1 changed file with 31 additions and 25 deletions.
56 changes: 31 additions & 25 deletions riscv-mini/test.sh
Original file line number Diff line number Diff line change
@@ -1,35 +1,41 @@
#!/bin/bash
TESTDIRECTORY="riscv-mini/src/test/resources"
ESSENTDIRECTORY="essent-testbed/riscv-mini"
RISCDIRECTORY="riscv-mini"

cd $TESTDIRECTORY
i=0
for file in *; do
if [ -f "$file" ]; then
tests[$i]=$file
(( i++ ))
fi
done
cd "../../.."
mkdir "tests"
cd ".."
mkdir "tests"
mkdir "testDifferences"
TEST_PROGRAM_DIR="riscv-mini/src/test/resources"

VER_OUT_DIR="test-verilator"
ESS_OUT_DIR="test-essent"
DIFF_DIR="test-diff"

mkdir -p $VER_OUT_DIR
mkdir -p $ESS_OUT_DIR
mkdir -p $DIFF_DIR

for test in "${tests[@]}"
mismatch=false
for testProg in "$TEST_PROGRAM_DIR"/*
do
test=$(basename "$testProg")
echo "$test:"
cd $RISCDIRECTORY
VERILATOR= ./VTile "./src/test/resources/$test" 2>&1 | tee "tests/$test.out" > /dev/null
# run verilator
VERILATOR= ./VTile "$testProg" 2>&1 | tee "$VER_OUT_DIR/$test.out" > /dev/null
if [ -z "$VERILATOR" ]; then
echo "Verilator Worked"
echo " Verilator ran"
fi
cd ..
ESSENT= ./top "$TESTDIRECTORY/$test" > "tests/$test.out"
# run essent
ESSENT= ./top "$testProg" 2>&1 | tee "$ESS_OUT_DIR/$test.out" > /dev/null
if [ -z "$ESSENT" ]; then
echo "ESSENT Worked"
echo " ESSENT ran"
fi
# diff the results
diff -w "$VER_OUT_DIR/$test.out" "$ESS_OUT_DIR/$test.out" > "$DIFF_DIR/$test.out"
if [ -s "$DIFF_DIR/$test.out" ]; then
echo "Mismatch for $test"
mismatch=true
fi
diff -w "$RISCDIRECTORY/tests/$test.out" "./tests/$test.out" > "testDifferences/$test.out"
echo
done
echo "Runs complete"

# notify if any mismatches
if [ "$mismatch" == true ]; then
echo "There were mismatches. Check $DIFF_DIR for non-empty files"
exit 1
fi

0 comments on commit d29a0a4

Please sign in to comment.