diff options
| author | Palmer Dabbelt <palmer@dabbelt.com> | 2018-12-18 12:58:31 -0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-18 12:58:31 -0800 | 
| commit | ec94c67ade19af2a1d2b34d87f7537303af4e4b8 (patch) | |
| tree | 18ea967c0bae59bfc02c38f9f925c938ccc82573 /scripts | |
| parent | 0585e67d09b2343bd3ae89615adab92aaa8b5450 (diff) | |
| parent | eef7e8aac587dd7bd710dca82b60f9190520334a (diff) | |
Merge pull request #121 from sifive/rtl-regression
Add a very simple regression script
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/coreip-rtl-regression.bash | 43 | 
1 files changed, 43 insertions, 0 deletions
| diff --git a/scripts/coreip-rtl-regression.bash b/scripts/coreip-rtl-regression.bash new file mode 100755 index 0000000..2c313dd --- /dev/null +++ b/scripts/coreip-rtl-regression.bash @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e +set -o pipefail +set -x + +boards=() +boards+=("coreip-e31") +boards+=("coreip-s51") + +programs=() +programs+=("hello") + +for board in "${boards[@]}" +do +    # This avoids a multidimmensional associtave array, which bash doesn't +    # appear to enjoy. +    releases=() +    case "$board" +    in +    "coreip-e31") releases=("sifive_coreip_E31_AHB_rtl_full_v3p0_rc1") ;; +    "coreip-s51") releases=("sifive_coreip_E51_TL_rtl_full_v3p0_rc0")  ;; +    *) echo "$0: unknown board $board"; exit 1;; +    esac + +    for release in "${releases}" +    do +        coreip_wdir="$(echo "$release" | cut -d_ -f1-6)" +        coreip_tdir="$(echo "$release" | cut -d_ -f1-7)" +        coreip_tar="/work/coreplex/${coreip_wdir}/${release}/${coreip_tdir}.tar.gz" + +        for program in "${programs[@]}" +	do +            make BSP=mee BOARD="${board}" PROGRAM="${program}" clean +            make BSP=mee BOARD="${board}" PROGRAM="${program}" software +            rm -rf "${coreip_dir}" +            tar -xvzpf "${coreip_tar}" +            mkdir -p "${coreip_tdir}"/tests/"${program}" +            cp software/"${program}"/"${program}".hex "${coreip_tdir}"/tests/"${program}"/program.hex +            make -C "${coreip_tdir}" "${program}".out +	done +    done +done | 
