Document which mock behavior is unverified against real Vuforia - #3547
Closed
adamtheturtle wants to merge 6 commits into
Closed
Document which mock behavior is unverified against real Vuforia#3547adamtheturtle wants to merge 6 commits into
adamtheturtle wants to merge 6 commits into
Conversation
A test which runs against the mocks only passes, counts towards coverage and reads like verification, so nothing distinguished a claim checked against real Vuforia from one copied out of its documentation. Every test which never reaches the real Vuforia now declares which of three reasons applies with a ``mock_only`` marker, or an explicit ``no-vuforia-claim`` when it says nothing about Vuforia at all. Collection fails without one, and a marked test does not run against the real Vuforia even when parametrized over it, so four tests which skipped that backend by hand are no longer counted as verified. ``verification.toml`` records the resulting split per API, and ``admin/verification_report.py`` fails when a count moves the wrong way. A test which gives up while running is recorded and named in the run rather than xfailing or skipping silently. ``docs/source/unverified-behavior.rst`` inventories every unverified claim, and ``differences-to-vws.rst`` marks its unverified assumptions apart from its deliberate differences. Closes #3445. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Conflicts, and the work which the merge made necessary: ``tests/mock_vws/test_docker.py``: main moved ``requires_docker_build`` from the test to a module-level ``pytestmark``, which is where this branch put its ``mock_only`` declaration. Both marks now go in one list. ``pyproject.toml``: main added ``pytestmark`` to the names which ``vulture`` ignores, as this branch did. ``tests/mock_vws/test_httpx2_mock_usage.py``: main added a module, which collection rejected until it was classified by the API it exercises and declared as mock-only. Its tests make no claim about real Vuforia; they exercise the mock's interception of ``httpx2``. An unclassified module now fails collection with a message saying what to do, rather than with an internal error, which is how this one reported itself. ``verification.toml``: the mock tooling count rises by the 27 tests which main added, all of them ``no-vuforia-claim``. Nothing which was verified stopped being verified. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
adamtheturtle
temporarily deployed
to
vuforia
September 5, 2026 15:50 — with
GitHub Actions
Inactive
The pytester subprocess runs in tests/mock_vws/test_verification.py record absolute file paths, because the subprocess working directory is a temporary directory rather than the repository. Data measured on the Windows runner therefore reached the Linux combine job as D:/a/... paths that coverage could not map back to a source file, and the coverage job failed with "No source for code". Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Remove the mock_only marker, the collection-time enforcement plugin, the recorded per-API split in verification.toml, the report tool and its pre-push hook, the runtime unverified accounting, and the per-test declarations, reverting the test helpers to their main versions. The inventory in docs/source/unverified-behavior.rst and the marked assumptions in differences-to-vws.rst stay. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Member
Author
|
Superseded by #3552, which carries the same commits from this workspace's branch. |
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.
A test which runs against the mocks only still passes and still reads like verification, so nothing told a user of the mock which of its claims had been checked against the real Vuforia Web Services and which were copied out of Vuforia's documentation.
docs/source/unverified-behavior.rstinventories all 17 unverified claims, grouped as temporarily unverifiable, inherently unverifiable or never attempted, with what would verify each.differences-to-vws.rstnow says which of its statements are deliberate differences, which are unimplemented behavior and which are unverified assumptions, and each unverified assumption links to its inventory entry.Closes #3445.
🤖 Generated with Claude Code