aboutsummaryrefslogtreecommitdiff
path: root/ci-tests
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2022-10-17 13:51:59 -0700
committerAndrew Waterman <andrew@sifive.com>2022-10-17 13:51:59 -0700
commit68aeeb5500521ff52c216862f9a653b64191f3ad (patch)
tree407230ff48f79f177a792451598d9b2b6e3d34a0 /ci-tests
parent191634d2854dfed448fc323195f9b65c305e2d77 (diff)
parent03be4ae6c7b8e9865083b61427ff9724c7706fcf (diff)
downloadspike-plic_uart_v1.zip
spike-plic_uart_v1.tar.gz
spike-plic_uart_v1.tar.bz2
Merge branch 'master' into plic_uart_v1plic_uart_v1
Diffstat (limited to 'ci-tests')
-rwxr-xr-xci-tests/create-ci-binary-tarball20
-rw-r--r--ci-tests/hello.c23
-rwxr-xr-xci-tests/test-spike13
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."