Skip to content

CI never runs Go's stub-backed public-API tests (TestStub*, TestRegistry*): they skip by name everywhere #463

Description

@EricAndrechek

No CI job runs Go's stub-backed public-API tests. They skip by name in every run, so nothing would catch a regression in them.

measured from the scripts and workflows on v1:

  • The required go job in ci.yml runs the Go suite with no stub library, so every stub-backed test skips by name: 36 skips in the latest census, among them the 13 TestStub* tests in go/chtypes/stub_test.go and the TestRegistry* tests in go/chtypes/adapter_test.go.
  • v1-abi.yml does build the stubs and sets CHTYPES_ABI1_STUBS. But for Go it runs scripts/abi-v1/conformance/go.sh, and that script runs only go test ./internal/abi1/... -run TestConformance and go test ./chtypes -run TestGoldensV1StubSelfCheck (plus, once the setup-latch change lands, TestSetupCases).
  • So TestStub* and TestRegistry* run only when someone sets CHTYPES_ABI1_STUBS locally. They pass when run that way (measured locally with stubs).

Fix: scripts/abi-v1/conformance/go.sh runs go test ./chtypes -count=1 in full with the stubs set, and reads its verdict from the test census the same way check-standalone.sh does, so a zero-run fails.

Also check: whether the Python, TypeScript and Rust conformance scripts have the same gap for their stub-backed public tests. That is unverified; only Go was read.

🤖 Generated with Claude Code

Activity

  1. added a commit that references this issue on Oct 6, 2026
  2. EricAndrechek commented on Oct 6, 2026

    @EricAndrechek
    MemberAuthor

    Fixed by #465, merged into v1 and part of the 1.0.2 release.

    Go's conformance leg now runs the whole Go suite with the stub libraries set and the race detector on. A census reads the verdict and fails on:

    • a zero-run;
    • any test that skips for the stub gate while the stubs are set;
    • a missing required test.

    measured in both Go legs: 278 passed, 0 failed, with the 15 TestStub*, 3 TestRegistry* and the setup case all run. The Python, TypeScript and Rust scripts already ran all their stub-gated tests, and now share the same census guard.

    🤖 Generated with Claude Code

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