nimbus-eth2/tests/all_tests.nim
Jacek Sieka 1a8b7469e3
move quarantine outside of chaindag (#3124)
* move quarantine outside of chaindag

The quarantine has been part of the ChainDAG for the longest time, but
this design has a few issues:

* the function in which blocks are verified and added to the dag becomes
reentrant and therefore difficult to reason about - we're currently
using a stateful flag to work around it
* quarantined blocks bypass the processing queue leading to a processing
stampede
* the quarantine flow is unsuitable for orphaned attestations - these
should also should be quarantined eventually

Instead of processing the quarantine inside ChainDAG, this PR moves
re-queueing to `block_processor` which already is responsible for
dealing with follow-up work when a block is added to the dag

This sets the stage for keeping attestations in the quarantine as well.

Also:

* make `BlockError` `{.pure.}`
* avoid use of `ValidationResult` in block clearance (that's for gossip)
2021-12-06 10:49:01 +01:00

52 lines
1.6 KiB
Nim

# beacon_chain
# Copyright (c) 2018-2021 Status Research & Development GmbH
# Licensed and distributed under either of
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
# at your option. This file may not be copied, modified, or distributed except according to those terms.
# All tests except scenarios, which as compiled separately for mainnet and minimal
import
chronicles,
./testutil
import # Unit test
./test_action_tracker,
./test_attestation_pool,
./test_beacon_chain_db,
./test_block_processor,
./test_blockchain_dag,
./test_datatypes,
./test_discovery,
./test_eth1_monitor,
./test_eth2_ssz_serialization,
./test_exit_pool,
./test_forks,
./test_gossip_validation,
./test_helpers,
./test_honest_validator,
./test_interop,
./test_keystore,
./test_message_signatures,
./test_peer_pool,
./test_spec,
./test_statediff,
./test_sync_committee_pool,
./test_sync_manager,
./test_zero_signature,
./fork_choice/tests_fork_choice,
./consensus_spec/all_tests as consensus_all_tests,
./slashing_protection/test_fixtures,
./slashing_protection/test_slashing_interchange,
./slashing_protection/test_slashing_protection_db,
./slashing_protection/test_migration
import # Refactor state transition unit tests
# In mainnet these take 2 minutes and are empty TODOs
./spec_block_processing/test_process_deposits,
./spec_block_processing/test_process_attestation,
./spec_epoch_processing/test_process_justification_and_finalization
summarizeLongTests("AllTests")