MCPcopy Create free account
hub / github.com/facebook/CacheLib / TEST_F

Function TEST_F

cachelib/persistence/tests/PersistenceManagerTest.cpp:39–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37};
38
39TEST_F(PersistenceManagerTest, testConfigChange) {
40 auto items = cache_.getKeyValuePairs(3);
41 auto evictedKeys = cache_.cacheSetup(items, 1, 0, false);
42 {
43 PersistenceManager manager(cache_.config_);
44 MockPersistenceStreamWriter writer(cache_.buffer_.get());
45 manager.saveCache(writer);
46 }
47 {
48 // change cache size is ok for restorCache
49 auto config = cache_.config_;
50 config.setCacheSize(cache_.kCacheSize + 1);
51 PersistenceManager manager(config);
52 // restore cache will fail
53 MockPersistenceStreamReader reader(cache_.buffer_->data(),
54 cache_.buffer_->length());
55 EXPECT_NO_THROW(manager.restoreCache(reader));
56 }
57
58 {
59 // change cache name
60 auto config = cache_.config_;
61 config.setCacheName("failure");
62 PersistenceManager manager(config);
63 // restore cache will fail
64 MockPersistenceStreamReader reader(cache_.buffer_->data(),
65 cache_.buffer_->length());
66 ASSERT_THROW_WITH_MSG(manager.restoreCache(reader), std::invalid_argument,
67 "Config doesn't match: test|failure");
68 }
69
70 {
71 // change cache dir is ok
72 auto config = cache_.config_;
73 config.enableCachePersistence(cache_.cacheDir_ + "success");
74 PersistenceManager manager(config);
75 // restore cache will not fail
76 MockPersistenceStreamReader reader(cache_.buffer_->data(),
77 cache_.buffer_->length());
78 EXPECT_NO_THROW(manager.restoreCache(reader));
79 }
80
81 // clean up memory and disk cache data
82 cache_.cacheCleanup();
83
84 {
85 // change cache config
86 auto config = cache_.config_;
87 // non-default page size is not allowed
88 config.setAccessConfig(Cache::AccessConfig{10, 10, PageSizeT::TWO_MB});
89 ASSERT_THROW_WITH_MSG(PersistenceManager manager(config),
90 std::invalid_argument,
91 "Only default PageSize is supported to persist");
92 }
93}
94
95TEST_F(PersistenceManagerTest, testSmallSinglePool) {
96 std::string key = "key";

Callers

nothing calls this directly

Calls 15

getNvmTestConfigFunction · 0.85
makeDirFunction · 0.85
removePathFunction · 0.85
getKeyValuePairsMethod · 0.80
cacheSetupMethod · 0.80
saveCacheMethod · 0.80
restoreCacheMethod · 0.80
cacheCleanupMethod · 0.80
testMethod · 0.80
setSimpleFileMethod · 0.80
getFileSizeMethod · 0.80
setRaidFilesMethod · 0.80

Tested by

no test coverage detected