From 3cfc7e0c00b4c367431e49f6bc5cf8cb57c77e52 Mon Sep 17 00:00:00 2001 From: tersec Date: Wed, 10 May 2023 16:50:41 +0000 Subject: [PATCH 1/4] don't run flaky CI in Windows --- tests/all_tests.nim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/all_tests.nim b/tests/all_tests.nim index b73eb8467d..39b220a3d5 100644 --- a/tests/all_tests.nim +++ b/tests/all_tests.nim @@ -54,8 +54,9 @@ when not defined(i386): # Avoids "Out of memory" CI failures import ./test_blockchain_dag, - ./test_keystore, - ./test_keystore_management, - ./test_keymanager_api + ./test_keystore + + when not defined(windows): + import ./test_keystore_management summarizeLongTests("AllTests") From 1854506955663ff59f3db210ce54f358deb943f3 Mon Sep 17 00:00:00 2001 From: Etan Kissling Date: Sat, 13 May 2023 00:42:20 +0200 Subject: [PATCH 2/4] reduce stack size in `test_light_client` --- tests/test_light_client.nim | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/tests/test_light_client.nim b/tests/test_light_client.nim index 7692018220..b75c11e238 100644 --- a/tests/test_light_client.nim +++ b/tests/test_light_client.nim @@ -191,21 +191,25 @@ suite "Light client" & preset(): store.migrateToDataFork(lcDataFork) withForkyStore(store): when lcDataFork > LightClientDataFork.None: - bootstrap.migrateToDataFork(lcDataFork) - template forkyBootstrap: untyped = bootstrap.forky(lcDataFork) - let upgradedUpdate = update.migratingToDataFork(lcDataFork) - template forkyUpdate: untyped = upgradedUpdate.forky(lcDataFork) - let res = process_light_client_update( - forkyStore, forkyUpdate, currentSlot, cfg, genesis_validators_root) - check: - forkyUpdate.finalized_header.beacon.slot.sync_committee_period == - period - res.isOk - if forkyUpdate.finalized_header.beacon.slot > - forkyBootstrap.header.beacon.slot: - forkyStore.finalized_header == forkyUpdate.finalized_header - else: - forkyStore.finalized_header == forkyBootstrap.header + # Reduce stack size by making this a `proc` + proc syncToPeriod() = + bootstrap.migrateToDataFork(lcDataFork) + template forkyBootstrap: untyped = bootstrap.forky(lcDataFork) + let upgradedUpdate = update.migratingToDataFork(lcDataFork) + template forkyUpdate: untyped = upgradedUpdate.forky(lcDataFork) + let res = process_light_client_update( + forkyStore, forkyUpdate, currentSlot, cfg, + genesis_validators_root) + check: + forkyUpdate.finalized_header.beacon.slot.sync_committee_period == + period + res.isOk + if forkyUpdate.finalized_header.beacon.slot > + forkyBootstrap.header.beacon.slot: + forkyStore.finalized_header == forkyUpdate.finalized_header + else: + forkyStore.finalized_header == forkyBootstrap.header + syncToPeriod() inc numIterations if numIterations > 20: doAssert false # Avoid endless loop on test failure From f036fc7455d3882b48198c9019401f69be9fab4a Mon Sep 17 00:00:00 2001 From: Etan Kissling Date: Sat, 13 May 2023 20:40:00 +0200 Subject: [PATCH 3/4] regen tests --- AllTests-mainnet.md | 78 +-------------------------------------------- 1 file changed, 1 insertion(+), 77 deletions(-) diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md index 1ab8a1a38b..3eb92d862d 100644 --- a/AllTests-mainnet.md +++ b/AllTests-mainnet.md @@ -110,23 +110,6 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + parent sanity OK ``` OK: 2/2 Fail: 0/2 Skip: 0/2 -## DeleteKeys requests [Beacon Node] [Preset: mainnet] -```diff -+ Deleting not existing key [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 4/4 Fail: 0/4 Skip: 0/4 -## DeleteRemoteKeys requests [Beacon Node] [Preset: mainnet] -```diff -+ Deleting existing local key and remote key [Beacon Node] [Preset: mainnet] OK -+ Deleting not existing key [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 5/5 Fail: 0/5 Skip: 0/5 ## DepositTreeSnapshot ```diff + Migration OK @@ -187,17 +170,6 @@ OK: 5/5 Fail: 0/5 Skip: 0/5 + Subnet query after ENR update OK ``` OK: 3/3 Fail: 0/3 Skip: 0/3 -## Fee recipient management [Beacon Node] [Preset: mainnet] -```diff -+ Configuring the fee recpient [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -+ Obtaining the fee recpient of a missing validator returns 404 [Beacon Node] [Preset: mainn OK -+ Obtaining the fee recpient of an unconfigured validator returns the suggested default [Bea OK -+ Setting the fee recipient on a missing validator creates a record for it [Beacon Node] [Pr OK -``` -OK: 7/7 Fail: 0/7 Skip: 0/7 ## FinalizedBlocks [Preset: mainnet] ```diff + Basic ops [Preset: mainnet] OK @@ -225,17 +197,6 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + should raise on unknown data OK ``` OK: 11/11 Fail: 0/11 Skip: 0/11 -## Gas limit management [Beacon Node] [Preset: mainnet] -```diff -+ Configuring the gas limit [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -+ Obtaining the gas limit of a missing validator returns 404 [Beacon Node] [Preset: mainnet] OK -+ Obtaining the gas limit of an unconfigured validator returns the suggested default [Beacon OK -+ Setting the gas limit on a missing validator creates a record for it [Beacon Node] [Preset OK -``` -OK: 7/7 Fail: 0/7 Skip: 0/7 ## Gossip fork transition ```diff + Gossip fork transition OK @@ -261,22 +222,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + is_aggregator OK ``` OK: 5/5 Fail: 0/5 Skip: 0/5 -## ImportKeystores requests [Beacon Node] [Preset: mainnet] -```diff -+ ImportKeystores/ListKeystores/DeleteKeystores [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 4/4 Fail: 0/4 Skip: 0/4 -## ImportRemoteKeys/ListRemoteKeys/DeleteRemoteKeys [Beacon Node] [Preset: mainnet] -```diff -+ Importing list of remote keys [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 4/4 Fail: 0/4 Skip: 0/4 ## Key spliting ```diff + k < n OK @@ -329,22 +274,6 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + Sync (Strict) [Preset: mainnet] OK ``` OK: 12/12 Fail: 0/12 Skip: 0/12 -## ListKeys requests [Beacon Node] [Preset: mainnet] -```diff -+ Correct token provided [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 4/4 Fail: 0/4 Skip: 0/4 -## ListRemoteKeys requests [Beacon Node] [Preset: mainnet] -```diff -+ Correct token provided [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK -+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK -+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK -``` -OK: 4/4 Fail: 0/4 Skip: 0/4 ## Message signatures ```diff + Aggregate and proof signatures OK @@ -435,11 +364,6 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + vesion 1 OK ``` OK: 5/5 Fail: 0/5 Skip: 0/5 -## Serialization/deserialization [Beacon Node] [Preset: mainnet] -```diff -+ Deserialization test vectors OK -``` -OK: 1/1 Fail: 0/1 Skip: 0/1 ## Serialization/deserialization test suite ```diff + RestErrorMessage parser tests OK @@ -682,4 +606,4 @@ OK: 2/2 Fail: 0/2 Skip: 0/2 OK: 9/9 Fail: 0/9 Skip: 0/9 ---TOTAL--- -OK: 387/392 Fail: 0/392 Skip: 5/392 +OK: 347/352 Fail: 0/352 Skip: 5/352 From 154f9b96c95b9c0f5a8b6291fe081d8b5f2aa9b8 Mon Sep 17 00:00:00 2001 From: tersec Date: Sun, 14 May 2023 22:00:53 +0000 Subject: [PATCH 4/4] re-enable maybe non-problematic test module on Windows --- AllTests-mainnet.md | 78 ++++++++++++++++++++++++++++++++++++++++++++- tests/all_tests.nim | 5 +-- 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/AllTests-mainnet.md b/AllTests-mainnet.md index 3eb92d862d..1ab8a1a38b 100644 --- a/AllTests-mainnet.md +++ b/AllTests-mainnet.md @@ -110,6 +110,23 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + parent sanity OK ``` OK: 2/2 Fail: 0/2 Skip: 0/2 +## DeleteKeys requests [Beacon Node] [Preset: mainnet] +```diff ++ Deleting not existing key [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 4/4 Fail: 0/4 Skip: 0/4 +## DeleteRemoteKeys requests [Beacon Node] [Preset: mainnet] +```diff ++ Deleting existing local key and remote key [Beacon Node] [Preset: mainnet] OK ++ Deleting not existing key [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 5/5 Fail: 0/5 Skip: 0/5 ## DepositTreeSnapshot ```diff + Migration OK @@ -170,6 +187,17 @@ OK: 5/5 Fail: 0/5 Skip: 0/5 + Subnet query after ENR update OK ``` OK: 3/3 Fail: 0/3 Skip: 0/3 +## Fee recipient management [Beacon Node] [Preset: mainnet] +```diff ++ Configuring the fee recpient [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK ++ Obtaining the fee recpient of a missing validator returns 404 [Beacon Node] [Preset: mainn OK ++ Obtaining the fee recpient of an unconfigured validator returns the suggested default [Bea OK ++ Setting the fee recipient on a missing validator creates a record for it [Beacon Node] [Pr OK +``` +OK: 7/7 Fail: 0/7 Skip: 0/7 ## FinalizedBlocks [Preset: mainnet] ```diff + Basic ops [Preset: mainnet] OK @@ -197,6 +225,17 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + should raise on unknown data OK ``` OK: 11/11 Fail: 0/11 Skip: 0/11 +## Gas limit management [Beacon Node] [Preset: mainnet] +```diff ++ Configuring the gas limit [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK ++ Obtaining the gas limit of a missing validator returns 404 [Beacon Node] [Preset: mainnet] OK ++ Obtaining the gas limit of an unconfigured validator returns the suggested default [Beacon OK ++ Setting the gas limit on a missing validator creates a record for it [Beacon Node] [Preset OK +``` +OK: 7/7 Fail: 0/7 Skip: 0/7 ## Gossip fork transition ```diff + Gossip fork transition OK @@ -222,6 +261,22 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + is_aggregator OK ``` OK: 5/5 Fail: 0/5 Skip: 0/5 +## ImportKeystores requests [Beacon Node] [Preset: mainnet] +```diff ++ ImportKeystores/ListKeystores/DeleteKeystores [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 4/4 Fail: 0/4 Skip: 0/4 +## ImportRemoteKeys/ListRemoteKeys/DeleteRemoteKeys [Beacon Node] [Preset: mainnet] +```diff ++ Importing list of remote keys [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 4/4 Fail: 0/4 Skip: 0/4 ## Key spliting ```diff + k < n OK @@ -274,6 +329,22 @@ OK: 3/3 Fail: 0/3 Skip: 0/3 + Sync (Strict) [Preset: mainnet] OK ``` OK: 12/12 Fail: 0/12 Skip: 0/12 +## ListKeys requests [Beacon Node] [Preset: mainnet] +```diff ++ Correct token provided [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 4/4 Fail: 0/4 Skip: 0/4 +## ListRemoteKeys requests [Beacon Node] [Preset: mainnet] +```diff ++ Correct token provided [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK ++ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK ++ Missing Authorization header [Beacon Node] [Preset: mainnet] OK +``` +OK: 4/4 Fail: 0/4 Skip: 0/4 ## Message signatures ```diff + Aggregate and proof signatures OK @@ -364,6 +435,11 @@ OK: 1/1 Fail: 0/1 Skip: 0/1 + vesion 1 OK ``` OK: 5/5 Fail: 0/5 Skip: 0/5 +## Serialization/deserialization [Beacon Node] [Preset: mainnet] +```diff ++ Deserialization test vectors OK +``` +OK: 1/1 Fail: 0/1 Skip: 0/1 ## Serialization/deserialization test suite ```diff + RestErrorMessage parser tests OK @@ -606,4 +682,4 @@ OK: 2/2 Fail: 0/2 Skip: 0/2 OK: 9/9 Fail: 0/9 Skip: 0/9 ---TOTAL--- -OK: 347/352 Fail: 0/352 Skip: 5/352 +OK: 387/392 Fail: 0/392 Skip: 5/392 diff --git a/tests/all_tests.nim b/tests/all_tests.nim index 14f5148965..c5e4574f9d 100644 --- a/tests/all_tests.nim +++ b/tests/all_tests.nim @@ -55,9 +55,10 @@ when not defined(i386): # Avoids "Out of memory" CI failures import ./test_blockchain_dag, - ./test_keystore + ./test_keystore, + ./test_keystore_management when not defined(windows): - import ./test_keystore_management + import ./test_keymanager_api summarizeLongTests("AllTests")