Skip to content

[test-infra] The #357 cash-anchor test block runs price-degraded by default — a moving-provider harness now exists but covers only one of its tests #691

Description

@atomchung

Status

Discussion — process/test-coverage finding from PR #684's investigation into #665. No real trade data anywhere below; no maintainer decision yet.

Owning outcome

A test that exercises an engine-priced code path — one that calls market_data.resolve with network access notionally allowed — runs against a harness that can actually disagree with itself between two calls, at least once per behavior it claims to cover, so a defect that only a second live resolution can expose is not structurally invisible to the offline suite.

Mechanism

tests/test_review_v2.py (line numbers against origin/main@e662164):

This is offered as the general finding, not as a defect in the remaining _offline_env tests individually: several of those are testing a refusal shape (a grown transaction file, a gone frame, a replay) that does not need a moving provider to exercise, and converting them would add nothing. The narrower, more durable point is that the harness gap itself was invisible from inside the suite until #665 was reproduced by running the real CLI against real Yahoo access — nothing in the offline suite could have shown the same symptom, no matter how many _offline_env tests were added to the block. Any other engine-priced behavior elsewhere in this repository's tests that is asserted only under an _offline_env-equivalent stub carries the same structural blind spot #665 exposed, until it is specifically checked against a moving-provider harness.

Evidence

Read against origin/main@e662164; confirmed by grep (_offline_env, _priced_env, 357, usercustomize) across tests/test_review_v2.py and by reading both harness functions and the one test PR #684 converted. No real trade data — this is a test-infrastructure finding about which harness a given test uses, not a data reproduction.

Cross-references

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions