| #!/bin/bash | |
| # Copyright 2022 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 | |
| # Build tests based on benchmark suites for IREE. | |
| # | |
| # The desired build directory can be passed as the first argument. Otherwise, it | |
| # uses the environment variable IREE_TARGET_BUILD_DIR, defaulting to | |
| # "build-benchmark-suites-test". Designed for CI, but can be run manually. It | |
| # reuses the build directory if it already exists. Expects to be run from the | |
| # root of the IREE repository. | |
| set -xeuo pipefail | |
| BUILD_DIR="${1:-${IREE_TARGET_BUILD_DIR:-build-benchmark-suites-test}}" | |
| E2E_TEST_ARTIFACTS_DIR="$(realpath ${E2E_TEST_ARTIFACTS_DIR:-build-e2e-test-artifacts/e2e_test_artifacts})" | |
| IREE_HOST_BIN_DIR="$(realpath ${IREE_HOST_BIN_DIR})" | |
| source build_tools/cmake/setup_build.sh | |
| # Configure, build, test | |
| declare -a CMAKE_ARGS=( | |
| "-G" "Ninja" | |
| "-B" "${BUILD_DIR}" | |
| "-DPython3_EXECUTABLE=${IREE_PYTHON3_EXECUTABLE}" | |
| "-DPYTHON_EXECUTABLE=${IREE_PYTHON3_EXECUTABLE}" | |
| "-DCMAKE_BUILD_TYPE=RelWithDebInfo" | |
| "-DIREE_BUILD_COMPILER=OFF" | |
| "-DIREE_HOST_BIN_DIR=${IREE_HOST_BIN_DIR}" | |
| "-DIREE_BUILD_TESTS=ON" | |
| "-DIREE_BUILD_SAMPLES=OFF" | |
| "-DIREE_E2E_TEST_ARTIFACTS_DIR=${E2E_TEST_ARTIFACTS_DIR}" | |
| ) | |
| echo "Configuring to build tests for benchmark suites" | |
| "${CMAKE_BIN}" "${CMAKE_ARGS[@]}" | |
| echo "Building tests artifacts" | |
| "${CMAKE_BIN}" --build "${BUILD_DIR}" \ | |
| --target iree-run-module iree-run-module-test-deps -- -k 0 | |
| ctest_args=( | |
| "--timeout 900" | |
| "--output-on-failure" | |
| "--no-tests=error" | |
| ) | |
| declare -a label_args=( | |
| "^test-type=run-module-test$" | |
| ) | |
| label_include_regex="($(IFS="|" ; echo "${label_args[*]}"))" | |
| echo "******** Running run-module CTest ********" | |
| ctest --test-dir ${BUILD_DIR} ${ctest_args[@]} \ | |
| --label-regex ${label_include_regex} |