| #!/usr/bin/env python3 |
| ## 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 |
| """Generates a CMake file to define e2e mdoel tests.""" |
| |
| import string |
| import sys |
| import pathlib |
| import argparse |
| |
| # Add build_tools python dir to the search path. |
| sys.path.insert(0, str(pathlib.Path(__file__).parent / ".." / "python")) |
| |
| import benchmark_suites.iree.benchmark_collections |
| import e2e_model_tests.cmake_generator |
| |
| TEMPLATE_DIR = pathlib.Path(__file__).parent |
| GENERATED_E2E_MODEL_TESTS_CMAKE_TEMPLATE = string.Template( |
| (TEMPLATE_DIR / "generated_e2e_model_tests_template.cmake").read_text() |
| ) |
| |
| |
| def parse_arguments(): |
| """Parses command-line options.""" |
| |
| parser = argparse.ArgumentParser() |
| parser.add_argument( |
| "--output", required=True, help="Path to write the generated cmake file." |
| ) |
| |
| return parser.parse_args() |
| |
| |
| def main(args: argparse.Namespace): |
| (gen_configs, _) = benchmark_suites.iree.benchmark_collections.generate_benchmarks() |
| cmake_rules = e2e_model_tests.cmake_generator.generate_rules( |
| module_generation_configs=gen_configs |
| ) |
| output = GENERATED_E2E_MODEL_TESTS_CMAKE_TEMPLATE.substitute( |
| __TEST_RULES="\n".join(cmake_rules) |
| ) |
| with open(args.output, "w") as output_file: |
| output_file.write(output) |
| |
| |
| if __name__ == "__main__": |
| main(parse_arguments()) |