]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix: cppunit tests broken by squid.h defines
authorAmos Jeffries <squid3@treenet.co.nz>
Mon, 11 Aug 2008 13:09:45 +0000 (01:09 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 11 Aug 2008 13:09:45 +0000 (01:09 +1200)
In order to promote safe coding and the use of internal accounting API
Squid mangles certain common function definitions such as malloc/calloc.

While this is a great idea for Squid internal code. It's not good when
integrating external cppunit macro libraries. At least one of which in
use performs its own allocation during testing.

This adds an extra layer of protection to prevent redirection with certain
unit-tests where the macros needed clash with Squid.

12 files changed:
src/squid.h
src/tests/testACLMaxUserIP.cc
src/tests/testAuth.cc
src/tests/testBoilerplate.cc
src/tests/testCacheManager.cc
src/tests/testDiskIO.cc
src/tests/testHttpRequestMethod.cc
src/tests/testStore.cc
src/tests/testStoreController.cc
src/tests/testStoreEntryStream.cc
src/tests/testStoreHashIndex.cc
src/tests/testURLScheme.cc

index 195d05ff30fbd75ec112e9710ed7daa6b1650ebe..0ec7ed668f02166fb711248f7ffe4a6d069c7384 100644 (file)
@@ -424,6 +424,9 @@ max(A const & lhs, A const & rhs)
 #include "protos.h"
 #include "globals.h"
 
+/* Exclude CPPUnit tests from the below restriction. */
+/* BSD implementation uses these still */
+#if !defined(SQUID_UNIT_TEST)
 /*
  * Squid source files should not call these functions directly.
  * Use xmalloc, xfree, xcalloc, snprintf, and xstrdup instead.
@@ -434,7 +437,6 @@ max(A const & lhs, A const & rhs)
 #endif
 template <class V>
 void free(V x) { fatal("Do not use ::free()"); }
-
 #ifndef calloc
 #define calloc +
 #endif
@@ -444,6 +446,7 @@ void free(V x) { fatal("Do not use ::free()"); }
 #ifndef strdup
 #define strdup +
 #endif
+#endif /* !SQUID_UNIT_TEST */
 
 /*
  * Hey dummy, don't be tempted to move this to lib/config.h.in
index 0b50294a402f212913a4730dadfea47ee3b507c8..7ff1e6cbc9904466fb90f555f7c9ee49b7e43c09 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include <stdexcept>
 
index a9d3659e8e775cf3329e90eefd041d1d4b4751d5..cbd8600560b79d94f614e25183c609d03cb555de 100644 (file)
@@ -1,4 +1,4 @@
-#include "config.h"
+#define SQUID_UNIT_TEST 1
 
 #include "squid.h"
 #include "testAuth.h"
index ab7919d61d11d1f9e872e351db066e1df70de694..59559fe0f5bf531e13a63bf16d0d02370afb2e05 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include <stdexcept>
 
index a66a54f564c2157c40dc242393fafa7a6e95a9c4..8255774a48c1878b8059eaa3b49090f6b2b3ae5a 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include <cppunit/TestAssert.h>
 
index 489768c8e1010d28516b3b32e91e18a58b357cda..7881fe148fceff75f38a122c27c6a70975336d3b 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1 
+
 #include "squid.h"
 #include <stdexcept>
 
index 7b479ebbe1c18d0d322440bcfb067a040f02d282..30bbe1dc896d5cbef49da3c6fef1564dfe2ec1e0 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1 
+
 #include "squid.h"
 #include <sstream>
 #include <cppunit/TestAssert.h>
index 71d6781ccda053df1af5fd2846b6adfc2de15358..ad9dad48990e9ec389b32beb12b046f03b157b1a 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include "testStore.h"
 #include "Store.h"
index 76bd65ee3037641aa268f59f670df7357db25ab6..e5ebd6605329ee8b126a5ed6cffc185bd0bfa977 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 
 #include "testStoreController.h"
index b6a4f5f6e6326176e1f8b4242f9f6cbc2f152fa3..aac6034ab1a15878d991db34425ac8931ab181f6 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include "Mem.h"
 #include "testStore.h"
index 766483eaa7dbdf06cdf09c221cb96b7a0ff73982..44437a0cf3461f72cef0f85e5f7ef4023687d85d 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 
 #include "testStoreHashIndex.h"
index 1ec0d0133f743c2b182740d52b46a37a6156791c..391302cab3e19866a3746aeac40b8d1c2d066e3f 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1
+
 #include "squid.h"
 #include <sstream>
 #include <cppunit/TestAssert.h>