-#define SQUID_UNIT_TEST 1
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
#include "squid.h"
-#include "Mem.h"
+#include "MemObject.h"
#include "SquidConfig.h"
#include "SquidTime.h"
#include "Store.h"
-#include "StoreHashIndex.h"
+#include "store/Disks.h"
#include "StoreSearch.h"
-#include "SwapDir.h"
#include "testStoreHashIndex.h"
#include "TestSwapDir.h"
static void
addSwapDir(TestSwapDirPointer aStore)
{
- allocate_new_swapdir(&Config.cacheSwap);
+ allocate_new_swapdir(Config.cacheSwap);
Config.cacheSwap.swapDirs[Config.cacheSwap.n_configured] = aStore.getRaw();
++Config.cacheSwap.n_configured;
}
void
testStoreHashIndex::testStats()
{
- StoreEntry * logEntry = new StoreEntry("dummy_url", "dummy_log_url");
+ StoreEntry *logEntry = new StoreEntry;
+ logEntry->createMemObject("dummy_storeId", NULL, HttpRequestMethod());
logEntry->store_status = STORE_PENDING;
- StorePointer aRoot (new StoreHashIndex());
- Store::Root(aRoot);
+ Store::Init();
TestSwapDirPointer aStore (new TestSwapDir);
TestSwapDirPointer aStore2 (new TestSwapDir);
addSwapDir(aStore);
free_cachedir(&Config.cacheSwap);
CPPUNIT_ASSERT_EQUAL(true, aStore->statsCalled);
CPPUNIT_ASSERT_EQUAL(true, aStore2->statsCalled);
- Store::Root(NULL);
+ Store::FreeMemory();
}
void
testStoreHashIndex::testMaxSize()
{
- StoreEntry * logEntry = new StoreEntry("dummy_url", "dummy_log_url");
+ StoreEntry *logEntry = new StoreEntry;
+ logEntry->createMemObject("dummy_storeId", NULL, HttpRequestMethod());
logEntry->store_status = STORE_PENDING;
- StorePointer aRoot (new StoreHashIndex());
- Store::Root(aRoot);
+ Store::Init();
TestSwapDirPointer aStore (new TestSwapDir);
TestSwapDirPointer aStore2 (new TestSwapDir);
addSwapDir(aStore);
addSwapDir(aStore2);
CPPUNIT_ASSERT_EQUAL(static_cast<uint64_t>(6), Store::Root().maxSize());
free_cachedir(&Config.cacheSwap);
- Store::Root(NULL);
+ Store::FreeMemory();
}
StoreEntry *
-addedEntry(StorePointer hashStore,
- StorePointer aStore,
+addedEntry(Store::Disk *aStore,
String name,
String varySpec,
String varyKey
e->swap_dirn = -1;
for (int i=0; i < Config.cacheSwap.n_configured; ++i) {
- if (INDEXSD (i) == aStore.getRaw())
+ if (INDEXSD(i) == aStore)
e->swap_dirn = i;
}
CPPUNIT_ASSERT (e->swap_dirn != -1);
e->swap_file_sz = 0; /* garh lower level */
- e->lock_count = 0;
e->lastref = squid_curtime;
e->timestamp = squid_curtime;
e->expires = squid_curtime;
- e->lastmod = squid_curtime;
+ e->lastModified(squid_curtime);
e->refcount = 1;
- EBIT_SET(e->flags, ENTRY_CACHABLE);
- EBIT_CLR(e->flags, RELEASE_REQUEST);
- EBIT_CLR(e->flags, KEY_PRIVATE);
e->ping_status = PING_NONE;
EBIT_CLR(e->flags, ENTRY_VALIDATED);
- e->hashInsert((const cache_key *)name.termedBuf()); /* do it after we clear KEY_PRIVATE */
+ e->hashInsert((const cache_key *)name.termedBuf()); /* do it after we clear KEY_PRIVATE */
return e;
}
testStoreHashIndex::testSearch()
{
commonInit();
- StorePointer aRoot (new StoreHashIndex());
- Store::Root(aRoot);
+ Store::Init();
TestSwapDirPointer aStore (new TestSwapDir);
TestSwapDirPointer aStore2 (new TestSwapDir);
addSwapDir(aStore);
addSwapDir(aStore2);
Store::Root().init();
- StoreEntry * entry1 = addedEntry (&Store::Root(), aStore.getRaw(), "name", NULL, NULL);
- StoreEntry * entry2 = addedEntry (&Store::Root(), aStore2.getRaw(), "name2", NULL, NULL);
- StoreSearchPointer search = aRoot->search (NULL, NULL); /* search for everything in the store */
+ StoreEntry * entry1 = addedEntry(aStore.getRaw(), "name", NULL, NULL);
+ StoreEntry * entry2 = addedEntry(aStore2.getRaw(), "name2", NULL, NULL);
+ StoreSearchPointer search = Store::Root().search(); /* search for everything in the store */
/* nothing should be immediately available */
CPPUNIT_ASSERT_EQUAL(false, search->error());
CPPUNIT_ASSERT_EQUAL(static_cast<StoreEntry *>(NULL), search->currentItem());
//CPPUNIT_ASSERT_EQUAL(false, search->next());
- Store::Root(NULL);
+ Store::FreeMemory();
}
+