Skip to content

igla race: purge the 286 vacuous wave-loop tests from ternary_mac and ternary_gemm, assert real values instead #10377

Closed

Description

@gHashTag

specs/igla/race/ternary_mac.t27 carries 144 and specs/igla/race/ternary_gemm.t27 carries 142 tests that cannot fail: the wave-loop placeholders test ..._wNNN_batch_depth_invariant_N { /* verify baseline */ } (and the multi-line // verify ... plus assert true form), each paired with an invariant ..._depth: true. They pass with zero runtime asserts. tools/assertionless_spec_tests_baseline.txt only pins them. Follow-up to #10371 (PR #10375), which repaired the two specs and deliberately left this pile in place.

Two more placeholders use the form assert(true) (the w339 pair in each file). The ratchet's matcher does not see that form, but they cannot fail either, and they sit inside the same wave tail.

Boundary

  • specs/igla/race/ternary_mac.t27
  • specs/igla/race/ternary_gemm.t27
  • tools/assertionless_spec_tests_baseline.txt
  • .trinity/seals/race_igla-race-ternary-mac.json
  • .trinity/seals/race_igla-race-ternary-gemm.json

User Scenarios

  • Given a reviewer reading the test list of ternary_mac.t27 or ternary_gemm.t27, when they count the tests, then every test in the file can fail, and the count means something.
  • Given a change to ternary_mul_wide or ternary_mac_wide that returns a wrong value at an i8 corner, when the spec tests run, then a test fails (not only placeholders passing).
  • Given the assertionless ratchet, when it runs after this change, then both files are gone from the baseline and the total falls by 286.

Requirements

  • FR-001: Every test whose body is only comments, assert true or assert(true) in ternary_mac.t27 and ternary_gemm.t27 MUST be deleted, together with its paired invariant ... : true and the wave-loop header comments.
  • FR-002: The real tests and real invariants MUST stay untouched.
  • FR-003: Replacement tests MUST assert exact values: the widening kernels at the i8 corners for the MAC, and the hand-worked 2x2 case and the all-ones case of specs/igla/coder/ternary_gemm_gpu.t27 for the GEMM.
  • FR-004: tools/assertionless_spec_tests_baseline.txt MUST be re-blessed in the same commit with tools/check_assertionless_spec_tests.py --bless.
  • FR-005: Both seals MUST be regenerated with t27c seal --save on the Railway lab.
  • FR-006: The change MUST be .t27 and data only; every build and test runs on the Railway lab, not on the Mac.

Success Criteria

  • python3 tools/check_assertionless_spec_tests.py exits 0 and reports neither file.
  • t27c test-report on both specs exits 0 with 0 failed and 0 blocked on the Railway lab.
  • t27b test exits 0 on both specs, with the default overflow mode and with --overflow trap.
  • t27c seal verifies both seals clean against the files on disk.
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions