diff options
Diffstat (limited to 'ci-tests')
-rwxr-xr-x | ci-tests/create-ci-binary-tarball | 20 | ||||
-rw-r--r-- | ci-tests/hello.c | 23 | ||||
-rwxr-xr-x | ci-tests/test-spike | 13 |
3 files changed, 55 insertions, 1 deletions
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 <stdio.h> + +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 3d5ed6d..bf2290b 100755 --- a/ci-tests/test-spike +++ b/ci-tests/test-spike @@ -6,6 +6,17 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" mkdir build cd build mkdir install -$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 + +# 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." |