cva6/ci/check-tests.sh
Florian Zaruba b1bdc0c02c Add System Verilog FPU (#163)
* Change reset strategy in ariane_verilog_wrap.sv, remove unneeded sigs in serpent_peripherals.

* saving...

* ⬆️ Updates for new FPU

* Add sv fpu to FPGA flow

* Use multi-threading capabilities of verilator

- Deactivate non-standard floating point arguments
- Make multi-threading conditional on the availability of verilator 4

* Remove DPI threadsafety

* Reduce FPGA clock frequency

- Remove couple of -v- tests to reduce test-time

* Fix documentation and fpga flow

- Fix cycle time to accommodate FPU
- Fix FPGA constraints

* Change UART frequency
2019-03-18 11:51:58 +01:00

63 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# check simulation output (only for questasim flow)
#
# $1 simulation output file basename
# $2 number of tests to check
#
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd $ROOT
# only use colors in interactive mode
if [[ -z "$-" ]]; then
GREEN=''
RED=''
NC=''
else
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color
fi
if [ ! -f "${1}"*.log ]; then
echo -e "${RED}FAILED file $1 does not exist ${NC}"
exit 1;
fi
# get NUM_TOTAL number of tests
NUM_TOTAL=$2
echo "list containing tests: $2"
echo "checking files:"
ls "${1}"*.log
# check for patterns
NUM_PASSED=`grep -i -s "SUCCESS" ${1}*.log | wc -l`
NUM_FAILED=`grep -i -s "FAILED" ${1}*.log | wc -l`
NUM_FATAL=`grep -i -s "Fatal:" ${1}*.log | wc -l`
NUM_ERROR=`grep -i -s "Error:" ${1}*.log | wc -l`
echo "NUM_TOTAL: $NUM_TOTAL"
echo "NUM_PASSED: $NUM_PASSED"
echo "NUM_FAILED: $NUM_FAILED"
echo "NUM_FATAL: $NUM_FATAL"
echo "NUM_ERROR: $NUM_ERROR"
if [[ $(($NUM_FAILED)) -gt 0 ]]; then
echo -e "${RED}FAILED $NUM_FAILED of $NUM_TOTAL tests ${NC}"
exit 1;
elif [[ $(($NUM_FATAL)) -ne 0 ]]; then
echo -e "${RED}FAILED at least one test due to $NUM_FATAL FATAL assertions ${NC}"
exit 1;
elif [[ $(($NUM_ERROR)) -ne 0 ]]; then
echo -e "${RED}FAILED at least one test due to $NUM_ERROR ERROR assertions ${NC}"
exit 1;
elif [[ $(($NUM_PASSED)) -ne $(($NUM_TOTAL)) ]]; then
echo -e "${RED}FAILED since not all tests have been executed ${NC}"
exit 1;
else
echo -e "${GREEN}PASSED all $NUM_TOTAL tests ${NC}"
exit 0;
fi