Coder Social home page Coder Social logo

Comments (5)

rafal-ch avatar rafal-ch commented on July 18, 2024

Original requests for some of the tests:
https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios

Current test schema info for 2.0 branch

Name Trigger Tests
Pull Request New PR is created or new commits are pushed Internal repo tests (includes contract tests)
Bors validation PR is about to be merged Same as in "Pull Request" + NCTL upgrade scenarios 1 (scenarios 3 and 11 are currently disabled)
Nightly test Every night Selected upgrade scenario tests + regression tests

Test case summary

Name Keep/Remove Comment Additional info
client.sh Keep Tests "Casper Client" against local NCTL network. Requires update (for example, recent GetEraSummary is not tested) https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst01.sh Remove Tests if randomly stopped node can restart. Remove, because network_soundness.py test covers this more comprehensively https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst02.sh Keep Tests if consensus resumes after it's been stalled due to not enough running nodes. https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst11.sh Keep Tests if equivocation is detected https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst13.sh Keep Tests if validator is evicted due to inactivity, asserts that it's not proposing https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst14.sh Keep Tests if validator stopped and started within the same era does not equivocate https://casperlabs.atlassian.net/wiki/spaces/OPS/pages/1133707277/Casper+Network+Infra+Test+Scenarios
itst01_private_chain.sh Remove Duplicated "itst01.sh" n/a
itst02_private_chain.sh Remove Duplicated "itst02.sh" with copy-pasted function assert_chain_stalled() n/a
itst06_private_chain.sh Remove Duplicated "itst06.sh" n/a
itst07_private_chain.sh Remove Duplicated "itst07.sh" n/a
itst11_private_chain.sh Remove Duplicated "itst11.sh" n/a
itst13_private_chain.sh Remove Duplicated "itst13.sh" n/a
itst14_private_chain.sh Remove Duplicated "itst14.sh" n/a
bond_its.sh Keep Checks if validator can bond https://casperlabs.atlassian.net/browse/NDRS-845
emergency_upgrade_test.sh keep Tests emergency upgrade involving replacing of original validators n/a
emergency_upgrade_test_balances.sh Keep Tests emergency upgrade involving funds transfer. Can be merged with emergency_upgrade_test.sh. https://casperlabs.atlassian.net/browse/NDRS-1141
upgrade_after_emergency_upgrade_test.sh Keep Covers 1.5 regression - stuck historical sync when there was an emergency upgrade followed by the upgrade. #3570
upgrade_after_emergency_upgrade_test_pre_1.5 Keep Covers 1.5 regression - stuck historical sync when there was an emergency upgrade followed by the upgrade, verifies that all works correctly if we start with the pre 1.5 version which does not have the immediate switch blocks #3779
sync_test.sh Remove Simple sync test, later extended to cover the sync_to_genesis functionality. Currently broken, since we changed the flag behavior without updating tests. Remove, because we have similar test in casper-test https://casperlabs.atlassian.net/browse/NDRS-803
gov96.sh Remove Stops nodes until consensus is stalled, then restarts nodes and checks if the chain resumes. Remove, because itst02.sh already checks similar thing https://github.com/casper-ecosystem/Governance/issues/96
swap_validator_set.sh Keep Swap validator set without emergency restart, then join a node. https://app.zenhub.com/workspaces/cn-sre-60d363546afb85000e491ff6/issues/gh/casper-network/sre/523
sync_upgrade_test.sh Keep Tests regular, scheduled upgrade https://casperlabs.atlassian.net/browse/NDRS-849
validators_disconnect.sh Remove Stops nodes until consensus is stalled, then restarts nodes and checks if the chain resumes. Removal requires itst02.sh to be extended to also cover the dead_air_interval. #4120 (comment)
regression_3976.sh Keep Covers 1.5 regression #3976
upgrade_scenario_1.sh Keep Basic, single upgrade scenario.
upgrade_scenario_2.sh Remove Tests multiple upgrades. Not referenced anywhere, so probably not needed.
upgrade_scenario_3.sh Keep Verifies if auction function across upgrades. https://app.zenhub.com/workspaces/cn-sre-60d363546afb85000e491ff6/issues/gh/casper-network/sre/9
upgrade_scenario_4.sh Keep Checks if nodes that were staged for upgrade with a delay will rejoin the network. The only difference is how long we wait. Tests binary upgrade. https://app.zenhub.com/workspaces/engineering-60953fafb1945f0011a3592d/issues/gh/casper-network/casper-node/1863
upgrade_scenario_5.sh Remove (?) Same as above, but waits more eras to make sure consensus no longer has info for upgrade point. Double check if this still matters with Zug, and eventually remove n/a
upgrade_scenario_6.sh Keep Same as upgrade_scenario_4.sh, but tests protocol only upgrade. n/a
upgrade_scenario_7.sh Remove (?) Same as upgrade_scenario_5.sh, but tests protocol only upgrade. n/a
upgrade_scenario_8.sh Keep Checks if nodes with different protocol version don't talk to each other (post 1.5) n/a
upgrade_scenario_9.sh Keep Checks if nodes can or can not join the network depending on how old trusted hash they are given n/a
upgrade_scenario_10.sh Remove Checks if era infos are correctly pruned. Needs massaging as the scenario described in the comment is incorrect. Remove, because migration/pruning is concluded, the code is dead n/a
upgrade_scenario_11.sh Keep Checks that we carry unbonds across an emergency upgrade #3695
upgrade_scenario_12.sh Keep Checks if auction info at block 1 stays the same after an upgrade (triggered by security fix and know as upgrade_scenario_10.sh at that point) #2811
upgrade_scenario_13.sh Remove Checks the compatibility of chain_get_era_info_by_switch_block and chain_get_era_summary after migration. Remove, because migration/pruning is concluded, the code is dead n/a
upgrade_scenario_14.sh Keep Checks regression introduced in 1.5 #4077
network_soundness.py Keep Checks if network can survive random node restarts when being under the load n/a
itst06.sh Keep Falky (?). Covers a validator shutdown mid-transfer (wasmless). Could be rewritten in casper-test #2973
itst07.sh Remove Falky (?). Same as itst06.sh but for wasm-transfers. Merge with itst06.sh and remove n/a

Notes

  • Some of the NCTL tests may include the superfluous await_node_historical_sync_to_genesis step at the end. While this may detect potential problems with historical sync it could be removed from tests that are designed to test for cases not related to historical sync, like some regression tests
  • It's also worth reviewing tests in casper-test.

from casper-node.

cspramit avatar cspramit commented on July 18, 2024

Upgrade scenario 1 & 2 are not in the list

from casper-node.

rafal-ch avatar rafal-ch commented on July 18, 2024

Upgrade scenario 1 & 2 are not in the list

upgrade_scenario_02.sh is not referenced at all, hence seems like not used.

upgrade_scenario_01.sh is the only, very basic upgrade scenario, which we should keep - I'll add it to the table during our meeting.

from casper-node.

rafal-ch avatar rafal-ch commented on July 18, 2024

@cspramit Comment updated.

from casper-node.

rafal-ch avatar rafal-ch commented on July 18, 2024

@cspramit
Regarding the duplicated "private chain" tests, we should give them more thought. Even though the scripts are the same, they work with different environments via toml overrides found here.

I'm currently double-checking this as a part of #4303

from casper-node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.