ZcashFoundation / zebra

Zcash - Financial Privacy in Rust 🦓
https://zfnd.org/zebra/
Apache License 2.0
412 stars 106 forks source link

Tracking: run zcashd RPC tests #8781

Open conradoplg opened 3 months ago

conradoplg commented 3 months ago

Describe the issue or request

zcash has a RPC suite which we should run against zebrad to check for possible inconsistencies between the nodes. Most of them might fail due to unimplemented wallet RPCs, but this should still be useful

We can split these sub tickets if needed:

Some context from str4d:

The node binary start / stop / restart functions would need to be adapted to zebrad, as would any startup config options that tests rely on (such as being able to configure precisely when NUs activate on regtest)

But the entire rest of the tests should either pass as-is, fail because of missing RPCs (e.g. missing wallet functionality), or fail due to discrepancies in behaviour that should be fixed in zebrad

I expect that right now most of the tests rely on the existence of a wallet, but that shouldn't have stopped ZF from porting the RPC tests to use as a "compatability checklist" (getting individual tests to pass and then pinning them as passing in CI, while allowing most tests to fail) that can be ratcheted up over time

the main body is in https://github.com/zcash/zcash/tree/master/qa/rpc-tests; that's what you want to port over. https://github.com/zcash/zcash/blob/master/qa/pull-tester/rpc-tests.py is the runner, and in particular the RPC tests listed in EXTENDED_SCRIPTS are tests we have never run on zcashd and are likely long-bitrotted; don't bother porting over those unless you think they'd be useful to get going.

Expected Behavior

No response

Current Behavior

No response

Possible Solution

No response

Additional Information/Context

No response

Is this happening on PRs?

No response

Is this happening on the main branch?

No response

oxarbitrage commented 2 months ago

Spreadsheet with all the tests zcashd has and additional information for possible implementation in zebra:

https://docs.google.com/spreadsheets/d/1F-KZuhGHvecpjzQ9PFeMLh8cJHaP8BxI3Kg0IWdBBuU

Moved from https://github.com/ZcashFoundation/zebra/issues/8779