Additional meson test - look for stray debug statements
authorColin Clark <colin.clark@cclark.uk>
Thu, 28 Mar 2024 11:35:24 +0000 (11:35 +0000)
committerColin Clark <colin.clark@cclark.uk>
Thu, 28 Mar 2024 11:35:24 +0000 (11:35 +0000)
Check if DEBUG_0, DEBUG_BT or DEBUG_FD statements have been erroneously
left in the code.

meson.build
scripts/debug-check.sh [new file with mode: 0755]
src/filedata.cc
src/image-load-webp.cc

index ea644b4..946e285 100644 (file)
@@ -737,6 +737,21 @@ else
     summary({'Single Value enum' : ['Test runs:', false]}, section : 'Testing', bool_yn : true)
 endif
 
+# Debug statement checks
+debug_check_sh = find_program('debug-check.sh', dirs : scriptsdir, required : true)
+if debug_check_sh.found()
+    foreach source_file : main_sources + pan_view_sources + view_file_sources
+        source_file_name = fs.name(source_file)
+        if (source_file_name != 'debug.h')
+            test('Debug Statements_ ' + source_file_name, debug_check_sh, args : [source_file], timeout : 100)
+        endif
+    endforeach
+
+    summary({'Debug Statements' : ['Test runs:', true]}, section : 'Testing', bool_yn : true)
+else
+    summary({'Debug Statements' : ['Test runs:', false]}, section : 'Testing', bool_yn : true)
+endif
+
 # Lua test
 option = get_option('lua')
 if not option.disabled()
diff --git a/scripts/debug-check.sh b/scripts/debug-check.sh
new file mode 100755 (executable)
index 0000000..92afc89
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+#**********************************************************************
+# Copyright (C) 2024 - The Geeqie Team
+#
+# Author: Colin Clark
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#**********************************************************************
+
+## @file
+## @brief Check for stray debug statements
+##
+## $1 Source file to check
+##
+## Look for DEBUG_0, DEBUG_BT, DEBUG_FD
+##
+
+res=$(grep --line-number 'DEBUG_0\|DEBUG_BT\|DEBUG_FD' "$1")
+
+if [ -z "$res" ]
+then
+       exit 0
+else
+       printf "%s\n" "$res"
+       exit 1
+fi
+
index c0a04ab..3589331 100644 (file)
@@ -724,7 +724,7 @@ FileData *file_data_ref(FileData *fd)
  * Print image ref. count and full path name of all images in
  * the file_data_pool.
  *
- * Used only by DEBUG_FD()
+ * Used only by debug_fd()
  */
 void file_data_dump()
 {
index eaf3af6..cafabe1 100644 (file)
@@ -126,7 +126,6 @@ ImageLoaderWEBP::~ImageLoaderWEBP()
 
 std::unique_ptr<ImageLoaderBackend> get_image_loader_backend_webp()
 {
-       DEBUG_0("        "     );
        return std::make_unique<ImageLoaderWEBP>();
 }