| #!/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() |