瀏覽代碼

add ci script to scan for unexpected printf statements

Urs Hanselmann 2 年之前
父節點
當前提交
74c406dd26
共有 2 個文件被更改,包括 30 次插入0 次删除
  1. 10 0
      .github/workflows/sanitizer.yml
  2. 20 0
      scripts/scan_printf.sh

+ 10 - 0
.github/workflows/sanitizer.yml

@@ -57,3 +57,13 @@ jobs:
     - name: test
       run: cd build/bin && ./unit
       shell: bash
+
+  job3:
+    name: printf-sanitizer
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3
+    
+    - name: run scan_printf script
+      run: ./scripts/scan_printf.sh
+      shell: bash

+ 20 - 0
scripts/scan_printf.sh

@@ -0,0 +1,20 @@
+#!/bin/sh
+
+PATHS="include code"
+FILTER_INCLUDE='\*.{c,cpp,h}'
+FILTER_EXCLUDE="{include/assimp/Compiler/pstdint.h,code/AssetLib/M3D/m3d.h}"
+
+PATTERN='^\s*printf'
+
+grep \
+  --include=\*.{c,cpp,h} \
+  --exclude={include/assimp/Compiler/pstdint.h,code/AssetLib/M3D/m3d.h} \
+  -rnw include code \
+  -e '^\s*printf'
+
+if [ $? ]
+then
+  echo "Debug statement(s) detected. Please remove, or manually add to exclude filter, if appropriate" 
+  exit 1
+fi
+