Testnet Acceptance Tests - penumbra-zone/penumbra GitHub Wiki

This is a draft pre-release test plan for testnet release managers. Please add and edit liberally!

Since we now have the main branch automatically deploying to testnet-preview.penumbra.zone on pushes to GitHub, testnet acceptance testing has become simpler.

Precondition: ssh to testnet-preview.penumbra.zone

  • Ensure git log reports the correct commit for the checkout (/root/penumbra/)
  • Ensure all Docker containers are running and have no errors in their logs (docker ps/docker logs)
  • Ensure that pd and tendermint continue without error after an epoch transition
  • pcli can sync with the node (cargo run --bin pcli -- -n testnet-preview.penumbra.zone sync)
  • pcli can list all assets
  • pcli detects all notes from the genesis allocation (cargo run --bin pcli -- -n testnet-preview.penumbra.zone balance)
  • Can successfully send a transaction (cargo run --bin pcli -- -n testnet-preview.penumbra.zone tx send 100upenumbra --to penumbrav1….). Expected behavior: 200 OK when transaction is sent, balance updates as expected (i.e. 100 upenumbra) in target wallet
  • Can successfully list validators ( cargo run --bin pcli -- -n testnet-preview.penumbra.zone stake list-validators)
  • Can successfully delegate (cargo run --bin pcli -- -n testnet-preview.penumbra.zone stake delegate 10penumbra --to penumbravalid1n…). Expected behavior: 200 OK when transaction is sent, balance updates as expected (i.e. 10delegation_penumbra…)
  • Can successfully undelegate (cargo run --bin pcli -- -n testnet-preview.penumbra.zone stake undelegate 10delegation_penumbra…). Expected behavior: 200 OK when transaction is sent, balance updates with X pen
  • Can successfully upload new validator definition (cargo run --release --bin pcli -- -n testnet-preview.penumbra.zone validator upload-definition --file validator.json). Expected behavior: 200 OK when validator uploaded
  • Can view newly uploaded validator in list (cargo run --release --bin pcli -- -n testnet-preview.penumbra.zone stake list-validators -i). Expected behavior: 200 OK and new validator to appear in Inactive state
  • Ensure pd and tendermint continue running through another epoch transition after adding the second validator
  • Full acceptance testing should involve testing delegations to the new validator and running tendermint/pd to participate in consensus, but this isn't documented yet