Strengthen regression tests and remove redundant coverage - #1950
Merged
Conversation
Use distinct masks and stale cached values to expose wrong attribute dispatch and cache updates. Correct readWriteMask to request WriteMask.
Coordinate held tasks explicitly, bound completion waits, and report worker failures. Verify shutdown waits for release without a narrow timing assertion.
Observe recovery states before triggering transitions and bound every new wait. Verify Bad_SessionClosed and release clients and observers on failure.
Bound asynchronous setup and attempt every cleanup step after partial setup or failure. Preserve the first failure and suppress later failures; exercise these paths directly.
Require the complete ordered result after all groups finish, including reverse completion. Check mapper failures and mismatched result sizes.
Reuse golden XML to verify timestamps, picoseconds, and omitted metadata. The indented fixtures expose status-code decoding that reads a whitespace node instead of the Code element; select the first element child. Also check the decoded ExtensionObject array and its Argument contents.
Retain existing client and server tree contracts. Give the asynchronous builders deadlines and known subtype assertions instead of discarding their results.
Expose each distinct channel configuration as a named parameter. Preserve padding sweeps, security modes, 4096-bit keys, and authenticated corruption cases.
Replace the size product with named boundary cases and controlled termination responses. Cover trailing junk, ignored ranges, null fragments, and bad statuses with bounded reads.
Combine below, equal, and above-threshold cases in one ordered scenario. Retain timed suppression windows and verify delivery against the last reported value; keep range, array, and invalid-filter coverage.
Remove browse and read methods already covered by stronger assertions. Change a server description and verify refresh results and the updated client cache.
Add distinct scalar, array, and matrix data plus member, optional-presence, and union assertions. Retain static-versus-dynamic encoding comparisons and existing default and null cases.
Check generated XML and parsed field metadata, and retain known built-in content checks. Remove redundant parser smoke coverage and replace string comparisons with structural equality and complete consumption.
Request a snapshot during a held transition and verify the coherent completed state. Keep the stress sweep with mutator progress, observation, and cleanup guarantees.
Check pipeline refill and recovery probes instead of private ceiling counters. Retain deterministic activation setup and the session-binding and beyond-64 republish regressions.
Run the profiling experiment only with -Dmilo.eventTiming=true. Keep functional ownership, deletion, and rollback tests in the default suite.
These four sources contain no executable coverage and refer to obsolete stack APIs. Git history retains their scenarios.
Strengthen defensive-copy assertions to compare complete arrays. Replace record accessor echoes with SecurityKeyset.from checks for directional material and unsigned identifiers.
Keep wildcard delegation, operand conversion, null handling, and malformed-pattern mapping at the operator layer. Grammar and pathological-pattern regressions remain in LikeMatcherTest.
Retain stronger caching, replacement, failure-recovery, and concurrency tests in each class. Verify a null computation is retried and can produce a value.
Keep complete SAN lists and CSR extension assertions. Parse the generated PEM and compare the CSR to protect that separate encoding boundary.
Retain exact, absent, selective, and all-result matching plus case sensitivity and malformed-pattern status mapping. Shared matcher tests cover the removed grammar rows.
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.
Remove redundant smoke tests and duplicate scenarios while strengthening tests that could pass on incomplete results, confused attributes, or unobserved asynchronous work. Retained coverage checks complete decoded values, independent attribute caches, protocol boundaries, and observable publishing behavior. Asynchronous tests use bounded waits, coordinated state changes, and cleanup that reports failures.
The stronger assertions expose two production defects, both fixed here.
UaNode.readWriteMask()requested UserWriteMask and cached it as WriteMask. XML status-code decoding read indentation whitespace instead of the Code element. Distinct attribute fixtures and indented golden XML now protect these paths.Existing matcher, type-tree, codec, and lifecycle contracts retain the coverage behind the removals. The event-creation timing experiment remains available with
-Dmilo.eventTiming=trueand is excluded from default execution.Verified with
mise exec -- mvn -q spotless:apply,mise exec -- mvn -q clean compile, focused reactor verification, and fullmise exec -- mvn -q verify. Full verification passed with no failures or errors and four expected skips. The WriteMask regression was also run against the old dispatch and failed with the expected value mismatch before the fix was restored.