Skip to content

Three devlore-test fixtures assert text the runtime no longer produces; all three fail when run #875

Closed

Description

@David-Noble-at-work

Three fixtures in cmd/devlore-test/devloretest/data/ assert text the runtime no longer produces. Each
fails when run through the CLI on develop today:

Fixture Asserts Runtime emits
test_imm_shell.star shell.exec(...) == "echo hello" a *shell.Result rendering as "Result" — the value is the record, fields are reached individually (result.stdout, result.exit_code)
test_flow_fatal_recovery.star expect_error("fatal: abort after write") flow.failed executed: abort after write (the fatal action was renamed failed)
test_imm_file_join_variadic_error.star expect_error("positional and keyword") multiple values for argument "parts" (Starlark's own wording, not ours)

Proof, on develop:

$ go run ./cmd/devlore-test run cmd/devlore-test/devloretest/data/test_imm_shell.star
  "expectation": "equal(Result, \"echo hello\")",
  "message": "got Result, want \"echo hello\""
[devlore-test] [✖] 1 expectation(s) failed

test_imm_shell.star's assertion also encodes a wrong belief — a comment claiming "shell.exec returns
the command string, not stdout"
— traceable to a table row in
docs/plans/provider-registration/phase-7.md. The value is a record whose fields are individually
reachable by reflection.

Why it went unnoticed — the deeper gap

Nothing runs these fixtures. There are 112 data/*.star fixtures; the Go suite references exactly
two by name (test_hello.star, test_write_then_remove.star). The rest are run only by a human typing
devlore-test run <file>. A fixture whose assertion rots is never caught, because nothing asserts it.
Filed separately — this issue is the three corrections; the harness gap is its own bug.

Fix

Correct the three assertions to what the runtime produces (verified: all three pass through the CLI after).
The test_imm_shell.star correction also asserts the four fields, both streams, and the render, replacing
one false scalar equality.

Found while triaging devlore-cli.shell-exec-product, whose uncommitted edits carried these corrections.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Epic:QualityCoverageCode quality, coverage, and the lint gatesbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions