0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-10 15:46:48 -04:00
bitcoin-core/src/test/util
Ryan Ofsky 99b3af78bd
Merge bitcoin/bitcoin#28044: test: indexes, fix on error infinite loop
89ba8905f5 test: indexes, fix on error infinite loop (furszy)

Pull request description:

  Coming from https://github.com/bitcoin/bitcoin/pull/28036#issuecomment-1623813703, I thought that we were going to fix it there but seems that got merged without it for some reason.

  As index sync failures trigger a shutdown request without notifying `BaseIndex::BlockUntilSyncedToCurrentChain` in any way, we also need to check whether a shutdown was requested or not inside 'IndexWaitSynced'.

  Otherwise, any error inside the index sync process will hang the test forever.

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 89ba8905f5
  jamesob:
    ACK 89ba890
  ryanofsky:
    Code review ACK 89ba8905f5. Just comment update since last review

Tree-SHA512: 1f6daf34e51d3fbc802799bfa4ac0ef0d8f774db5f9e2f5d35df18a77679778475c94efc3da1fb723ebaf3583e4075e4a5cbe4a5104ad0c50e2b32076e247b29
2023-07-11 12:30:56 -04:00
..
blockfilter.cpp refactor: Move functions to BlockManager methods 2023-05-10 19:06:53 +02:00
blockfilter.h refactor: Move functions to BlockManager methods 2023-05-10 19:06:53 +02:00
chainstate.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
coins.cpp De-duplicate add_coin methods to a test util helper 2023-02-09 15:03:36 -08:00
coins.h De-duplicate add_coin methods to a test util helper 2023-02-09 15:03:36 -08:00
index.cpp test: indexes, fix on error infinite loop 2023-07-10 15:27:13 -03:00
index.h test: Restore unlimited timeout in IndexWaitSynced 2023-07-06 14:19:59 +02:00
json.cpp test, build: Separate read_json function into its own module 2023-01-27 09:26:29 +00:00
json.h test, build: Separate read_json function into its own module 2023-01-27 09:26:29 +00:00
logging.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
mining.cpp test: Add util to mine invalid blocks 2023-05-02 17:17:06 +02:00
mining.h test: Add util to mine invalid blocks 2023-05-02 17:17:06 +02:00
net.cpp Merge bitcoin/bitcoin#27324: net: #27257 follow-ups 2023-03-28 11:48:02 +01:00
net.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
poolresourcetester.h Add pool based memory resource & allocator 2023-03-23 19:38:38 +01:00
random.h Create InsecureRandMoneyAmount() test util helper 2023-02-09 15:03:36 -08:00
README.md
script.cpp
script.h
setup_common.cpp index: verify blocks data existence only once 2023-07-10 10:50:50 -03:00
setup_common.h fuzz: Change LIMIT_TO_MESSAGE_TYPE from a compile-time to a run-time setting 2023-05-26 17:14:23 +02:00
str.cpp
str.h
transaction_utils.cpp
transaction_utils.h
txmempool.cpp refactor: Replace std::optional<bilingual_str> with util::Result 2023-05-24 08:55:47 -04:00
txmempool.h test: Use type-safe NodeSeconds for TestMemPoolEntryHelper 2022-10-24 11:33:33 +02:00
validation.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
validation.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
xoroshiro128plusplus.h Add xoroshiro128++ PRNG 2023-01-30 18:12:21 -05:00

Test library

This contains files for the test library, which is used by the test binaries (unit tests, benchmarks, fuzzers, gui tests).

Generally, the files in this folder should be well-separated modules. New code should be added to existing modules or (when in doubt) a new module should be created.

The utilities in here are compiled into a library, which does not hold any state. However, the main file setup_common defines the common test setup for all test binaries. The test binaries will handle the global state when they instantiate the BasicTestingSetup (or one of its derived classes).