chore(deps): update pytest requirement from ==7.*,>=7.4 to ==7.* - #4
Closed
dependabot[bot] wants to merge 1 commit into
Closed
chore(deps): update pytest requirement from ==7.*,>=7.4 to ==7.*#4dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@7.4.0...7.4.1) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
|
@dependabot rebase |
Contributor
|
@dependabot close |
mwiebe
added a commit
to mwiebe/openjd-model-for-python
that referenced
this pull request
Jul 2, 2026
…from model-bindings quality report Addresses the first four recommendations in `reports/model-bindings-quality-evaluation-report.md`. Each item is struck through in the report with a `**Resolved**` note. Empty-steps decode failures surface under `ModelValidationError` rather than v0's `DecodeValidationError`. The v1 binding splits decode-stage (schema-level) failures from model-stage (structural-invariant) failures, with the empty-steps check living in the model validator — this is a deliberate v0 divergence, not a bug. * spec's 'Exceptions' section updated: corrected empty-steps example, divergence note explaining the split and recommended catch-tuple * strengthened the existing regression test in test_parse.py to assert the full message body per the AGENTS.md test quality standard The Python str-Enum shim for `TemplateSpecificationVersion` was already removed in a prior change; the Rust pyclass at `openjd._openjd_rs.TemplateSpecificationVersion` is the single canonical class, re-exported identity-preserving from `openjd.model._v1`. The regression test had become passing (no `xfail` marker) but was still parked in `test_known_gaps.py`. * test moved to test_version_enums.py::TestTemplateSpecificationVersion ::test_template_specification_version_returned_from_decode with strengthened identity / value / string-equality assertions * spec's 'Pickle Support' section: stale 'str-Enum shim' paragraph corrected — pickle goes directly through the module-level `_reconstruct_enum` helper; pickle table now lists both spec-revision enums explicitly The upstream `MergedParameterDefinition::default` is `Option<String>` — every variant is stringified through `default_value()`. The binding contract per the spec is that callers receive the default in its native Python type (`int` for INT, `float` for FLOAT, `list[T]` for LIST[T], etc.). * new `default_to_native` helper in create_job_fns.rs dispatches on `JobParameterType` and parses the stringified default back via `str::parse` / `serde_json::from_str`; parsing failures fall back to the raw string as a defensive guard * pre-existing parametrized expectations in test_merge_job_parameters.py::TestMergeTemplates_v2023_09 updated to native form (`'default': 8` vs `'default': '8'`) * two int/float xfail tests moved out of test_known_gaps.py and expanded into a full TestMergeDefaultNativeTypes class covering all 10 type variants with type-identity assertions The upstream `MergedParameterDefinition` struct does not surface a description field — only `name` / `param_type` / `default` / `object_type` / `data_flow` / `source` / merged constraints. v0 carried it on the typed pyclass merged result, so v1 was losing per-parameter human-readable text that downstream tooling (deadline-cli's parameter-prompt UI) relies on for parameter labels. * py_merge_job_parameter_definitions now walks env templates in order then the job template, building a name→description `HashMap`. Later descriptions overwrite earlier ones, matching how the upstream merge tracks `default` * the merged dict carries the `description` key only when at least one contributing template provided one (consistent with how `default` / `objectType` / `dataFlow` are conditionally emitted) * spec's 'Return shape' key list now lists `description` with its last-wins ordering semantics * xfail test moved out of test_known_gaps.py and expanded into a 5-case TestMergeDescriptionPropagation class * python -m pytest test/openjd/model_v0 test/openjd/model_v1 → 3269 passed (+5 from the new tests), 0 xfails * python -m pytest test/ → 5131 passed, 24 skipped, 3 unrelated `expr` xfails * cargo clippy --manifest-path rust-bindings/Cargo.toml --all-targets -- -D warnings → clean * No public binding signatures changed; _openjd_rs.pyi unchanged Signed-off-by: Mark <399551+mwiebe@users.noreply.github.com>
mwiebe
added a commit
that referenced
this pull request
Jul 3, 2026
Addresses the first four recommendations in `reports/model-bindings-quality-evaluation-report.md`. Each item is struck through in the report with a `**Resolved**` note. Empty-steps decode failures surface under `ModelValidationError` rather than v0's `DecodeValidationError`. The v1 binding splits decode-stage (schema-level) failures from model-stage (structural-invariant) failures, with the empty-steps check living in the model validator — this is a deliberate v0 divergence, not a bug. * spec's 'Exceptions' section updated: corrected empty-steps example, divergence note explaining the split and recommended catch-tuple * strengthened the existing regression test in test_parse.py to assert the full message body per the AGENTS.md test quality standard The Python str-Enum shim for `TemplateSpecificationVersion` was already removed in a prior change; the Rust pyclass at `openjd._openjd_rs.TemplateSpecificationVersion` is the single canonical class, re-exported identity-preserving from `openjd.model._v1`. The regression test had become passing (no `xfail` marker) but was still parked in `test_known_gaps.py`. * test moved to test_version_enums.py::TestTemplateSpecificationVersion ::test_template_specification_version_returned_from_decode with strengthened identity / value / string-equality assertions * spec's 'Pickle Support' section: stale 'str-Enum shim' paragraph corrected — pickle goes directly through the module-level `_reconstruct_enum` helper; pickle table now lists both spec-revision enums explicitly The upstream `MergedParameterDefinition::default` is `Option<String>` — every variant is stringified through `default_value()`. The binding contract per the spec is that callers receive the default in its native Python type (`int` for INT, `float` for FLOAT, `list[T]` for LIST[T], etc.). * new `default_to_native` helper in create_job_fns.rs dispatches on `JobParameterType` and parses the stringified default back via `str::parse` / `serde_json::from_str`; parsing failures fall back to the raw string as a defensive guard * pre-existing parametrized expectations in test_merge_job_parameters.py::TestMergeTemplates_v2023_09 updated to native form (`'default': 8` vs `'default': '8'`) * two int/float xfail tests moved out of test_known_gaps.py and expanded into a full TestMergeDefaultNativeTypes class covering all 10 type variants with type-identity assertions The upstream `MergedParameterDefinition` struct does not surface a description field — only `name` / `param_type` / `default` / `object_type` / `data_flow` / `source` / merged constraints. v0 carried it on the typed pyclass merged result, so v1 was losing per-parameter human-readable text that downstream tooling (deadline-cli's parameter-prompt UI) relies on for parameter labels. * py_merge_job_parameter_definitions now walks env templates in order then the job template, building a name→description `HashMap`. Later descriptions overwrite earlier ones, matching how the upstream merge tracks `default` * the merged dict carries the `description` key only when at least one contributing template provided one (consistent with how `default` / `objectType` / `dataFlow` are conditionally emitted) * spec's 'Return shape' key list now lists `description` with its last-wins ordering semantics * xfail test moved out of test_known_gaps.py and expanded into a 5-case TestMergeDescriptionPropagation class Also refreshes `THIRD-PARTY-LICENSES.txt` for a Python-side dep bump (`typing_extensions` 4.15.0 → 4.16.0) so the `third_party_licenses` CI job stays green. Regenerated via `bash scripts/check_third_party_licenses.sh --update`. * python -m pytest test/openjd/model_v0 test/openjd/model_v1 → 3269 passed (+5 from the new tests), 0 xfails * python -m pytest test/ → 5131 passed, 24 skipped, 3 unrelated `expr` xfails * cargo fmt --check → clean * cargo clippy --all-targets -- -D warnings → clean * cargo-deny check licenses bans sources → ok * THIRD-PARTY-LICENSES.txt sync check → up to date * No public binding signatures changed; _openjd_rs.pyi unchanged Signed-off-by: Mark <399551+mwiebe@users.noreply.github.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the requirements on pytest to permit the latest version.
Release notes
Sourced from pytest's releases.
Commits
7855a72Improve CI workflow7a0a0e8Prepare release version 7.4.1fbcfd3a[7.4.x] Update CONTRIBUTING.rst (#11371)b170081[7.4.x] Issue 11354 fixing docs for lfnf (#11364)7a5f2fe[7.4.x] Fixes for typed pluggy (#11355)6914071[7.4.x] Improve duplicate values documentation (#11296)5c7c3f6Merge pull request #11294 from The-Compiler/pluggy-py38ba40975ci: Use Python 3.8 to test latest pluggye3fe728[7.4.x] doc: Link pytest.main to how-to guide (#11290)34c7394[7.4.x] doc: update information about assertion messages (#11286)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)