Comments (5)
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.
Upgrade scenario 1 & 2 are not in the list
from casper-node.
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.
@cspramit Comment updated.
from casper-node.
@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)
- Rust toolchain failure observed with CEP18 contract.
- Fix Juliet test HOT 1
- Add a flag for enabling speculative exec into the binary port and disable it by default
- Add a dictionary item request to the binary port
- Move ReactorState from casper-types to the node and replace it with a String in NodeStatus
- Rename Transform types
- Review max_request_size_bytes and max_response_size_bytes binary port config
- Send custom error message payloads in the binary port
- Investigate potentially flaky Highway Zug rewards tests
- Joiner issue for 1.6 HOT 1
- Wrong documentation for enable_contract_version
- Distributing rewards for signatures sometimes fail if the validator dropped from the validator list
- BlockValidator can sometimes drop responders without responding HOT 1
- Create a reactor test that checks that new 2.0 rewards are correctly distributed to inactive validators
- Move values that can affect size of the BinaryPort request to chainspec
- Create a tool for direct communication with binary port
- Adjust cost values for contract messages FFI parameters
- Write reactor tests for checking transaction payments HOT 1
- Unintended speed dependence in should_have_diverse_proposable_blocks_with_stocked_buffer test
- Add a dedicated balance request to the binary port and expose hold information in a new RPC endpoint
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from casper-node.