|  | # 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(",")) |