blob: 44f3a1a8070235657a23b3e5b37c582e981f761d [file] [log] [blame]
#!/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())