xref: /haiku/src/tests/kits/support/bblockcache/BlockCacheExerciseTest.h (revision bfdb37cc03e4f014afeac056e132f19e74aaf793)
1*bfdb37ccSIngo Weinhold /*
2*bfdb37ccSIngo Weinhold 	$Id: BlockCacheExerciseTest.h,v 1.1 2003/09/07 11:53:03 bonefish Exp $
3*bfdb37ccSIngo Weinhold 
4*bfdb37ccSIngo Weinhold 	This file defines a class for performing tests on the BBlockCache class.
5*bfdb37ccSIngo Weinhold 
6*bfdb37ccSIngo Weinhold 	*/
7*bfdb37ccSIngo Weinhold 
8*bfdb37ccSIngo Weinhold 
9*bfdb37ccSIngo Weinhold #ifndef BlockCacheExerciseTest_H
10*bfdb37ccSIngo Weinhold #define BlockCacheExerciseTest_H
11*bfdb37ccSIngo Weinhold 
12*bfdb37ccSIngo Weinhold 
13*bfdb37ccSIngo Weinhold #include "cppunit/TestCase.h"
14*bfdb37ccSIngo Weinhold #include <List.h>
15*bfdb37ccSIngo Weinhold 
16*bfdb37ccSIngo Weinhold 
17*bfdb37ccSIngo Weinhold class BBlockCache;
18*bfdb37ccSIngo Weinhold 
19*bfdb37ccSIngo Weinhold 
20*bfdb37ccSIngo Weinhold class BlockCacheExerciseTest : public CppUnit::TestCase {
21*bfdb37ccSIngo Weinhold 
22*bfdb37ccSIngo Weinhold private:
23*bfdb37ccSIngo Weinhold 	BBlockCache *theCache;
24*bfdb37ccSIngo Weinhold 	int numBlocksInCache;
25*bfdb37ccSIngo Weinhold 	size_t sizeOfBlocksInCache;
26*bfdb37ccSIngo Weinhold 	size_t sizeOfNonCacheBlocks;
27*bfdb37ccSIngo Weinhold 
28*bfdb37ccSIngo Weinhold 	bool isMallocTest;
29*bfdb37ccSIngo Weinhold 
30*bfdb37ccSIngo Weinhold 	BList freeList;
31*bfdb37ccSIngo Weinhold 	BList usedList;
32*bfdb37ccSIngo Weinhold 	BList nonCacheList;
33*bfdb37ccSIngo Weinhold 
34*bfdb37ccSIngo Weinhold 	void BuildLists(void);
35*bfdb37ccSIngo Weinhold 	void *GetBlock(size_t blockSize);
36*bfdb37ccSIngo Weinhold 	void SaveBlock(void *, size_t blockSize);
37*bfdb37ccSIngo Weinhold 	void FreeBlock(void *, size_t blockSize);
38*bfdb37ccSIngo Weinhold 	void TestBlockCache(void);
39*bfdb37ccSIngo Weinhold 
40*bfdb37ccSIngo Weinhold protected:
41*bfdb37ccSIngo Weinhold 
42*bfdb37ccSIngo Weinhold public:
43*bfdb37ccSIngo Weinhold 	static CppUnit::Test *suite(void);
44*bfdb37ccSIngo Weinhold 	BlockCacheExerciseTest(std::string = "");
45*bfdb37ccSIngo Weinhold 	virtual ~BlockCacheExerciseTest();
46*bfdb37ccSIngo Weinhold 	virtual void PerformTest(void);
47*bfdb37ccSIngo Weinhold };
48*bfdb37ccSIngo Weinhold 
49*bfdb37ccSIngo Weinhold #endif
50