From 7cf82d72f10352ae05755159996e5ce52e9aed77 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 22 Sep 2022 14:30:30 -0700 Subject: Run CI with -Werror --- ci-tests/test-spike | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci-tests') diff --git a/ci-tests/test-spike b/ci-tests/test-spike index 3d5ed6d..94ae321 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -6,6 +6,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" mkdir build cd build mkdir install -$DIR/../configure --prefix=`pwd`/install +CFLAGS="-Werror" $DIR/../configure --prefix=`pwd`/install make -j4 make install -- cgit v1.1 From 1c227a1d3b5802b5bc01ce2dfd4377f35db1800e Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Fri, 23 Sep 2022 12:40:46 -0700 Subject: In CI, check that help message prints without error --- ci-tests/test-spike | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ci-tests') diff --git a/ci-tests/test-spike b/ci-tests/test-spike index 94ae321..2da04ff 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -9,3 +9,6 @@ mkdir install CFLAGS="-Werror" $DIR/../configure --prefix=`pwd`/install make -j4 make install + +# check that help message prints without error +install/bin/spike -h -- cgit v1.1 From d17b1767885000ed829eee9e985ae4a680f13377 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Fri, 23 Sep 2022 16:06:21 -0700 Subject: Actually run a program in CI To avoid long CI times, keep the program in binary form. To avoid storing binary files in this repository, store the binaries as an asset on a github release. --- ci-tests/create-ci-binary-tarball | 20 ++++++++++++++++++++ ci-tests/hello.c | 23 +++++++++++++++++++++++ ci-tests/test-spike | 8 ++++++++ 3 files changed, 51 insertions(+) create mode 100755 ci-tests/create-ci-binary-tarball create mode 100644 ci-tests/hello.c (limited to 'ci-tests') diff --git a/ci-tests/create-ci-binary-tarball b/ci-tests/create-ci-binary-tarball new file mode 100755 index 0000000..b4fa545 --- /dev/null +++ b/ci-tests/create-ci-binary-tarball @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +rm -rf build + +mkdir -p build/pk && cd "$_" +`git rev-parse --show-toplevel`/../riscv-pk/configure --host=riscv64-unknown-elf +make -j4 +cd - + +mkdir -p build/hello && cd "$_" +riscv64-unknown-elf-gcc -O2 -o hello `git rev-parse --show-toplevel`/ci-tests/hello.c +cd - + +mv build/pk/pk . +mv build/hello/hello . + +tar -cf spike-ci.tar pk hello + +rm pk hello diff --git a/ci-tests/hello.c b/ci-tests/hello.c new file mode 100644 index 0000000..cf10e80 --- /dev/null +++ b/ci-tests/hello.c @@ -0,0 +1,23 @@ +#include + +int main() +{ + // As a simple benchmark, estimate pi + int n = 16384, misses = 0; + + for (int i = 0; i < n; i++) { + + for (int j = 0; j < n; j++) { + int x = i - (n / 2); + int y = j - (n / 2); + + misses += (x * x + y * y >= (n / 2) * (n / 2)); + } + } + + double pi = 4.0 * (n * n - misses) / (n * n); + + printf("Hello, world! Pi is approximately %f.\n", pi); + + return 0; +} diff --git a/ci-tests/test-spike b/ci-tests/test-spike index 2da04ff..fa9bbdd 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -12,3 +12,11 @@ make install # check that help message prints without error install/bin/spike -h + + +# run a program and check for correct output +mkdir run +cd run +wget https://github.com/riscv-software-src/riscv-isa-sim/releases/download/dummy-tag-for-ci-storage/spike-ci.tar +tar xf spike-ci.tar +time ../install/bin/spike --isa=rv64gc pk hello | grep "Hello, world! Pi is approximately 3.141588." -- cgit v1.1 From ab20d616ae610a0b54cddb2af9b3b36b84df5e85 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 22 Sep 2022 18:43:26 -0700 Subject: Expand set of warnings we error on in CI --- ci-tests/test-spike | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci-tests') diff --git a/ci-tests/test-spike b/ci-tests/test-spike index fa9bbdd..cd3fccc 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -6,7 +6,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" mkdir build cd build mkdir install -CFLAGS="-Werror" $DIR/../configure --prefix=`pwd`/install +CFLAGS="-Werror -Wignored-qualifiers -Wunused-function -Wunused-parameter -Wunused-variable" $DIR/../configure --prefix=`pwd`/install make -j4 make install -- cgit v1.1 From 054a4aa579b02cb7bb2616bc78591cdb1a1f32b7 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 5 Oct 2022 09:56:24 -0700 Subject: Engage non-virtual-dtor warning in CI tests --- ci-tests/test-spike | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci-tests') diff --git a/ci-tests/test-spike b/ci-tests/test-spike index cd3fccc..bf2290b 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -6,7 +6,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" mkdir build cd build mkdir install -CFLAGS="-Werror -Wignored-qualifiers -Wunused-function -Wunused-parameter -Wunused-variable" $DIR/../configure --prefix=`pwd`/install +CXXFLAGS="-Wnon-virtual-dtor" CFLAGS="-Werror -Wignored-qualifiers -Wunused-function -Wunused-parameter -Wunused-variable" $DIR/../configure --prefix=`pwd`/install make -j4 make install -- cgit v1.1