Skip to content

Hold the 12 unheld oracle claims #52

Closed

Description

@CaffeinatedCoder

Twelve of the 121 claims in test/oracles/claims.json had no test holding them. For each one, extend an existing sweep, or write an oracle and seed it. Then fill in heldBy. A claim that turns out false is a candidate: register it and file a bug with found-by/oracle.

  • A02 – AOT: Serialize(range) with default options throws. Asserted by new cases in the Native AOT consumer in test/consumer-smoke-test.sh. Stays unheld because heldBy only takes test classes.
  • A03 – AOT: generic converters register themselves. Already asserted there (aot-rangeset-read, aot-wrapper-read). Unheld for the same reason.
  • E08 – EF: a non-constant inclusiveness flag is refused (QueryTranslationTests)
  • E11 – EF: scaffolding maps to NpgsqlRange<T>: neither plugin carries design-time services of its own (MappingParityTests)
  • E12 – EF: adjacent DateRanges don't overlap, in memory and under an exclusion constraint (ExclusionConstraintTests, live)
  • E27 – EF: ExecuteUpdate to null inside a JSON column (ExecuteUpdateJsonTests). The doc was wrong: a value set is refused by the plugin first, with InvalidOperationException. The table row in docs/efcore.md is fixed.
  • E31 – EF: client-side-only operations throw in Where and run on the client in Select (ClientSideOnlyTranslationTests, ClientSideOnlyProjectionTests)
  • J22 – JSON: an interface-declared property under an unlisted source-gen context fails, and the error names the type (InterfaceDeclaredJsonTests)
  • J24 – JSON: value sets can't be dictionary keys (JsonDictionaryKeyTests)
  • M09 – LowerBoundComparer is the same instance as RangeLowerBoundComparer.Instance (RangeSetOptimizationTests)
  • M11 – |, &, - operators equal Union, Intersect, Except (SmallModelMultirangeOracleTests)
  • R23 – NodaTime: a non-ISO date past the ISO maximum year throws. The doc was wrong: every NodaTime calendar fits inside ISO's range (the latest, Coptic, ends at ISO 9999-11-10), so the conversion can't fail. The claim became R23-nodatime-iso-normalization-cannot-fail, and the NodaTime README and three XML doc comments are fixed (CalendarBoundaryTests).

The round also wrote the oracle for S07, which disagreed. That's #53.

State on 2026-10-17: 119 of 121 claims are held, and 27 oracles all have a seed. The round is part of 03b0445 in PR #54, together with the machinery (#37). Follow-ups it turned up: #55, #56, #57.

Activity

  1. added
    testsAdds or changes tests only (oracles, harnesses); no library code
    on Oct 17, 2026
  2. CaffeinatedCoder commented on Oct 17, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Delivered in #54 (merged as 6d00f59). Ten of the twelve claims are now held by a test class. A02 and A03 are asserted by the Native AOT consumer in test/consumer-smoke-test.sh. heldBy only accepts test classes, so the catalogue lists those two as unheld, with that reason. The claim S07 that this round disagreed with is #53.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

testsAdds or changes tests only (oracles, harnesses); no library code

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions