Update unix build to include solution parameter#82527
Draft
Update unix build to include solution parameter#82527
Conversation
JoeRobich
commented
Feb 25, 2026
…tion - LspFileChangeWatcherTests: Use TempRoot path instead of hardcoded Z:\ path - TestLspClient: Use full socket path for NamedPipeServerStream on Unix - WorkspaceTestBase: Normalize backslash paths in CreateFiles and GetSolutionFileName - NetCoreTests: Normalize path separators in DotNetRestore and DotNetBuild - NewlyCreatedProjectsFromDotNetNew: Skip WPF/WinForms templates on non-Windows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…nly markers - SolutionTests: Replace hardcoded Z:\ paths with cross-platform s_testFileRoot helper - CommandLineProjectTests: Mark 12 tests as WindowsOnly (use Windows path semantics) - CommandLineProjectWorkspaceTests: Mark TestLoadProjectFromCommandLine as WindowsOnly - FilePathUtilitiesTests: Mark 8 tests as WindowsOnly (test Windows path behavior) - GeneratedCodeRecognitionTests: Fix z:\ paths with cross-platform helper - SectionParserTests: Move Windows glob tests to WindowsOnly theory Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- EditAndContinueMethodDebugInfoReaderTests: Split native PDB test case to WindowsOnly - EmitSolutionUpdateResultsTests: Fix backslash in relative path for cross-platform Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use .ReplaceLineEndings() to normalize CRLF vs LF differences in console output comparisons across platforms. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- DiffUtilTests: Use ReplaceLineEndings() for cross-platform assertion - StringTextTest/LargeTextTests: Detect actual newline length from text instead of using Environment.NewLine.Length, which differs between platforms when source files use CRLF line endings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- AnalyzerAssemblyLoaderTests: Normalize line endings with ReplaceLineEndings - AnalyzerFileReferenceTests: Normalize both expected and actual strings - SarifErrorLoggerTests: Add ReplaceLineEndings to JSON output assertions - SuppressMessageAttributeCompilerTests: Mark test as WindowsOnly Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…NewLine When no editorconfig sets end_of_line, the formatter defaults to Environment.NewLine which produces different output on Windows vs Linux. Change default to CRLF for consistent cross-platform behavior. This only affects cases where end_of_line is not explicitly set. Projects with an editorconfig end_of_line setting are unaffected. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- OrganizeUsingsTests: Use OrganizeImportsOptions.Default.NewLine instead of Environment.NewLine for consistent cross-platform behavior - FormattingTests: Use LineFormattingOptions.Default.NewLine in AssertFormatBodyAsync transform helper - FormattingTriviaTests: Use LineFormattingOptions.Default.NewLine in FormatWithTabs test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add .ReplaceLineEndings() to normalize XML output comparison which uses Environment.NewLine for line endings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ndling Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ixes - FeaturesTestCompositions: Skip OOP test host on non-Windows (TemporaryStorageService is Windows-only) - AbstractCodeActionOrUserDiagnosticTest: Guard InProcRemoteHostClientProvider access with Windows check - CSharpAddDocCommentNodesCodeFixProvider: Use LineFormattingOptions.Default.NewLine instead of Environment.NewLine - FormattingAnalyzerTests: Use explicit CRLF in TrailingWhitespace test - RemoveUnnecessaryImportsTests: Use Path.DirectorySeparatorChar for source generator paths - ConvertToRecordCodeRefactoringTests: Use Path.DirectorySeparatorChar for source generator paths Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tions - XmlDocCommentTests: Replace Environment.NewLine with literal CRLF in 67 assertions - PreprocessorTests: Replace Environment.NewLine with literal CRLF in 10 assertions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes ~1000+ CompileAndVerify test failures on Linux where program output uses LF but expected strings from CRLF source files have CRLF. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- ConstantTests: Use literal CRLF in ParseAndGetConstantFoldingSteps - UnsafeTests: Use literal CRLF in CheckIfVariablesNeedFixing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- ConstantTests: Use CRLF in ParseAndGetConstantFoldingSteps helper - UnsafeTests: Use CRLF in CheckIfVariablesNeedFixing helper - CompilationEmitTests: Normalize XML doc output line endings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ency - CSharpTestSource.Parse: Normalize source text to CRLF before creating SourceText - BasicTestSource.Parse: Same fix for VB test infrastructure - WithWindowsLineBreaks: Use ReplaceLineEndings instead of Replace to avoid double-converting \r\n when files already have CRLF line endings Fixes 217 PDB test failures in CSharp.Emit2.UnitTests on Linux. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Change Assert.Equal to AssertEx.Equal for all GetDocumentationCommentXml() comparisons with multi-line expected strings. AssertEx.Equal normalizes line endings, preventing failures when actual output uses \n instead of \r\n. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ests - EditScriptDescription.VerifyEdits: Normalize line endings to LF before comparison so raw string expected values match on Linux - ConvertBetweenRegularAndVerbatimStringTests: Use Environment.NewLine-based escape sequences for platform-correct expected output - ConvertBetweenRegularAndVerbatimInterpolatedStringTests: Same fix Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…resTests The CRLF normalization in analyzer verifiers was causing mixed line endings on Linux. Source normalized to CRLF but code fixes insert text with LF on Linux. Fix: Remove all CRLF normalization and FormattingOptions2.NewLine from verifiers. Also fix TestOverrideCompletionWithOutCommonReferences. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
OnAutoInsert_EnterKey3: Doc comment generation returns null on Linux (handler bug). OnAutoInsert_RawString_GrowDelimitersWhenEndExists_Interpolated: Same issue. FileRenamed_InWatchedDirectory_FireEventForOriginalPath: FileSystem watcher behavior difference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ProtocolConversions BackslashPaths: AlwaysSkip with runtime issue link. RemoteE&C OOP: Skip OutOfProcess on non-Windows (OOP not available). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ation
- Fix ___BEGIN___COMMAND_DONE_MARKER___$LASTEXITCODE to ___BEGIN___COMMAND_DONE_MARKER___$LASTEXITCODE$ raw string interpolation in EscapedCurlyBracesInVerbatimString test
to correctly produce literal {{1}} in expected output
- Remove CRLF normalization from AbstractSnippetProviderTests since the Formatter
uses Environment.NewLine (platform-native), not hardcoded \r\n
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The verifier infrastructure no longer normalizes to CRLF, so the Copilot test helper should not normalize the replacement node to CRLF either. On Linux, the test source has LF and the Formatter produces LF. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The ConvertToRawString refactoring converts escape sequences like \r\n to raw string content. On Linux, the raw string line endings are LF, so the conversion changes the string value from CRLF to LF - a production code bug. Skip these tests on non-Windows platforms. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Re-add CRLF normalization in AbstractSnippetProviderTests because NormalizeWhitespace() produces \r\n positions regardless of platform - Change EndOfDocumentSequences from \r\n to Environment.NewLine in: - ConvertToBlockScopedNamespaceAnalyzerTests - ConvertToTopLevelStatementsAnalyzerTests - ConvertNamespaceRefactoringTests - Fix MakeMethodSynchronousTests.RemoveAsyncKeepsTrivia to use ReplaceLineEndings() on expectedReturn parameter Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tests Code actions generate code via SyntaxFactory/NormalizeWhitespace which always produce \r\n line endings regardless of platform. On Linux where Environment.NewLine is \n, the Formatter produces \n, creating mixed line endings in the actual output that don't match the expected \n-only test data. Fix by: - Always including end_of_line=crlf in the test editorconfig so the Formatter also produces \r\n, matching NormalizeWhitespace output - Normalizing TestCode/FixedCode/BatchFixedCode to \r\n in all 4 verifier Test classes (C#/VB code fix and refactoring verifiers) - Always adding end_of_line=crlf editorconfig in snippet tests - Making CompletionFeaturesTests caret position platform-aware Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The EnablePreviewSdks PowerShell script is Windows/Visual Studio-specific and cannot run on Linux where PowerShell is not installed. The powershell command was being added unconditionally to command.sh, causing all Linux Helix work items to exit with code 1. Wrap the call in a platform check so it only runs on Windows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… tests The 'new' property setters on TestCode/FixedCode only work when tests set those properties directly. Many tests set TestState.Sources and FixedState.Sources instead, bypassing the normalization. Move CRLF normalization into RunImplAsync where it processes all source files in TestState, FixedState, BatchFixedState and their additional projects. This ensures consistent CRLF line endings regardless of how tests provide their source code. Also fix Copilot tests that parse replacement code with SyntaxFactory.ParseMemberDeclaration - the test data strings have platform-native line endings which need to be normalized to CRLF. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… set Tests that explicitly set FormattingOptions2.NewLine (e.g. to '\n') intentionally test specific line ending behavior. The RunImplAsync CRLF normalization should not override their intentional line ending choice. This fixes 3 Windows test failures: - TestImplementIDisposable_DisposePattern_LF_EndOfLine - FileHeaderTests.TestNoFileHeaderAsync(lineEnding: '\n') (C# and VB) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Wrapping tests: Normalize input/output to CRLF in AbstractWrappingTests (C# and VB) so the wrapping code's 'already existing style' detection works consistently when the editorconfig generates CRLF trivia. - FixAll tests: Add EnsureEditorConfigInAdditionalProjects to propagate end_of_line=crlf editorconfig to additional projects so code fixes that modify documents across projects produce consistent line endings. - Global config: When EditorConfig uses is_global=true, add a separate regular editorconfig for end_of_line=crlf since global configs don't support file glob sections like [*.cs]. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…and BatchFixedState The test framework's VerifyProjectAsync checks that AnalyzerConfigFiles count matches between the expected state and actual project. When we added editorconfig to TestState's additional projects, the FixedState/BatchFixedState additional projects still had 0 AnalyzerConfigFiles, causing a mismatch. Apply the editorconfig to all three states to keep them consistent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- TestAsync: Change ReplaceLineEndings() to ReplaceLineEndings("\r\n") so legacy
test infrastructure normalizes markup to CRLF on all platforms. This matches
SyntaxFactory/NormalizeWhitespace which always generates CRLF, ensuring wrapping
code's 'already existing style' detection works consistently.
- SharedVerifierState: When EditorConfig is a global config (is_global=true), place
it at /.globalconfig instead of /.editorconfig. This frees /.editorconfig for a
regular editorconfig with end_of_line=crlf that actually covers all test files.
Previously the regular editorconfig was at /src/.editorconfig which didn't cover
test files at /0/... paths.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rcing
- Add ReplaceLineEndings() to TestActionCountAsync to match TestAsync behavior.
Both methods now consistently normalize markup to platform-native line endings,
fixing DoNotOffer wrapping test failures on Linux where TestActionCountAsync
was using raw CRLF source while wrapping code generated LF trivia.
- Revert ReplaceLineEndings("\r\n") back to ReplaceLineEndings() in TestAsync.
Forcing CRLF broke ConvertBetweenRegularAndVerbatimString tests (different escape
sequences for \r\n vs \n in verbatim strings) and caused mixed-ending issues in
wrapping Initializer/Collection/Chained tests.
- Revert CRLF normalization from AbstractWrappingTests.cs and
AbstractParameterWrappingTests.vb. With consistent normalization in both
TestAsync and TestActionCountAsync, wrapping tests work correctly on both
platforms without source-level CRLF forcing.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TestChangeNamespaceAsync has its own comparison logic that bypasses the ReplaceLineEndings() normalization in TestAsync/TestOperationsAsync. On Linux, the code fix produces LF for modified lines while the test markup has CRLF, causing assertion failures. Add ReplaceLineEndings() to: - Input markup (initialMarkUp, expectedSourceOriginal, expectedSourceReference) - Actual text comparison points (actualText, actualRefText) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…structure - Change verifier test infrastructure from 'force CRLF everywhere' to 'use platform-native line endings'. The Roslyn formatter normalizes all EndOfLine trivia to match end_of_line, so NormalizeWhitespace's \r\n is converted to \n on Linux by the formatter. - Fix z:\ root path in MakeProjectsAndDocumentsRooted for Linux (use / on Unix) - Update all 4 verifier Test classes (C#/VB CodeFix/Refactoring) - Update CodeFixVerifierHelper, SharedVerifierState, AbstractSnippetProviderTests - Fixes ChangeUsingsInMultipleContainers and wrapping DoNotOffer on Linux Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…a opt-out The platform-native line ending approach failed because the Roslyn formatter only normalizes EndOfLine trivia it touches during formatting, not ALL trivia in the document. Code fixes that insert \r\n (via NormalizeWhitespace) can leave stray \r\n in the result on Linux. Revert verifier infrastructure back to forced CRLF normalization (which works for the majority of tests), and add a targeted opt-out for the MatchFolderAndNamespace tests: the ChangeNamespace code fix uses Environment.NewLine directly, so those tests set FormattingOptions2.NewLine to skip CRLF normalization and use platform-native line endings instead. SharedVerifierState.Apply() now respects the FormattingOptions2.NewLine option when generating the regular editorconfig for global-config tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ntTo Add virtual NormalizeMarkup in legacy test base, override in wrapping test base classes to force CRLF. Add SetParameterDefaults override to ensure FormattingOptions2.NewLine is set for all wrapping test paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The XML doc comment referenced SyntaxNode.IsEquivalentTo which is ambiguous (two overloads). With --warnaserror in Correctness builds, this CS0419 warning was promoted to an error, failing Correctness_Analyzers, Correctness_Determinism, and Correctness_Bootstrap_Build_Default. Removed the <see cref> tag and used plain text instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
|
/azp run roslyn-CI |
|
Azure Pipelines successfully started running 1 pipeline(s). |
- Fix 10 CSharpRegexParserTests NegativeTests: convert hardcoded English diagnostic messages to FeaturesResources interpolation - Fix 6 TopLevelEditingTests: use GetResource/DeletedSymbolDisplay for localized E&C diagnostic arguments - Add operator mapping to EditingTestBase.TryGetResource - Add IsEnglishLocal to LSP tests with hardcoded English strings: CompletionTests (3), CodeActionsTests (4), CompletionFeaturesTests (3), HoverTests (1) - Add IsEnglishLocal to EnableNullableTests.IgnoreGeneratedCode and RemoveUnnecessaryCastTests.RemoveUnnecessaryCastAndParseCorrect Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The TestGetRegexCompletionsReplaceTextAsync and TestGetRegexCompletionsWithoutItemDefaultSupportAsync tests have locale-dependent completion descriptions that fail on non-English locales. Add ConditionalTheory(typeof(IsEnglishLocal)) to skip them on non-English CI machines. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This test uses AssertReleased() which relies on non-deterministic GC behavior and fails on Linux CI under load. Seven sibling tests using the same pattern are already skipped with issue #13433. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.


No description provided.