verilator/ci/test.sh
2020-05-24 08:30:59 -04:00

77 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# DESCRIPTION: Verilator: Travis CI test script
#
# Copyright 2019 by Todd Strader. This program is free software; you
# can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
set -e
export DRIVER_FLAGS='-j 0 --quiet --rerun'
case $1 in
dist)
make -C test_regress SCENARIOS=--dist
;;
vlt)
make -C test_regress SCENARIOS=--vlt
;;
distvlt)
make -C test_regress SCENARIOS="--dist --vlt"
;;
vltmt)
make -C test_regress SCENARIOS=--vltmt
;;
vltmt0)
make -C test_regress SCENARIOS=--vltmt DRIVER_HASHSET=--hashset=0/2
;;
vltmt1)
make -C test_regress SCENARIOS=--vltmt DRIVER_HASHSET=--hashset=1/2
;;
coverage-build)
nodist/code_coverage --stages 1-2
;;
coverage-dist)
nodist/code_coverage --scenarios=--dist
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vlt0)
nodist/code_coverage --scenarios=--vlt --hashset=0/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vlt1)
nodist/code_coverage --scenarios=--vlt --hashset=1/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vlt2)
nodist/code_coverage --scenarios=--vlt --hashset=2/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vlt3)
nodist/code_coverage --scenarios=--vlt --hashset=3/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vltmt0)
nodist/code_coverage --scenarios=--vltmt --hashset=0/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vltmt1)
nodist/code_coverage --scenarios=--vltmt --hashset=1/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vltmt2)
nodist/code_coverage --scenarios=--vltmt --hashset=3/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
coverage-vltmt3)
nodist/code_coverage --scenarios=--vltmt --hashset=4/4
bash <(curl -s https://codecov.io/bash) -f nodist/obj_dir/coverage/app_total.info
;;
*)
echo "Usage: test.sh (dist|vlt|vltmt)"
exit -1
;;
esac