1 // Copyright (c) 2020-2022 The Limenka developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 5 #include <test/util/index.h>
6 7 #include <index/base.h>
8 #include <util/check.h>
9 #include <util/signalinterrupt.h>
10 #include <util/time.h>
11 12 void IndexWaitSynced(const BaseIndex& index, const util::SignalInterrupt& interrupt)
13 {
14 while (!index.BlockUntilSyncedToCurrentChain()) {
15 // Assert shutdown was not requested to abort the test, instead of looping forever, in case
16 // there was an unexpected error in the index that caused it to stop syncing and request a shutdown.
17 Assert(!interrupt);
18 19 UninterruptibleSleep(100ms);
20 }
21 assert(index.GetSummary().synced);
22 }
23