Skip to content

Re-enable tests ignored for wall-clock planning nondeterminism after Stage 3 design is final #1175

Open

Description

@milindsrivastava1997

Every planning call runs under a wall-clock budget (run_planning: 30 s default, rounds capped at 5 s; the deadline is also passed to HiGHS as time_limit). Under CI load a search can stop at a different point or before any plan exists, so tests that plan through it fail intermittently ("MILP solver: execution-scope expansion exceeded the deadline", a different proven_optimal, missing selected).

As a stopgap, every test that reaches the time-limited search — via plan_installable / e2e_plan / optimize / run_planning or by running the planner binary — is now #[ignore]d with a reason pointing here. Tests that only use the deterministic paths (select_among_plans, installable_plan_of) still run. List them with:

grep -rn 'revisit after Stage 3 design' crates

Run them with cargo test --workspace -- --ignored.

When Stage 3's design is final (#1095, #1067)

For each ignored test, decide:

  • Re-enable: the search is deterministic for it (e.g. Planner tests depend on wall-clock search budgets and flake under load #1067's optimal-only stopping, or a test-only deterministic budget such as a node or iteration limit instead of wall-clock time).
  • Rewrite: it asserts on something budget-dependent (proven_optimal, which plan a partial search found).
  • Keep ignored or delete: a large-workload test that only makes sense as a nightly or benchmark.

Other nondeterminism to check while here

  • HashMap/HashSet iteration order (~350 uses across the planning crates) feeding tie-breaks or output order. planner_layering_example2::production_memo_selects_a_validated_example2_plan failed on 7 branches with a cost Overflow on a path with no deadline.
  • std::thread::spawn in logical-asap-optimization/src/pass2/cse.rs.
  • HiGHS thread count (not set; only gaps are pinned to 0).

Also see #1166, which ignored the first 9 under #1067.

Metadata

Metadata

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