Skip to content

Commit a6a2652

Browse files
committed
unit test fix, observer must outlive loader since observer may be triggered after loader dtor
1 parent b4fe62b commit a6a2652

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

‎test/test_timeSeriesLoader.cpp‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ TEST_CASE("TimeSeriesLoader serves an interactive request", "[timeSeriesLoader]"
260260
cache.setConfig(ramConfig(frameBytes() * 64));
261261

262262
auto reader = std::make_shared<CountingReader>();
263-
TimeSeriesLoader loader(cache);
264263
RecordingObserver observer;
264+
TimeSeriesLoader loader(cache);
265265
loader.addObserver(&observer);
266266

267267
// Prefetch off, so this test observes only the interactive path.
@@ -351,8 +351,8 @@ TEST_CASE("TimeSeriesLoader with the disk tier off prefetches only the memory wi
351351
cache.setConfig(ramConfig(frameBytes() * 5));
352352

353353
auto reader = std::make_shared<CountingReader>();
354-
TimeSeriesLoader loader(cache);
355354
RecordingObserver observer;
355+
TimeSeriesLoader loader(cache);
356356
loader.addObserver(&observer);
357357

358358
TimeSeriesLoader::PrefetchConfig cfg;
@@ -417,8 +417,8 @@ TEST_CASE("TimeSeriesLoader adopts an in-flight prefetch instead of duplicating
417417
// request it interactively.
418418
reader->setDelay(150ms);
419419

420-
TimeSeriesLoader loader(cache);
421420
RecordingObserver observer;
421+
TimeSeriesLoader loader(cache);
422422
loader.addObserver(&observer);
423423

424424
// Start with prefetch off. Otherwise setSeries begins prefetching t=1
@@ -624,8 +624,8 @@ TEST_CASE("TimeSeriesLoader reports prefetch idle when there is nothing left to
624624
cache.setConfig(ramConfig(frameBytes() * 64));
625625

626626
auto reader = std::make_shared<CountingReader>();
627-
TimeSeriesLoader loader(cache);
628627
RecordingObserver observer;
628+
TimeSeriesLoader loader(cache);
629629
loader.addObserver(&observer);
630630

631631
TimeSeriesLoader::PrefetchConfig cfg;
@@ -696,8 +696,8 @@ TEST_CASE("TimeSeriesLoader reloads a timepoint whose prefetch was cancelled", "
696696
auto reader = std::make_shared<CountingReader>();
697697
reader->setDelay(200ms);
698698

699-
TimeSeriesLoader loader(cache);
700699
RecordingObserver observer;
700+
TimeSeriesLoader loader(cache);
701701
loader.addObserver(&observer);
702702

703703
// Prefetch off first, so the initial interactive load is not racing a prefetch.
@@ -1158,8 +1158,8 @@ TEST_CASE("TimeSeriesLoader reverts DiskCached when the disk tier evicts", "[tim
11581158
cache.setConfig(diskCacheConfig(frameBytes() * 8, frameBytes() * diskFrames));
11591159

11601160
auto reader = std::make_shared<CountingReader>();
1161-
TimeSeriesLoader loader(cache);
11621161
RecordingObserver observer;
1162+
TimeSeriesLoader loader(cache);
11631163
loader.addObserver(&observer);
11641164

11651165
TimeSeriesLoader::PrefetchConfig cfg;
@@ -1270,8 +1270,8 @@ TEST_CASE("TimeSeriesLoader survives a historyMargin larger than the budget", "[
12701270
cache.setConfig(ramConfig(frameBytes() * 3));
12711271

12721272
auto reader = std::make_shared<CountingReader>();
1273-
TimeSeriesLoader loader(cache);
12741273
RecordingObserver observer;
1274+
TimeSeriesLoader loader(cache);
12751275
loader.addObserver(&observer);
12761276

12771277
TimeSeriesLoader::PrefetchConfig cfg;
@@ -1325,8 +1325,8 @@ TEST_CASE("TimeSeriesLoader never fetches backward after a large jump", "[timeSe
13251325
cache.setConfig(ramConfig(frameBytes() * 10));
13261326

13271327
auto reader = std::make_shared<CountingReader>();
1328-
TimeSeriesLoader loader(cache);
13291328
RecordingObserver observer;
1329+
TimeSeriesLoader loader(cache);
13301330
loader.addObserver(&observer);
13311331

13321332
TimeSeriesLoader::PrefetchConfig cfg;
@@ -1355,8 +1355,8 @@ TEST_CASE("TimeSeriesLoader clamps the disk warm set to the disk budget", "[time
13551355
cache.setConfig(diskCacheConfig(frameBytes() * 4, frameBytes() * diskFrames));
13561356

13571357
auto reader = std::make_shared<CountingReader>();
1358-
TimeSeriesLoader loader(cache);
13591358
RecordingObserver observer;
1359+
TimeSeriesLoader loader(cache);
13601360
loader.addObserver(&observer);
13611361

13621362
TimeSeriesLoader::PrefetchConfig cfg;
@@ -1435,8 +1435,8 @@ TEST_CASE("TimeSeriesLoader warm-only prefetch does not pull volumes into RAM",
14351435
cache.clearMemoryCache();
14361436

14371437
auto reader = std::make_shared<CountingReader>();
1438-
TimeSeriesLoader loader(cache);
14391438
RecordingObserver observer;
1439+
TimeSeriesLoader loader(cache);
14401440
loader.addObserver(&observer);
14411441

14421442
TimeSeriesLoader::PrefetchConfig cfg;
@@ -1491,8 +1491,8 @@ TEST_CASE("TimeSeriesLoader three-run cross-session scenario", "[timeSeriesLoade
14911491
CacheManager cache(dir.str());
14921492
cache.setConfig(diskCacheConfig(frameBytes() * ramFrames, frameBytes() * diskFrames));
14931493
auto reader = std::make_shared<CountingReader>();
1494-
TimeSeriesLoader loader(cache);
14951494
RecordingObserver observer;
1495+
TimeSeriesLoader loader(cache);
14961496
loader.addObserver(&observer);
14971497
loader.setPrefetchConfig(makeCfg());
14981498

@@ -1528,8 +1528,8 @@ TEST_CASE("TimeSeriesLoader three-run cross-session scenario", "[timeSeriesLoade
15281528
CacheManager cache(dir.str());
15291529
cache.setConfig(diskCacheConfig(frameBytes() * ramFrames, frameBytes() * diskFrames));
15301530
auto reader = std::make_shared<CountingReader>();
1531-
TimeSeriesLoader loader(cache);
15321531
RecordingObserver observer;
1532+
TimeSeriesLoader loader(cache);
15331533
loader.addObserver(&observer);
15341534
loader.setPrefetchConfig(makeCfg());
15351535

@@ -1627,8 +1627,8 @@ TEST_CASE("TimeSeriesLoader with prefetch off still caches on-demand loads", "[t
16271627
cache.setConfig(diskCacheConfig(frameBytes() * 16, 64ULL * 1024 * 1024));
16281628

16291629
auto reader = std::make_shared<CountingReader>();
1630-
TimeSeriesLoader loader(cache);
16311630
RecordingObserver observer;
1631+
TimeSeriesLoader loader(cache);
16321632
loader.addObserver(&observer);
16331633

16341634
TimeSeriesLoader::PrefetchConfig cfg;

0 commit comments

Comments
 (0)