index.cpp raw

   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