]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix: cppunit tests broken by squid.h defines
authorAmos Jeffries <amosjeffries@squid-cache.org>
Sun, 10 Aug 2008 05:49:14 +0000 (23:49 -0600)
committerAmos Jeffries <amosjeffries@squid-cache.org>
Sun, 10 Aug 2008 05:49:14 +0000 (23:49 -0600)
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.

13 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/testICMP.cc
src/tests/testStore.cc
src/tests/testStoreController.cc
src/tests/testStoreEntryStream.cc
src/tests/testStoreHashIndex.cc
src/tests/testURLScheme.cc

index 9eda90af066ea0dde7d5590e88baaf3759cc5aa7..ff85684cae2af84f47dcc67f16e8aa05780ff4f9 100644 (file)
@@ -425,6 +425,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.
@@ -435,7 +438,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
@@ -445,6 +447,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 195e54ce5e94ddd57bdc8411d21a1eb5dbae4243..28de16f94a85ff2aeeaecdfa1c50811cf2dd0bb6 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 21e9857cb772197ef2a9586687a445ec0a3aba9b..035e587daad0089b0b9c45a8ca14d42af0469a17 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 a24d47c091b6118deab49dcf72a2a182ff1d5e3b..bb0aea291bcca81a6f6c627f17aeb0fbe377c9cf 100644 (file)
@@ -1,3 +1,5 @@
+#define SQUID_UNIT_TEST 1 
+
 #include "squid.h"
 #include <sstream>
 #include <cppunit/TestAssert.h>
index 5d223c637d0ce7d01ab958680ce2ec8dc0ba8d6f..749a0a37fb7fe6bdddbb3cd9ffb0255577b3480c 100644 (file)
@@ -1,5 +1,6 @@
-
+#define SQUID_UNIT_TEST 1
 #define SQUID_HELPER 1
+
 #include "squid.h"
 
 #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>