From 95ac3410938414cd097769a536f3835d15b02030 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sat, 19 Sep 2009 18:24:36 +0200
Subject: [PATCH] Added checks for dependencies on the symbol DEBUG.

Rev: tools/release_checks.pike:1.15
---
 tools/release_checks.pike | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tools/release_checks.pike b/tools/release_checks.pike
index 7c3a5ed252..3b35eb53de 100644
--- a/tools/release_checks.pike
+++ b/tools/release_checks.pike
@@ -208,6 +208,22 @@ void test_fncases(void|string dir) {
   }
 }
 
+// Rationale: The DEBUG symbol should be reserved for user code.
+void test_generic_debug(string dir)
+{
+  foreach(get_dir(dir), string fn) {
+    string p = dir + "/" + fn;
+    if (Stdio.is_dir(p))
+      test_generic_debug(p);
+    else if (has_suffix(p, ".pike") || has_suffix(p, ".pmod")) {
+      string data = Stdio.read_bytes(p);
+      if (cpp("#define DEBUG\n" + data, p) !=
+	  cpp("#define RELEASE_TESTS\n" + data, p))
+	write("%O has a dependency on the DEBUG symbol being defined.\n", p);
+    }
+  }
+}
+
 void main(int args) {
   if(args>1) {
     write("This program checks various aspects of the Pike tree\n"
@@ -227,8 +243,11 @@ void main(int args) {
   test_charset_table("tables.c");
   test_charset_table("misc.c");
   test_unicode();
+  // FIXME: Consider verifying that lib/modules/Calendar.pmod/tzdata
+  //        is up to date.
   test_realpike();
   test_version();
+  test_generic_debug("lib/modules");
 
   test_fncases("src");
   test_fncases("lib");
-- 
GitLab