nim-codex/tests
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
..
circuits/fixtures Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
codex Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
contracts Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
fixtures Node setup (#32) 2022-01-10 09:32:56 -06:00
helpers Chronos v4 Update (v3 Compat Mode) (#814) 2024-07-18 21:04:33 +00:00
integration Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
tools/cirdl Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00
asynctest.nim update asynctest to 0.5.1 (#671) 2024-01-29 17:03:51 -03:00
checktest.nim update asynctest to 0.5.1 (#671) 2024-01-29 17:03:51 -03:00
config.nims [build] fix: ignore logging when running singular tests (#369) 2023-03-16 15:32:09 +01:00
coverage.nim Bump deps take2 (#492) 2023-08-01 16:47:57 -07:00
coverage.nims Bump deps take2 (#492) 2023-08-01 16:47:57 -07:00
ethertest.nim Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00
examples.nim feat: expiry specified with number of seconds (#793) 2024-05-06 17:35:46 +02:00
helpers.nim Metadata in LevelDB (#806) 2024-05-30 06:57:10 +00:00
logging.nim feat: create logging proxy (#663) 2024-01-22 23:35:03 -08:00
nimlldb.py Bump deps take2 (#492) 2023-08-01 16:47:57 -07:00
testCodex.nim feat: create logging proxy (#663) 2024-01-22 23:35:03 -08:00
testContracts.nim Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
testIntegration.nim Validator historical state restoration (#922) 2024-12-14 05:07:55 +00:00
testTaiko.nim refactor: use serde for json de/serialization instead of utils/json (#704) 2024-03-19 03:25:13 +00:00
testTools.nim Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00