fix(ci): check for adityapk00/lightwalletd behaviour in test harness (#3705)
* fix(ci): remove an unused trigger path * doc(ci): explain lightwalletd trigger paths * fix(test): check for adityapk00/lightwalletd behaviour in test harness * fix(ci): work around buildx command error * fix(ci): revert the workaround
This commit is contained in:
parent
5cc7f46200
commit
9ce3a9a62f
|
@ -15,7 +15,6 @@ on:
|
||||||
- '**/Cargo.lock'
|
- '**/Cargo.lock'
|
||||||
- '**/deny.toml'
|
- '**/deny.toml'
|
||||||
# workflow definitions
|
# workflow definitions
|
||||||
- 'docker/**'
|
|
||||||
- '.github/workflows/ci.yml'
|
- '.github/workflows/ci.yml'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
|
|
@ -6,10 +6,17 @@ on:
|
||||||
branches:
|
branches:
|
||||||
- 'main'
|
- 'main'
|
||||||
paths:
|
paths:
|
||||||
|
# rebuild lightwalletd whenever the related Zebra code changes
|
||||||
|
#
|
||||||
|
# TODO: this code isn't compiled in this docker image
|
||||||
|
# rebuild whenever the actual code at adityapk00/lightwalletd/master changes
|
||||||
- 'zebra-rpc/**'
|
- 'zebra-rpc/**'
|
||||||
- 'zebrad/tests/acceptance.rs'
|
- 'zebrad/tests/acceptance.rs'
|
||||||
- 'zebrad/src/config.rs'
|
- 'zebrad/src/config.rs'
|
||||||
- 'zebrad/src/commands/start.rs'
|
- 'zebrad/src/commands/start.rs'
|
||||||
|
# workflow definitions
|
||||||
|
#
|
||||||
|
# unlike the Zebra code, these workflow definitions do change the docker image
|
||||||
- 'docker/zcash-lightwalletd/Dockerfile'
|
- 'docker/zcash-lightwalletd/Dockerfile'
|
||||||
- '.github/workflows/zcash-lightwalletd.yml'
|
- '.github/workflows/zcash-lightwalletd.yml'
|
||||||
|
|
||||||
|
|
|
@ -1688,15 +1688,16 @@ fn lightwalletd_integration() -> Result<()> {
|
||||||
//
|
//
|
||||||
// TODO: update the missing method name when we add a new Zebra RPC
|
// TODO: update the missing method name when we add a new Zebra RPC
|
||||||
|
|
||||||
// Note:
|
|
||||||
// zcash/lightwalletd calls getbestblockhash here, but
|
// zcash/lightwalletd calls getbestblockhash here, but
|
||||||
// adityapk00/lightwalletd calls getblock
|
// adityapk00/lightwalletd calls getblock
|
||||||
let result =
|
let result =
|
||||||
lightwalletd.expect_stdout_line_matches("Method not found.*error zcashd getblock rpc");
|
lightwalletd.expect_stdout_line_matches("Method not found.*error zcashd getblock rpc");
|
||||||
let (_, zebrad) = zebrad.kill_on_error(result)?;
|
let (_, zebrad) = zebrad.kill_on_error(result)?;
|
||||||
let result = lightwalletd.expect_stdout_line_matches(
|
|
||||||
"Lightwalletd died with a Fatal error. Check logfile for details",
|
// zcash/lightwalletd exits with a fatal error here, but
|
||||||
);
|
// adityapk00/lightwalletd keeps trying the mempool
|
||||||
|
let result =
|
||||||
|
lightwalletd.expect_stdout_line_matches("Mempool refresh error: -32601: Method not found");
|
||||||
let (_, zebrad) = zebrad.kill_on_error(result)?;
|
let (_, zebrad) = zebrad.kill_on_error(result)?;
|
||||||
|
|
||||||
// Cleanup both processes
|
// Cleanup both processes
|
||||||
|
@ -1710,9 +1711,10 @@ fn lightwalletd_integration() -> Result<()> {
|
||||||
|
|
||||||
// If the test fails here, see the [note on port conflict](#Note on port conflict)
|
// If the test fails here, see the [note on port conflict](#Note on port conflict)
|
||||||
//
|
//
|
||||||
// TODO: change lightwalletd to `assert_was_killed` when enough RPCs are implemented
|
// zcash/lightwalletd exits by itself, but
|
||||||
|
// adityapk00/lightwalletd keeps on going, so it gets killed by the test harness.
|
||||||
lightwalletd_output
|
lightwalletd_output
|
||||||
.assert_was_not_killed()
|
.assert_was_killed()
|
||||||
.wrap_err("Possible port conflict. Are there other acceptance tests running?")?;
|
.wrap_err("Possible port conflict. Are there other acceptance tests running?")?;
|
||||||
zebrad_output
|
zebrad_output
|
||||||
.assert_was_killed()
|
.assert_was_killed()
|
||||||
|
|
Loading…
Reference in New Issue