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

CSharpInteractiveFormsAndWpf is flaky in standalone runs #6575

Closed
mattscheffer opened this issue Nov 5, 2015 · 13 comments
Closed

CSharpInteractiveFormsAndWpf is flaky in standalone runs #6575

mattscheffer opened this issue Nov 5, 2015 · 13 comments
Assignees
Milestone

Comments

@mattscheffer
Copy link
Contributor

Testcase consistently fails in standalone runs during the SumbitReplText and the start of the testcase. It usually passes on reset however.The error and stack trace are always the same.

Executing action [11/3/2015 4:10:12 PM] SubmitReplText

Tao.Engine.Exceptions.UnexpectedResultException: Output prompt not found after 10000 ms.  Tail of output
k"
. #r "System.Xaml"
> Text

Server stack trace: 
   at Roslyn.VSHosting.Test.RoslynInProcessAPI.WaitForPrompt(Int32 timeout, String prompt)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Roslyn.VSHosting.Test.RoslynInProcessAPI.WaitForPrompt(Int32 timeout, String prompt)
   at Roslyn.VSHosting.Test.SubmitReplTextAction.Execute(TaoEngine engine)
   at Tao.Engine.DebuggableActionExecutor.Execute()
   at Tao.Engine.DefaultActionExecutor.Execute()

image

I'm disabling this test in the standalone runs.

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

That "Text" after the prompt is what's making WaitForPrompt unhappy. Unless the text of the entire window ends with ">", it will fail.

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

The #rs appear to happen only in test initialization, so this must be the first scenario. In fact, we may not even be in the first scenario, since ` is also supposed to submit usings.

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

Another curious point: the screenshot shows the lightbulb next to the second submission. I understood that didn't work (#6587).

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

None of the submissions entered by this test case begin with "Test", so I'm not sure where that's coming from.

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

The last scenario of the preceding test (CSharpInteractiveCommands) does <SetReplText>Text</SetReplText>.

@amcasey
Copy link
Member

amcasey commented Nov 11, 2015

I ran it immediately after CSharpInteractiveCommands locally and it failed 10 times in a row.

@amcasey
Copy link
Member

amcasey commented Nov 12, 2015

At the beginning of the test, we reset the interactive window and then it helpfully restores the unsubmitted text (i.e. "Text"). We just need to clear the window at the end of the scenario (and the beginning of the next one).

@amcasey amcasey closed this as completed Nov 12, 2015
@amcasey amcasey assigned mattscheffer and unassigned amcasey Nov 12, 2015
@dpoeschl
Copy link
Contributor

@amcasey This appears to have failed again now: http://dotnet-ci.cloudapp.net/job/roslyn-internal_master_win_vsi_p0/436/

@dpoeschl dpoeschl reopened this Nov 20, 2015
@dpoeschl
Copy link
Contributor

@amcasey Sorry, the failure I linked to is a different test, but it still has "Output prompt not found after 10000 ms."

@amcasey
Copy link
Member

amcasey commented Nov 20, 2015

Do you have the updated link? It should have a dump of nearby text and (ideally) a screenshot.

@amcasey
Copy link
Member

amcasey commented Nov 20, 2015

@dpoeschl The test expects to find a blank prompt but actually finds > Console.WriteLine("Hello World");. There can't be too many scenarios that produce that text, so I'd guess the fix is to find it and clear the input at the end of the scenario.

@amcasey amcasey assigned amcasey and unassigned mattscheffer Nov 23, 2015
@amcasey
Copy link
Member

amcasey commented Nov 23, 2015

@dpoeschl Have you seen more occurrences?

@amcasey
Copy link
Member

amcasey commented Nov 23, 2015

Tracking the new failure as #6976.

@amcasey amcasey closed this as completed Nov 23, 2015
@amcasey amcasey removed their assignment Nov 23, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants