Browse Source

Merge pull request #1212 from riscv-software-src/debug_smoke

Automatically test that external debug still works.
speedup-hacks
Andrew Waterman 3 years ago
committed by GitHub
parent
commit
d97ad271ee
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      .github/workflows/continuous-integration.yml
  2. 64
      .github/workflows/debug-smoke.yml
  3. 14
      ci-tests/build-spike
  4. 9
      ci-tests/test-spike

8
.github/workflows/continuous-integration.yml

@ -25,7 +25,9 @@ jobs:
- name: Install Dependencies
run: sudo xargs apt-get install -y < .github/workflows/apt-packages.txt
- run: ci-tests/test-spike
- run: |
ci-tests/build-spike
ci-tests/test-spike
test-macos:
name: Test Spike build (MacOS)
@ -36,4 +38,6 @@ jobs:
- name: Install Dependencies
run: xargs brew install < .github/workflows/brew-packages.txt
- run: ci-tests/test-spike
- run: |
ci-tests/build-spike
ci-tests/test-spike

64
.github/workflows/debug-smoke.yml

@ -0,0 +1,64 @@
# Build spike and run a couple of debug tests.
name: Debug Quick Test
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: Test debug (Ubuntu)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Dependencies
run: |
sudo xargs apt-get install -y < .github/workflows/apt-packages.txt
- name: Download OpenOCD
run: |
git clone --recurse-submodules https://github.com/riscv/riscv-openocd.git
cd riscv-openocd
git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940
- name: Build OpenOCD
run: |
cd riscv-openocd
./bootstrap
./configure
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
- name: Download Toolchain
run: wget --progress=dot:giga https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v12.2.0-1/xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
- name: Install Toolchain
run: tar zxf xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
- name: Build Spike
run: ci-tests/build-spike
- name: Download Tests
run: |
git clone --recurse-submodules https://github.com/riscv-software-src/riscv-tests.git
cd riscv-tests
git checkout c84daca8824635b7d896003c78f9c6245997cf7a
- name: Run Tests
run: |
cd riscv-tests/debug
./gdbserver.py targets/RISC-V/spike32.py --print-failures \
--gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \
--gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \
--sim_cmd $GITHUB_WORKSPACE/build/install/bin/spike \
--server_cmd $GITHUB_WORKSPACE/riscv-openocd/src/openocd
./gdbserver.py targets/RISC-V/spike64-2.py --print-failures \
--gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \
--gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \
--sim_cmd $GITHUB_WORKSPACE/build/install/bin/spike \
--server_cmd $GITHUB_WORKSPACE/riscv-openocd/src/openocd

14
ci-tests/build-spike

@ -0,0 +1,14 @@
#!/bin/bash
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
mkdir build
cd build
mkdir install
CXXFLAGS="-Wnon-virtual-dtor" CFLAGS="-Werror -Wignored-qualifiers -Wunused-function -Wunused-parameter -Wunused-variable" $DIR/../configure --prefix=`pwd`/install
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
make install
# check that help message prints without error
install/bin/spike -h

9
ci-tests/test-spike

@ -3,16 +3,7 @@ set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
mkdir build
cd build
mkdir install
CXXFLAGS="-Wnon-virtual-dtor" CFLAGS="-Werror -Wignored-qualifiers -Wunused-function -Wunused-parameter -Wunused-variable" $DIR/../configure --prefix=`pwd`/install
make -j4
make install
# check that help message prints without error
install/bin/spike -h
# run a program and check for correct output
mkdir run

Loading…
Cancel
Save