| # 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 |
| |
| import os |
| import sys |
| import tempfile |
| |
| import lit.formats |
| import lit.util |
| |
| import lit.llvm |
| |
| # Configuration file for the 'lit' test runner. |
| lit.llvm.initialize(lit_config, config) |
| from lit.llvm import llvm_config |
| |
| llvm_config.with_system_environment("PYTHONPATH") |
| llvm_config.with_system_environment("VK_ICD_FILENAMES") |
| |
| # Put execution artifacts in the temp dir. |
| config.test_exec_root = ( |
| os.environ.get("TEST_UNDECLARED_OUTPUTS_DIR") |
| or os.environ.get("TEST_TMPDIR") |
| or os.path.join(tempfile.gettempdir(), "lit") |
| ) |
| |
| # name: The name of this test suite. |
| config.name = "TENSORFLOW_TESTS" |
| |
| config.test_format = lit.formats.ShTest() |
| |
| # suffixes: A list of file extensions to treat as test files. |
| config.suffixes = [".run"] |
| |
| # test_source_root: The root path where tests are located. |
| config.test_source_root = os.path.dirname(__file__) |
| |
| # config.use_default_substitutions() |
| config.excludes = [ |
| "lit.cfg.py", |
| "lit.site.cfg.py", |
| "test_util.py", |
| "manual_test.py", |
| "squad_test_data.py", |
| "imagenet_test_data.py", |
| ] |
| |
| config.substitutions.extend( |
| [ |
| ("%PYTHON", os.getenv("PYTHON", sys.executable)), |
| ] |
| ) |
| |
| # Add our local projects to the PYTHONPATH |
| python_projects_dir = os.path.join(os.path.dirname(__file__), "..", "python_projects") |
| test_src_dir = os.path.join(os.path.dirname(__file__), "python") |
| llvm_config.with_environment( |
| "PYTHONPATH", |
| [ |
| test_src_dir, |
| os.path.join(python_projects_dir, "iree_tf"), |
| os.path.join(python_projects_dir, "iree_tflite"), |
| ], |
| append_path=True, |
| ) |
| |
| # Enable features based on -D FEATURES=hugetest,vulkan |
| # syntax. |
| # We always allow "llvmcpu". It can be disabled with -D DISABLE_FEATURES=llvmcpu |
| disable_features_param = lit_config.params.get("DISABLE_FEATURES") |
| disable_features = [] |
| if disable_features_param: |
| disable_features = disable_features_param.split(",") |
| if "llvmcpu" not in disable_features: |
| config.available_features.add("llvmcpu") |
| features_param = lit_config.params.get("FEATURES") |
| if features_param: |
| config.available_features.update(features_param.split(",")) |