#!/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 set -xeuo pipefail ROOT_DIR="${ROOT_DIR:-$(git rev-parse --show-toplevel)}" cd "${ROOT_DIR}" IREE_VULKAN_DISABLE="${IREE_VULKAN_DISABLE:-1}" IREE_LLVM_CPU_DISABLE="${IREE_LLVM_CPU_DISABLE:-0}" # VMVX codegen is for reference and less optimized than other target backends. # Disable the tests by default to reduce the test time. IREE_VMVX_DISABLE="${IREE_VMVX_DISABLE:-1}" python3 -m pip install lit LIT_SCRIPT="$(which lit)" source build_tools/scripts/setup_tf_python.sh echo "***** Running TensorFlow integration tests *****" # TODO: Use "--timeout 900" instead of --max-time below. Requires that # `psutil` python package be installed in the VM for per test timeout. CMD=( python3 "${LIT_SCRIPT}" -v integrations/tensorflow/test --max-time 1800 ) declare -a TARGET_BACKENDS=() if (( ${IREE_VULKAN_DISABLE} != 1 )); then TARGET_BACKENDS+=(vulkan) fi if (( ${IREE_VMVX_DISABLE} != 1 )); then TARGET_BACKENDS+=(vmvx) fi if [[ -n "${TARGET_BACKENDS[*]}" ]]; then TARGET_BACKENDS_STR="$(IFS="," ; echo "${TARGET_BACKENDS[*]}")" CMD+=(-D FEATURES=${TARGET_BACKENDS_STR}) fi if (( ${IREE_LLVM_CPU_DISABLE} == 1 )); then CMD+=(-D DISABLE_FEATURES=llvmcpu) fi if "${CMD[@]}"; then tests_passed=1 else tests_passed=0 fi if (( ${tests_passed} != 1 )); then echo "Some tests failed!!!" exit 1 fi