/ src / test / util / index.cpp
index.cpp
 1  // Copyright (c) 2020-2022 The Bitcoin Core 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  }