blob: 714a8b905cd80cfc4704243ace167e6346be58b8 [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
import pathlib
import tempfile
import unittest
import common.common_arguments
class CommonArgumentsTest(unittest.TestCase):
def setUp(self):
self._build_dir_manager = tempfile.TemporaryDirectory()
self.build_dir = pathlib.Path(self._build_dir_manager.name).resolve()
self.e2e_test_artifacts_dir = self.build_dir / "e2e_test_artifacts"
self.e2e_test_artifacts_dir.mkdir()
self.normal_tool_dir = self.build_dir / "normal_tool"
self.normal_tool_dir.mkdir()
self.traced_tool_dir = self.build_dir / "traced_tool"
self.traced_tool_dir.mkdir()
self.trace_capture_tool = self.build_dir / "tracy_capture"
# Create capture tool with executable file mode.
self.trace_capture_tool.touch(mode=0o755)
self.execution_config = self.build_dir / "execution_config.json"
self.execution_config.touch()
def tearDown(self):
self._build_dir_manager.cleanup()
def test_parser(self):
common.common_arguments.Parser().parse_args(
[
f"--normal_benchmark_tool_dir={self.normal_tool_dir}",
f"--traced_benchmark_tool_dir={self.traced_tool_dir}",
f"--trace_capture_tool={self.trace_capture_tool}",
f"--e2e_test_artifacts_dir={self.e2e_test_artifacts_dir}",
f"--execution_benchmark_config={self.execution_config}",
"--target_device=test",
]
)
def test_parser_check_normal_benchmark_tool(self):
arg_parser = common.common_arguments.Parser()
with self.assertRaises(SystemExit):
arg_parser.parse_args(
[
"--normal_benchmark_tool_dir=nonexistent",
f"--e2e_test_artifacts_dir={self.e2e_test_artifacts_dir}",
f"--execution_benchmark_config={self.execution_config}",
"--target_device=test",
]
)
def test_parser_check_traced_benchmark_tool(self):
arg_parser = common.common_arguments.Parser()
with self.assertRaises(SystemExit):
arg_parser.parse_args(
[
"--traced_benchmark_tool_dir=nonexistent",
f"--e2e_test_artifacts_dir={self.e2e_test_artifacts_dir}",
f"--execution_benchmark_config={self.execution_config}",
"--target_device=test",
]
)
def test_parser_check_trace_capture_tool(self):
arg_parser = common.common_arguments.Parser()
with self.assertRaises(SystemExit):
arg_parser.parse_args(
[
"--trace_capture_tool=nonexistent",
f"--e2e_test_artifacts_dir={self.e2e_test_artifacts_dir}",
f"--execution_benchmark_config={self.execution_config}",
"--target_device=test",
]
)
if __name__ == "__main__":
unittest.main()