Skip to content

consume direct: block-test failures against Nethermind nethtest are never detected #3609

Description

@CPerezz

consume direct --bin=nethtest cannot report a failing blockchain_test against Nethermind.

Two facts combine:

  1. nethtest --blockTest always exits 0 and reports results only as human-readable <name> PASS/FAIL lines on stdout (src/Nethermind/Nethermind.Test.Runner/Program.cs, Run returns 0 unconditionally; BlockchainTestsRunner.cs prints per-test lines, no JSON summary). State tests do emit a JSON array, block tests do not.
  2. packages/testing/src/execution_testing/client_clis/clis/nethermind.py decides the block-test outcome from result.returncode alone and never inspects stdout.

Reproduce: take any blockchain_test fixture, change a surviving storage value in its pre so the executed root no longer matches the RLP-committed root, run uv run consume direct --input <dir> --bin=nethtest -m blockchain_test. Nethermind itself prints FAIL (or throws InvalidBlockException), the harness reports the test as passed.

Verified with Nethermind built from current master (dotnet build of Nethermind.Test.Runner).

Found while working on #3600

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions