blob: 19fa894f74630b2745cdff49a1dbd76f79ac8480 [file] [log] [blame]
#!/bin/bash
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
set -e
. util/build_consts.sh
readonly VERILATED_SYSTEM_DEFAULT="build/lowrisc_systems_top_earlgrey_verilator_0.1/sim-verilator/Vtop_earlgrey_verilator"
readonly SW_BUILD_DEFAULT="$DEV_BIN_DIR"
VERILATED_SYSTEM_PATH="${VERILATED_SYSTEM_PATH:-$VERILATED_SYSTEM_DEFAULT}"
SW_BUILD_PATH="${SW_BUILD_PATH:-$SW_BUILD_DEFAULT}"
BOOT_ROM_TARGET="boot_rom/boot_rom_sim_verilator.elf"
TEST_TARGETS=(
"tests/aes_test_sim_verilator.elf"
"tests/crt_test_sim_verilator.elf"
"tests/dif_plic_sanitytest_sim_verilator.elf"
"tests/dif_rv_timer_sanitytest_sim_verilator.elf"
"tests/dif_uart_sanitytest_sim_verilator.elf"
"tests/flash_ctrl_test_sim_verilator.elf"
"tests/sha256_test_sim_verilator.elf"
"tests/usbdev_test_sim_verilator.elf"
)
FAIL_TARGETS=()
PASS_TARGETS=()
for target in "${TEST_TARGETS[@]}"; do
echo "Executing target ${target}"
set +e
set -x
pytest -v -s test/systemtest/functional_verilator_test.py \
--test_bin "$SW_BUILD_PATH/${target}" \
--rom_bin "$SW_BUILD_PATH/${BOOT_ROM_TARGET}" \
--verilator_model "$VERILATED_SYSTEM_PATH"
if [[ $? == 0 ]]; then
PASS_TARGETS=("${PASS_TARGETS[@]}" "${target}")
else
FAIL_TARGETS=("${FAIL_TARGETS[@]}" "${target}")
fi
set +x
set -e
done
echo "Passing targets:"
for target in "${PASS_TARGETS[@]}"; do
echo "* ${target}"
done
if [ ${#FAIL_TARGETS[@]} -eq 0 ]; then
echo "TESTS PASS!"
else
echo
echo "Failing targets:"
for target in "${FAIL_TARGETS[@]}"; do
echo "* ${target}"
done
echo
echo "TESTS FAILED!"
exit 1
fi