blob: 5f0f2b4af768b2d8bc3afc91eaf005d71a519ecc [file] [log] [blame]
#!/bin/bash
# Copyright 2021 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Smoke test the cross-compiled RISCV-32 targets.
#
# The build directory containing tests can be passed as the first argument.
# Otherwise, it uses the environment variable IREE_TARGET_BUILD_DIR, defaulting
# to "build-riscv". Designed for CI, but can be run manually.
set -xeuo pipefail
BUILD_DIR="${1:-${IREE_TARGET_BUILD_DIR:-build-riscv}}"
# Run the embedded_library module loader and simple_embedding under QEMU.
echo "Test elf_module_test_binary"
pushd "${BUILD_DIR}/runtime/src/iree/hal/local/elf" > /dev/null
# Need to run qemu without memory protection for embedded elf (code in .data)
"${QEMU_RV32_V5_2_BIN}" -cpu rv32 elf_module_test_binary
popd > /dev/null
echo "Test simple_embedding binaries"
pushd "${BUILD_DIR}/samples/simple_embedding" > /dev/null
"${QEMU_RV32_V5_2_BIN}" -cpu rv32 simple_embedding_embedded_sync
"${QEMU_RV32_V5_2_BIN}" -cpu rv32 simple_embedding_vmvx_sync
popd > /dev/null