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

Remove additional TL characters from the dotnet run output special casing for tests #44442

Open
wants to merge 2 commits into
base: release/9.0.1xx
Choose a base branch
from

Conversation

marcpopMSFT
Copy link
Member

I've seen this test fail a couple of times in the past week or so and it always seems to pass on rerun. Since I only noticed it failing when targeting 2.1, it didn't seem worth keeping these specific versions of the test around and taking time to investigate. Let me know if you think it's worth investigating.

https://dev.azure.com/dnceng-public/public/_build/results?buildId=852383&view=ms.vss-test-web.build-test-results-tab&runId=22136852&resultId=103685&paneView=debug

Expected string to be equivalent to ".NET Core 2.1" with a length of 13, but "�[?25l�[1F
�[?25h.NET Core 2.1" has a length of 31, differs near "�[?" (index 0).

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Request triage from a team member labels Oct 24, 2024
Copy link
Member

@dsplaisted dsplaisted left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with disabling this test, but the way that it is failing seems to be weird and not very likely to be specific to the 2.1 versions.

Maybe it's an issue with StripTerminalLoggerProgressIndicators. Any thoughts @baronfel?

@baronfel
Copy link
Member

Those ESC codes are for making the curor visible/invisible:

combo command
ESC[?25l make cursor invisible
ESC[?25h make cursor visible

The progress indicators are separate - I'm not sure how or why those are appearing for these legs. Nothing in TL itself cares about TFMs so I'm not sure what functionality toggle is being hit here.

@baronfel
Copy link
Member

@rainersigwald I think this is an artifact of the TL capability detection stuff too - I think recently @MichalPavlik did some work to make sure TL wouldn't emit some control codes in certain scenarios, but the TL used in dotnet run may not have access to that results of that detection and so it's unconditionally emitting those show/hide commands. We might need to expose more of the detection info there, or make TL take parameters to skip certain kinds of output, or something?

@rainersigwald
Copy link
Member

There's dotnet/msbuild#10678 but that was about making sure we told the Windows console that we were going to emit VT-100. I don't think we've changed anything that should affect this recently, and I don't understand why it'd be intermittent of all things . . .

@marcpopMSFT
Copy link
Member Author

I'm not sure why it would show up sometimes but not others but that's definitely the behavior we've seen.

Here's a recent run where only one of the four theories for this test failed:
helix console results

@marcpopMSFT
Copy link
Member Author

Add the two additional character removals to see if that solves this instead.

@kasperk81
Copy link
Contributor

rename title to remove additional TL characters?

@marcpopMSFT marcpopMSFT changed the title Remove net2.1 targets for test that's failing sometimes Remove additional TL characters from the dotnet run output special casing for tests Oct 28, 2024
@marcpopMSFT marcpopMSFT added Branch Lockdown and removed untriaged Request triage from a team member labels Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants