Skip to content

[QUIC] Added tests to check IsSupported. - #81481

Merged
ManickaP merged 6 commits into
dotnet:mainfrom
ManickaP:mapichov/quic-test-supported
Feb 10, 2023
Merged

[QUIC] Added tests to check IsSupported.#81481
ManickaP merged 6 commits into
dotnet:mainfrom
ManickaP:mapichov/quic-test-supported

Conversation

@ManickaP

@ManickaPManickaP commented Feb 1, 2023

Copy link
Copy Markdown
Member

On Windows, straightforward.

On Linux, I'm probing system for libmsquic existence and if so then checking IsSupported. This should discover installed libmsquic without corresponding dependencies like openssl.
I'm also adding test that expects libmsquic on every tested Linux we have in the matrix and suppressing for known gaps.

Contributes to #81447

@ManickaPManickaP added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Feb 1, 2023
@ghostghost assigned ManickaPFeb 1, 2023
@ghost

ghost commented Feb 1, 2023

Copy link
Copy Markdown

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

On Windows, straightforward.

On Linux, I'm probing system for libmsquic existence and if so then checking IsSupported. I couldn't come up with better way to do this unless we want to explicitly list the docker images which should have libmsquic installed.
This should at least discover installed libmsquic without corresponding openssl (i.e. missing dependency).

Contributes to #81447

Adding NO MERGE as this should fail now on Win11.

Author:ManickaP
Assignees:ManickaP
Labels:

NO-MERGE, area-System.Net.Quic

Milestone:-

@ManickaP
ManickaP requested review from rzikm and wfurtFebruary 1, 2023 15:39
@ManickaP

Copy link
Copy Markdown
MemberAuthor

Thinking about this some more and I think we should be more aggressive. On Linux, on every docker image, we should expect libmsquic. If it's not there, we should add it. If we cannot, we should file an issue and disable the test temporarily, e.g. dotnet/dotnet-docker#4322 (comment).

@ManickaP
ManickaPforce-pushed the mapichov/quic-test-supported branch from cf63fb4 to b1615d8CompareFebruary 3, 2023 12:27
@azure-pipelines

This comment was marked as off-topic.

Assert.ThrowsAsync<PlatformNotSupportedException>(async () => await CreateQuicConnection(new IPEndPoint(IPAddress.Loopback, 0)));
}

[ActiveIssue("https://github.com/dotnet/runtime/issues/73290", typeof(PlatformDetection), nameof(PlatformDetection.IsSingleFile))]

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

@wfurt

wfurt commented Feb 8, 2023

Copy link
Copy Markdown
Member

ATM depends on #81742

why?

@ManickaP

ManickaP commented Feb 8, 2023

Copy link
Copy Markdown
MemberAuthor

ATM depends on #81742

why?

Ohh we don't, you have too many PRs named "update msquic" 😄

We need to pull in microsoft/msquic#3394 for alpine, which was merged into transport in dotnet/msquic#120.

Do we know if it got propagated into the helix images already?

@wfurt

wfurt commented Feb 8, 2023

Copy link
Copy Markdown
Member

alpine-3.17-helix-amd64-20230208010446-6d7b22b and alpine-3.15-helix-amd64-20230208010517-6d7b22b should be ready. However, they did not roll into production yet so it is not possible to use the simplified stamp-less version like alpine-3.17-helix-amd64. Since there probably will be more changes we may not wait.
We can do it as part of this or I was planning to roll it in as contribution to #81801.

@wfurt

wfurt commented Feb 8, 2023

Copy link
Copy Markdown
Member

the image tags are waiting for dotnet/dotnet-buildtools-prereqs-docker#790. Should hopefully happen today.

@ManickaP
ManickaPforce-pushed the mapichov/quic-test-supported branch from bac381e to f9241c4CompareFebruary 8, 2023 19:56
@ManickaP
ManickaPforce-pushed the mapichov/quic-test-supported branch from 73de4ae to 2ea6ef0CompareFebruary 9, 2023 11:09
@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop

@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@dotnetdotnet deleted a comment from azure-pipelinesBotFeb 9, 2023
@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-extra-platforms

@ManickaP

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-libraries-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

public static bool IsRedHatFamily => IsRedHatFamilyAndVersion();
public static bool IsNotRedHatFamily => !IsRedHatFamily;
public static bool IsRedHatFamily7 => IsRedHatFamilyAndVersion(7);
public static bool IsCentos7 => IsDistroAndVersion("centos", 7);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

can we use the IsRedHatFamily7 above?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

It includes RHEL (or rather excludes from testing) as well. So no, I don't think that's advisable as we want exact list of images that are failing.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

they should be basically identical. but I guess they are not:
dotnet/arcade#10253 (comment)

Perhaps something we should investigate. We have at least one of the runs in container so it should be easy to check.

@ManickaP

Copy link
Copy Markdown
MemberAuthor

This is ready for review: @CarnaViire@wfurt

@ManickaPManickaP removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Feb 10, 2023

@CarnaViireCarnaViire left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, thanks! :shipit:

@ManickaP
ManickaP merged commit 5a62a79 into dotnet:mainFeb 10, 2023
@ManickaP
ManickaP deleted the mapichov/quic-test-supported branch February 10, 2023 17:08
@ghostghost locked as resolved and limited conversation to collaborators Mar 13, 2023
@karelzkarelz added this to the 8.0.0 milestone Mar 22, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@ManickaP@wfurt@carlossanlop@CarnaViire@karelz