Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete the --strict flag of the conformance runner #334

Merged

Conversation

timostamm
Copy link
Member

With the --strict flag, the conformance harness requires that a Protovalidate implementation under test produces the expected number of violations, and that the fields constraint_id, field, and rule of each Violation match.

Without the flag, the harness is likely to return false positives. For example, a broken implementation that simply always returns a single empty Violation, passes 43% of the tests:

FAIL (failed: 1584, skipped: 0, passed: 1199, total: 2783)

This concrete example is unlikely to happen in practice, but it illustrates that it's awfully easy for bugs to slip in without --strict. I'm sure the situation was different at some point in time, but with the current suite of tests, it appears to be wise to make --strict the default behavior before we cut a v1.

This PR deletes the flag, which is a breaking change for users of the test harness. The Java, Go, C++, and Ruby implementations all set the flag. They will have to remove the flag, but are otherwise unaffected. I'm happy to hide the flag instead, but removing it seemed like a clean cut.

@timostamm timostamm added the Conformance Related to the conformance testing cases or harness label Mar 11, 2025
Copy link

github-actions bot commented Mar 11, 2025

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMar 11, 2025, 7:07 PM

@timostamm timostamm merged commit 19dee1a into main Mar 11, 2025
7 checks passed
@timostamm timostamm deleted the tstamm/Delete-the---strict-flag-of-the-conformance-runner branch March 11, 2025 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Conformance Related to the conformance testing cases or harness
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants