Skip to content

test: Add 13 extended-parameter-type conformance fixtures - #158

Open
leongdl wants to merge 1 commit into
OpenJobDescription:mainlinefrom
leongdl:conformance-param-types-gaps
Open

test: Add 13 extended-parameter-type conformance fixtures#158
leongdl wants to merge 1 commit into
OpenJobDescription:mainlinefrom
leongdl:conformance-param-types-gaps

Conversation

@leongdl

@leongdl leongdl commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

13 extended-parameter-type fixtures from a coverage audit of RFC 0007. Suite: EXPR 350 → 363 passing, 0 failing; base unchanged.

Areas covered

  • int64 accept twins on list element types: LIST[INT] element and LIST[LIST[INT]] inner element at 2^63−1 accepted — the data-axis boundary the audit found untested for every container type.
  • First-ever LIST[BOOL] runtime coverage (the audit found EXPR/jobs/ had no 2.15--* file at all): element values reaching the task, and interpolation rendering. Note: these two fixtures pass on openjd-rs and currently FAIL on the Python CLI (TypeError: List contains incompatible types: bool, string) — they are live divergence catchers, green against the reference implementation.
  • Mixed-case type spellings: LiSt[iNt] and friends accepted with EXPR (job parameters).
  • Normative prohibitions: BOOL + allowedValues rejected; item: on LIST[BOOL] rejected; LIST[LIST[LIST[INT]]] triple nesting rejected — all stated in the schema, none previously tested.
  • LIST[PATH] element constraints: item.allowedValues accept + violation pair (previously appeared in zero fixtures).
  • Indexed-element property access: {{Param.Paths[0].stem}} — the subscript route of the known property-access bug class; verified NOT affected.
  • RANGE_EXPR endpoint overflow reject and a LIST[STRING] wrong-item-type negative (numeric elements rejected, no silent YAML coercion — verified on both implementations).

Companion PR

Five spec-correct fixtures that FAIL today (list-element 2^63 acceptance in both implementations, the openjd-rs 2^62 endpoint cap, task-parameter case-insensitivity unimplemented in both, base lowercase type acceptance in openjd-rs) are in the expected-failures PR (branch conformance-param-types-expected-failures).

13 fixtures from the RFC 0007 coverage audit: int64 accept twins for LIST[INT] and LIST[LIST[INT]] elements, weird mixed-case job parameter type spellings, first-ever LIST[BOOL] runtime coverage, three normative prohibitions (BOOL+allowedValues, item: on LIST[BOOL], triple-nested list), LIST[PATH] item.allowedValues pair, indexed-element property access Param.Paths[0].stem, RANGE_EXPR endpoint overflow reject, and a LIST[STRING] wrong-item-type negative. Suite: EXPR 350 -> 363 passing. Spec-correct fixtures that FAIL today are split to conformance-param-types-expected-failures.

Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
@leongdl
leongdl requested a review from a team as a code owner August 2, 2026 02:38
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