Skip to content

Conversation

@wtgodbe
Copy link
Member

@wtgodbe wtgodbe commented Aug 4, 2021

Seeing if this is sufficient to satisfy the MsQuicSupported attribute and get quic tests running on at least 1 Linux helix queue.

Partially addresses #34741, but we still need to get tests running on Windows/OSX

@ghost ghost added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Aug 4, 2021
@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

@wtgodbe wtgodbe marked this pull request as ready for review August 4, 2021 23:14
@wtgodbe wtgodbe requested a review from a team as a code owner August 4, 2021 23:14
@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

It works! For now this just runs the tests in public Helix Nightly, and only on Linux (Fedora) - do we want to add them to PR builds?

There is one failing test, Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.QuicStreamContextTests.BidirectionalStream_ServerWritesDataAndDisposes_ClientReadsData(dataLength: 1048576) (and dataLength: 5242880):

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

Assert.Equal() Failure
Expected: 0
Actual: 1

at System.IO.StreamExtensions.ReadUntilEndAsync(Stream stream, Int32 bufferLength, CancellationToken cancellationToken) in //src/Servers/Kestrel/shared/test/StreamExtensions.cs:line 87
at Microsoft.AspNetCore.Testing.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber) in /
/src/Shared/TaskExtensions.cs:line 90
at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.QuicStreamContextTests.BidirectionalStream_ServerWritesDataAndDisposes_ClientReadsData(Int32 dataLength) in //src/Servers/Kestrel/Transport.Quic/test/QuicStreamContextTests.cs:line 104
at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.QuicStreamContextTests.BidirectionalStream_ServerWritesDataAndDisposes_ClientReadsData(Int32 dataLength) in /
/src/Servers/Kestrel/Transport.Quic/test/QuicStreamContextTests.cs:line 109
at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.QuicStreamContextTests.BidirectionalStream_ServerWritesDataAndDisposes_ClientReadsData(Int32 dataLength) in /_/src/Servers/Kestrel/Transport.Quic/test/QuicStreamContextTests.cs:line 109
--- End of stack trace from previous location ---

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

Oh, wait, it is running in the helix matrix on PRs as well, but that's not a blocking check.

@JamesNK
Copy link
Member

JamesNK commented Aug 4, 2021

IMO preemptively mark ALL the tests in the Transport.Quic.Tests project and the Http3RequestTests file as quarantined.

System.Net.Quic is flaky, our bits are flaky, and tests are flaky. I don't want to block other people.

We'll keep an eye on the failure rates of the QUIC and HTTP/3 tests and address tests that fail often.

@Tratcher @adityamandaleeka

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

I don't think the helix nightly matrix runs the flaky tests, so to do that we'd have to include the fedora queue in the regular CI runs - is that right @HaoK?

@Tratcher
Copy link
Member

Tratcher commented Aug 4, 2021

it is running in the helix matrix on PRs as well, but that's not a blocking check.

?

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

?

aspnetcore-helix-matrix runs on PRs but doesn't block them on failure - only aspnetcore-ci is required.

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 4, 2021

Oh, never mind, it doesn't - it's just showing up here because the UI found my build of it against this branch, which I triggered manually. Though I also see a few that were automatically triggered for one of Hao's PRs today, which is also odd.

@HaoK
Copy link
Member

HaoK commented Aug 4, 2021

Yeah so I update the yml in some of my PRs that I want to run helix-matrix so I can see if it works everywhere, like the playwright PR

@HaoK
Copy link
Member

HaoK commented Aug 4, 2021

You can manually trigger a helix-matrix build in the azdo UI too, if you want to do a one off run on a PR

@JamesNK
Copy link
Member

JamesNK commented Aug 4, 2021

What I want:

  • These tests to run often so we get an indication of which are flaky
  • These tests not to block the build from successfully passing

Is there a way to do that?

@HaoK
Copy link
Member

HaoK commented Aug 4, 2021

We do have another pipeline aspnet-quarantined-tests that runs quarantined tests against main, so you can look at for example which runs on all the helix matrix queues: https://dev.azure.com/dnceng/public/_build/results?buildId=1276184&view=ms.vss-test-web.build-test-results-tab

@HaoK
Copy link
Member

HaoK commented Aug 4, 2021

The only issue you might have there is the volume of those runs is low since we no longer run them on timer, I think it only runs on commits to main. But that might be sufficient to get some idea if they are flaky or not

@dougbu
Copy link
Contributor

dougbu commented Aug 5, 2021

We also have the aspnetcore-quarantined-pr and that may be perfect for @JamesNK's wants

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 5, 2021

Ok, quic tests should now run only in aspnetcore-quarantined-pr

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 5, 2021

#35070

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 5, 2021

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 5, 2021

Looks like that worked. Quic tests now run only on fedora in aspnetcore-quarantined-pr (Tests: Helix)

@wtgodbe
Copy link
Member Author

wtgodbe commented Aug 5, 2021

@JamesNK @Tratcher any concerns with this?

Copy link
Member

@JamesNK JamesNK left a comment

Choose a reason for hiding this comment

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

:shipit:

@wtgodbe wtgodbe merged commit dcc23d8 into main Aug 5, 2021
@wtgodbe wtgodbe deleted the wtgodbe/fedoraQuic branch August 5, 2021 20:33
@ghost ghost added this to the 6.0-rc1 milestone Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants