Skip to content

Manual Test Cases

Jonathan Chappelow edited this page Jul 13, 2018 · 1 revision

In addition to the unit tests run via go test, there are several usage scenarios that should be manually tested for each proposed change:

  • mainnet fresh sync in lite mode: Start dcrdata with an empty datadir. Run for a few thousand blocks at a minimum. It is not necessary to sync to best block, only verify that a clean start works.
  • mainnet fresh sync in full mode (--pg): Start dcrdata with an empty datadir and new PostgreSQL database. Run for a few thousand blocks at a minimum. It is not necessary to sync to best block, only verify that a clean start works.
  • mainnet sync to best block in lite mode: Start dcrdata with existing datadir and PostgreSQL database. Allow it to sync and start the explorer listening without error.
  • mainnet sync to best block in full mode (--pg): Start dcrdata with existing datadir and PostgreSQL database. Allow it to sync and start the explorer listening without error.
  • All of the above on the current testnet (e.g. testnet2).

If database schema changes are being made:

  • If an upgrade is implemented, first test the upgrade.
  • Perform a FULL fresh sync (from genesis to best block, with no/empty datadir and a fresh PostgreSQL database). This should be performed regardless of whether an upgrade is implemented.
  • After full sync, restart dcrdata and confirm no errors or unexpected warnings.