| # Licensed under the Apache-2.0 license | |
| # SPDX-License-Identifier: Apache-2.0 | |
| """Check C/C++ include guards.""" | |
| import os | |
| from pathlib import Path | |
| from pw_presubmit import ( | |
| cpp_checks, | |
| ) | |
| PROJECT = "openprot" | |
| def guard_name(path: Path) -> str: | |
| """Transform the path into the required include guard.""" | |
| # The presubmit tool runs in the root of the project. | |
| # Compute the path relative to the project root. | |
| path = path.relative_to(os.getcwd()) | |
| guard = f"{PROJECT}_{path}_".replace("/", "_").replace(".", "_") | |
| return guard.upper() | |
| include_guard_check = cpp_checks.include_guard_check(guard_name) |