nim-codex/tests/codex
Marcin Czenko 92a0eda79a
Validator historical state restoration (#922)
* adds a new overload of queryPastEvents allowing to query past events based on timestamp in the past

* adds state restoration to validator

* refactors a bit to get the tests back to work

* replaces deprecated generic methods from Market with methods for specific event types

* Refactors binary search

* adds market tests for querying past SlotFilled events and binary search

* Takes into account that <<earliest>> block available is not necessarily the genesis block

* Adds more logging and makes testing earliest block boundary more reliable

* adds validation tests for historical state restoration

* adds mockprovider to simplify and improve testing of the edge conditions

* adds slot reservation to the new tests after rebasing

* adds validation groups and group index in logs of validator

* adds integration test with two validators

* adds comment on how to enable logging in integration test executable itself

* testIntegration: makes list is running nodes injected and available in the body of the test

* validation: adds integration test for historical state

* adds more logging to validator

* integration test: validator only looks 30 days back for historical state

* adds logging of the slotState when removing slots during validation

* review and refactor validator integration tests

* adds validation to the set of integration tests

* Fixes mistyped name of the mock provider module in testMarket

* Fixes a typo in the name of the validation suite in integration tests

* Makes validation unit test a bit easier to follow

* better use of logScopes to reduce duplication

* improves timing and clarifies the test conditions

* uses http as default RPC provider for nodes running in integration tests as a workaround for dropped subscriptions

* simplifies the validation integration tests by waiting for failed request instead of tracking slots

* adds config option allowing selectively to set different provider url

* Brings back the default settings for RPC provider in integration tests

* use http RPC provider for clients in validation integration tests

* fine-tune the tests

* Makes validator integration test more robust - adds extra tracking

* brings tracking of marketplace event back to validator integration test

* refactors integration tests

* deletes tmp file

* adds <<return>> after forcing integration test to fail preliminarily

* re-enables all integration tests and matrix

* stops debug output in CI

* allows to choose a different RPC provider for a given integration test suite

* fixes signature of <<getBlock>> method in mockProvider

* adds missing import which seem to be braking integration tests on windows

* makes sure that clients, SPs, and validators use the same provider url

* makes validator integration tests using http at 127.0.0.1:8545

* testvalidator: stop resubscribing as we are now using http polling as rpc provider

* applying review comments

* groups queryPastStorage overrides together (review comment)

* groups the historical validation tests into a sub suite

* removes the temporary extensions in marketplacesuite and multinodesuite allowing to specify provider url

* simplifies validation integration tests

* Removes debug logs when waiting for request to fail

* Renaming waitForRequestFailed => waitForRequestToFail

* renames blockNumberForBlocksAgo to pastBlockTag and makes it private

* removes redundant debugging logs

* refines logging in validation

* removes dev logging from mockmarket

* improves exception handling in provider helper procs and prepares for extraction to a separate module

* Uses chronos instead of std/times for Duration

* extracts provider and binary search helpers to a separate module

* removes redundant log entry params from validator

* unifies the notation to consistently use method call syntax

* reuses ProviderError from nim-ethers in the provider extension

* clarifies the comment in multinodesuite

* uses == operator to check the predefined tags and raises exception when `BlockTag.pending` is requested.

* when waiting for request to fail, we break on any request state that is not Started

* removes tests that were moved to testProvider from testMarket

* extracts tests that use MockProvider to a separate async suite

* improves performance of the historical state restoration

* removing redundant log messages in validator (groupIndex and groups)

* adds testProvider to testContracts group

* removes unused import in testMarket
2024-12-14 05:07:55 +00:00
..
blockexchange Fixes raceconditions in testadvertiser (#1008) 2024-12-05 09:30:01 +00:00
helpers Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
merkletree Build slots (#668) 2024-01-11 08:45:23 -08:00
node Update advertising (#862) 2024-08-26 13:18:59 +00:00
sales fix(slotqueue): asyncSpawns futures correctly (#1034) 2024-12-13 06:42:05 +00:00
slots Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
stores Update advertising (#862) 2024-08-26 13:18:59 +00:00
utils Rework AsyncIter (#811) 2024-06-10 22:47:29 +00:00
examples.nim feat(api): availabilities patch endpoint (#692) 2024-03-21 10:53:45 +00:00
helpers.nim Wire up prover (#736) 2024-03-12 12:10:14 +00:00
testasyncheapqueue.nim update asynctest to 0.5.1 (#671) 2024-01-29 17:03:51 -03:00
testasyncstreamwrapper.nim update asynctest to 0.5.1 (#671) 2024-01-29 17:03:51 -03:00
testblockexchange.nim Blocks leak and inflight for pending blocks (#315) 2022-11-15 00:12:05 -06:00
testchunking.nim Handles LPStreamError in chunker (#947) 2024-10-10 11:22:36 +00:00
testclock.nim Create memory-leak detecting test suite (#226) 2023-06-22 12:01:21 -06:00
testerasure.nim Bandaid for failing erasure coding (#855) 2024-07-03 14:44:00 +00:00
testindexingstrategy.nim Fix verifiable manifest initialization (#839) 2024-06-21 22:50:56 +00:00
testlogutils.nim refactor: use serde for json de/serialization instead of utils/json (#704) 2024-03-19 03:25:13 +00:00
testmanifest.nim feat: add metadata to the manifest (#960) 2024-10-25 13:43:19 +00:00
testmerkletree.nim Rework merkle tree (#654) 2023-12-21 06:41:43 +00:00
testnode.nim Contracts handler (#672) 2024-01-15 08:45:04 -08:00
testpurchasing.nim feat: partial rewards and withdraws (#880) 2024-10-10 11:53:33 +00:00
testsales.nim Fix sales agent (#733) 2024-03-12 06:41:03 +00:00
testslots.nim Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
teststores.nim Rework AsyncIter (#811) 2024-06-10 22:47:29 +00:00
teststorestream.nim Fix StoreStream so it doesn't return parity bytes (#838) 2024-06-21 11:09:59 +00:00
testsystemclock.nim Revert "remove call to `waitFor` from clock.now and make it async (#691)" (#707) 2024-02-16 22:12:16 +00:00
testutils.nim Rework AsyncIter (#811) 2024-06-10 22:47:29 +00:00
testvalidation.nim Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00