add a new util script

This commit is contained in:
blueloveTH 2025-03-03 19:54:39 +08:00
parent 4434bfcf23
commit 8c8c5f13cf
3 changed files with 21 additions and 1 deletions

View File

@ -70,6 +70,7 @@ jobs:
if: github.ref == 'refs/heads/main'
- name: Compile and Test
run: |
python scripts/check_pragma_once.py include
mkdir -p output/x86_64
python cmake_build.py
python scripts/run_tests.py

View File

@ -0,0 +1,20 @@
import os
import sys
def check_pragma_once_in_dir(path):
for root, dirs, files in os.walk(path):
if 'include/pocketpy/xmacros' in root or 'include/pybind11' in root:
continue
for file in files:
if file.endswith(".c") or file.endswith(".h"):
with open(os.path.join(root, file), "r", encoding='utf-8') as f:
print(f"==> {os.path.join(root, file)}")
text = f.read()
assert text.count("#pragma once") == 1, "#pragma once should appear exactly once"
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python scripts/check_pragma_once.py <path>")
sys.exit(1)
check_pragma_once_in_dir(sys.argv[1])

View File

@ -2858,7 +2858,6 @@ const static PrattRule rules[TK__COUNT__] = {
};
// clang-format on
#undef static_assert_expr_size
#undef vtcall
#undef vtemit_
#undef vtemit_del