Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: VerifyTests/Verify
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 31.24.2
Choose a base ref
...
head repository: VerifyTests/Verify
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 31.24.3
Choose a head ref
  • 3 commits
  • 10 files changed
  • 1 contributor

Commits on Jul 16, 2026

  1. cleanup

    SimonCropp committed Jul 16, 2026
    Configuration menu
    Copy the full SHA
    ed8491e View commit details
    Browse the repository at this point in the history
  2. Better line ending failure diagnostics (#1799)

    * Improve the invalid line ending failure
    
    The verified file line ending check threw before received was written, so a
    CRLF verified file produced no output at all. That reads as "verify did
    nothing" rather than a line ending problem, and the cause was buried:
    VerifyEngine wraps every exception in "Failed to compare files", so the outer
    message runners surface said nothing about line endings.
    
    Write received before throwing, so the failure produces a snapshot, and
    accepting it rewrites verified with \n endings. Throw a dedicated
    VerifiedLineEndingException that VerifyEngine rethrows unwrapped, and name the
    likely cause (git checking the file out with \r\n) and the .gitattributes fix
    in the message.
    
    Surfaced by VerifyTests/Verify.DiffPlex#474, where the missing output was
    misattributed to Verify.DiffPlex.
    
    Also correct two dead guards. NET10 is not a symbol the SDK defines (it is
    NET10_0), so #if NET10 was always false, and TrailingNewlinesRaw was
    additionally nested inside the #if NET9_0 above it, requiring both symbols.
    TrailingNewlinesRaw, SecondsFractionUpperLong and SecondsFractionUpperShort had
    never compiled; all three pass once the guards are corrected. Notably
    TrailingNewlinesRaw covers the trailing newline half of #1762, which until now
    had no running test.
    
    TrailingNewlinesRaw hand-manages its verified file (delete, write, verify,
    delete), so the tracked NewLineTests.TrailingNewlinesRaw.verified.txt was a
    leftover that every run deletes, leaving a dirty tree. Untrack it, matching
    StringWithDifferingNewline which uses the same pattern. Also remove the
    TrailingNewlinesObject snapshot, whose test is commented out.
    
    * Use the failing file's extension in the line ending message
    
    The suggested .gitattributes line hardcoded *.verified.txt, but the verified
    file may be json, xml, or any other registered text extension, so the
    suggestion did not match the file it was reported against.
    
    Interpolate FilePair.Extension instead, and cover it with a json case. The
    extension being unread would now also fail the build (CS9113).
    SimonCropp authored Jul 16, 2026
    Configuration menu
    Copy the full SHA
    342743b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ffe537d View commit details
    Browse the repository at this point in the history
Loading