3d2a4ffdd6
I want to be able to test the master of riscv-gnu-toolchain against the current RTL as part of the buildbot. This flag takes a list of repositories (by their submodule path) and updates those to the current master, which facilitates that check.
53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#! /bin/bash
|
|
#
|
|
# See LICENSE for license details.
|
|
|
|
# Script to setup submodules, build rocket-chip, and run asm tests, and optionally run torture
|
|
|
|
set -ex
|
|
|
|
echo "Starting Rocket-chip regression test"
|
|
if [ $# -lt 1 ]
|
|
then
|
|
echo "Usage: ./regression.sh [options] config [torture_config] [torture_output_dir]"
|
|
echo " --master: A comma-seperated list of repositories to use the master of"
|
|
exit
|
|
fi
|
|
|
|
git submodule update --init --recursive riscv-tools
|
|
|
|
if [[ "$1" == "--master" ]]
|
|
then
|
|
echo $2 | sed 's/,/\n/g' | while read repo
|
|
do
|
|
(
|
|
cd $repo
|
|
git fetch
|
|
git checkout master
|
|
git log --oneline | head -n5
|
|
)
|
|
done
|
|
|
|
shift
|
|
shift
|
|
fi
|
|
|
|
export RISCV="$(pwd)/install"; export PATH=$PATH:$RISCV/bin
|
|
cd riscv-tools; ./build.sh; cd ..
|
|
git submodule update --init
|
|
git submodule status --recursive
|
|
cd emulator; make CONFIG=$1; make CONFIG=$1 run-asm-tests; cd ..
|
|
if [ $# -ge 2 ]
|
|
then
|
|
cd emulator; make CONFIG=$1 debug; cd ..
|
|
git clone git@github.com:ucb-bar/riscv-torture.git
|
|
cd riscv-torture; git submodule update --init;
|
|
if [ $# -eq 3 ]
|
|
then
|
|
make cnight RTL_CONFIG=$1 OPTIONS="-C $2 -p $3 -m 30 -t 10"
|
|
else
|
|
make cnight RTL_CONFIG=$1 OPTIONS="-C $2 -m 30 -t 10"
|
|
fi
|
|
fi
|
|
|