Skip to content

test: [expected failures] base fixtures needing implementation fixes - #163

Draft
leongdl wants to merge 1 commit into
OpenJobDescription:mainlinefrom
leongdl:conformance-base-expected-failures
Draft

test: [expected failures] base fixtures needing implementation fixes#163
leongdl wants to merge 1 commit into
OpenJobDescription:mainlinefrom
leongdl:conformance-base-expected-failures

Conversation

@leongdl

@leongdl leongdl commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Important

Expected-failure fixtures — do not expect these to pass. Every fixture in this PR is believed spec-correct and FAILS against at least one current reference implementation. They are parked in base/proposed/, which the conformance runner does not discover, so merging keeps the suite green. Per-fixture observed output, spec citation, and classification are in proposed/README.md. When a fix lands, promote the fixture up one directory unchanged.

Contents (8 fixtures)

The int64 template-validation acceptance family (5) — both implementations accept all of these at openjd check despite INT being a 64-bit signed integer:

  • default: 9223372036854775808 (2^63)
  • minValue / maxValue / allowedValues entry at 2^63
  • default: -9223372036854775809 (−2^63−1)

Note the supplied-value branch is already correct in openjd-rs (and a green fixture for it ships in the companion PR); this family covers the template-validation axes, where both implementations still accept out-of-range integers.

Type-name case-sensitivity gate (1)type: string with no extensions: must be rejected (case-insensitivity is EXPR-gated per schema §2). openjd-rs accepts it (unconditionally case-insensitive parsing); the Python CLI correctly rejects. Implementations diverge; Rust-side bug.

§1.2.1 merge widening (2) — a job template that widens an environment template's constraint is accepted by both implementations; Python's merge returns the intersection instead of rejecting. The spec states "each constraint must become more constrained." Either enforce the rule or respecify intersection semantics.

Companion to the green-fixture PR from branch conformance-base-gaps.

Spec-correct fixtures that FAIL against current reference implementations: the int64 acceptance family (default/minValue/maxValue/allowedValues at 2^63, default at -2^63-1), the base type-name case-sensitivity gate, and 1.2.1 merge-widening. Parked in proposed/ (not discovered by the runner) so merging keeps the suite green; per-fixture output, spec citation, and classification in proposed/README.md. Promote each fixture unchanged when its fix lands. Companion to conformance-base-gaps.

Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant