forked from natsufrank/job-hunting
113 lines
4.1 KiB
Bash
113 lines
4.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Run Helper script for running test buckets across different CI systems.
|
|
#
|
|
# The CI tests for rocket-chip are split up into a number of different buckets
|
|
# in order to parallelize the test suite. The buckets are each assigned a
|
|
# number, starting with 1. To edit the buckets, simply edit the main `case`
|
|
# statement below.
|
|
|
|
set -euo pipefail
|
|
|
|
print_usage() {
|
|
echo "Usage: ${0} bucket-number"
|
|
}
|
|
|
|
if [[ $# -ne 1 ]]; then
|
|
echo "Missing required argument: test bucket number" >&2
|
|
print_usage
|
|
exit 1
|
|
fi
|
|
|
|
regression_dir=$(cd "$(dirname "$0")" ; pwd -P)
|
|
rocketchip_dir=$(dirname "${regression_dir}")
|
|
|
|
if [[ ${TRAVIS:-false} == true ]]; then
|
|
# If running on Travis CI, make sure that travis_wait is defined.
|
|
. "${regression_dir}/travis_whereami.bash"
|
|
. "${regression_dir}/travis_setup_env.bash"
|
|
. "${regression_dir}/travis_jigger.bash"
|
|
. "${regression_dir}/travis_wait.bash"
|
|
set +u
|
|
travis_setup_env
|
|
set -u
|
|
else
|
|
# If not running on Travis CI, Stub out the travis_wait to be a no-op, since
|
|
# it's unnecessary and it has some undesirable side effects such as hiding
|
|
# console output until the command finishes.
|
|
travis_wait() {
|
|
# Throw out first argument, which is the wait time in minutes.
|
|
shift
|
|
# Run the remaining arguments as a normal command.
|
|
"$@"
|
|
}
|
|
fi
|
|
|
|
# Always run from the root rocket-chip directory.
|
|
cd "${rocketchip_dir}"
|
|
|
|
# Test bucket definitions
|
|
bucket_number=$1
|
|
set -x
|
|
case "${bucket_number}" in
|
|
1)
|
|
# Temporarily disable this bucket, which is hitting OOM on Actions
|
|
#travis_wait 100 make emulator-ndebug -C regression SUITE=UnittestSuite JVM_MEMORY=3G VERILATOR_THREADS=1
|
|
#travis_wait 100 make emulator-regression-tests -C regression SUITE=UnittestSuite JVM_MEMORY=3G VERILATOR_THREADS=1
|
|
;;
|
|
|
|
2)
|
|
travis_wait 80 make emulator-ndebug -C regression SUITE=JtagDtmSuite JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-32 -C regression SUITE=JtagDtmSuite JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-64 -C regression SUITE=JtagDtmSuite JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-32 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=DebugTest JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-64 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=DebugTest JVM_MEMORY=3G
|
|
;;
|
|
|
|
3)
|
|
travis_wait 80 make emulator-ndebug -C regression SUITE=JtagDtmSuite JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-32 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=MemTest64 JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-64 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=MemTest64 JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-32 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=MemTest32 JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-64 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=MemTest32 JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-jtag-dtm-tests-32 -C regression SUITE=JtagDtmSuite JTAG_DTM_TEST=MemTest8 JTAG_DTM_ENABLE_SBA=on JVM_MEMORY=3G
|
|
;;
|
|
|
|
4)
|
|
travis_wait 80 make emulator-ndebug -C regression SUITE=RocketSuiteB JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-regression-tests -C regression SUITE=RocketSuiteB JVM_MEMORY=3G
|
|
;;
|
|
|
|
5)
|
|
travis_wait 80 make emulator-ndebug -C regression SUITE=RocketSuiteA JVM_MEMORY=3G
|
|
travis_wait 80 make emulator-regression-tests -C regression SUITE=RocketSuiteA JVM_MEMORY=3G
|
|
;;
|
|
|
|
6)
|
|
travis_wait 80 make emulator-ndebug -C regression SUITE=RocketSuiteC JVM_MEMORY=3G
|
|
make emulator-regression-tests -C regression SUITE=RocketSuiteC JVM_MEMORY=3G
|
|
;;
|
|
|
|
7)
|
|
travis_wait 100 make emulator-ndebug -C regression SUITE=Miscellaneous JVM_MEMORY=3G
|
|
;;
|
|
8)
|
|
make scalatest -C regression SUITE=foo JVM_MEMORY=8G
|
|
;;
|
|
9)
|
|
make scalafix-check -C regression SUITE=foo JVM_MEMORY=8G
|
|
;;
|
|
10)
|
|
./scripts/swap-sbt-build
|
|
make scalatest -C regression SUITE=foo JVM_MEMORY=8G
|
|
;;
|
|
|
|
-h|--help)
|
|
print_usage
|
|
;;
|
|
|
|
*)
|
|
echo "Error: Invalid bucket number: ${bucket_number}"
|
|
exit 2;
|
|
esac
|