/* $Id: BlockCacheConcurrencyTest.h 4522 2003-09-07 11:53:03Z bonefish $ This file defines a class for testing BBlockCache */ #ifndef BlockCacheConcurrencyTest_H #define BlockCacheConcurrencyTest_H #include "ThreadedTestCase.h" #include #include class BBlockCache; class BList; class BlockCacheConcurrencyTest : public BThreadedTestCase { private: BBlockCache *theObjCache; BBlockCache *theMallocCache; int numBlocksInCache; size_t sizeOfBlocksInCache; size_t sizeOfNonCacheBlocks; void *GetBlock(BBlockCache *theCache, size_t blockSize, thread_id theThread, BList *cacheList, BList *nonCacheList); void SaveBlock(BBlockCache *theCache, void *, size_t blockSize, thread_id theThread, BList *cacheList, BList *nonCacheList); void FreeBlock(void *, size_t blockSize, bool isMallocTest, thread_id theThread, BList *cacheList, BList *nonCacheList); void TestBlockCache(BBlockCache *theCache, bool isMallocTest); public: static Test *suite(void); void TestThreadObj(void); void TestThreadMalloc(void); virtual void setUp(void); virtual void tearDown(void); BlockCacheConcurrencyTest(std::string); virtual ~BlockCacheConcurrencyTest(); }; #endif