tor 2007-05-24 klockan 00:59 +1200 skrev Amos Jeffries:
> > 
> 
> Did you run make check before committing any of the days changes?
> 
> I'm getting 7 of 14 core unit tests fail. Two on MemPool.cc:240, the 
> rest on silent segfault.

> Assertion failed: (aLabel != NULL && aSize) at MemPool.cc:240

Hmm...

(gdb) p StrPoolsAttrs
$3 = {{name = 0x509d01 "Short Strings", obj_size = 0}, {name = 0x509d0f
"Medium Strings", obj_size = 0}, {
    name = 0x509d1e "Long Strings", obj_size = 0}}

doesn't look quite right.

Looks like C++ magics strikes again and Mem::Init is called (via the
Initer test class) before StrPoolsAttrs has been assigned..

Mem::Init needs to be called via the setUp() method, not from an
automatic instantiation constructor..


Index: src/tests/testCacheManager.cc
===================================================================
RCS file: /cvsroot/squid/squid3/src/tests/testCacheManager.cc,v
retrieving revision 1.2
diff -u -p -r1.2 testCacheManager.cc
--- src/tests/testCacheManager.cc       18 May 2007 06:41:33 -0000
1.2
+++ src/tests/testCacheManager.cc       23 May 2007 20:47:42 -0000
@@ -17,12 +17,10 @@ shut_down(int)
 
 /* init memory pools */
 
-struct Initer
+void testCacheManager::setUp()
 {
-    Initer() {Mem::Init();}
-};
-
-static Initer ensure_mempools;
+    Mem::Init();
+}
 
 /*
  * Test creating a CacheManager
Index: src/tests/testCacheManager.h
===================================================================
RCS file: /cvsroot/squid/squid3/src/tests/testCacheManager.h,v
retrieving revision 1.1
diff -u -p -r1.1 testCacheManager.h
--- src/tests/testCacheManager.h        29 May 2006 00:15:09 -0000
1.1
+++ src/tests/testCacheManager.h        23 May 2007 20:47:42 -0000
@@ -16,6 +16,7 @@ class testCacheManager : public CPPUNIT_
     CPPUNIT_TEST_SUITE_END();
 
 public:
+    void setUp();
 
 protected:
     void testCreate();

Attachment: signature.asc
Description: Detta är en digitalt signerad meddelandedel

Reply via email to