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

Build C++/CLI tests as .NET Core C++/CLI #56502

Merged
6 commits merged into from
Aug 2, 2021
Merged

Conversation

jkoritzinsky
Copy link
Member

Update our C++/CLI tests to build with the /clr:netcore flag.

They'll normally build against the ref pack used to build the managed portions of the repo, but by passing -cmakeargs -DCPP_CLI_LIVE_REF_ASSEMBLIES=1 on the command line for the src/test/build.cmd script, developers can build them against the in-repo ref pack.

I've validated locally that the CPP_CLI_LIVE_REF_ASSEMBLIES option repros the issues seen with static abstract interface members in WPF.

@ghost
Copy link

ghost commented Jul 28, 2021

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

Issue Details

Update our C++/CLI tests to build with the /clr:netcore flag.

They'll normally build against the ref pack used to build the managed portions of the repo, but by passing -cmakeargs -DCPP_CLI_LIVE_REF_ASSEMBLIES=1 on the command line for the src/test/build.cmd script, developers can build them against the in-repo ref pack.

I've validated locally that the CPP_CLI_LIVE_REF_ASSEMBLIES option repros the issues seen with static abstract interface members in WPF.

Author: jkoritzinsky
Assignees: -
Labels:

area-Infrastructure-coreclr

Milestone: -

Copy link
Member

@AaronRobinsonMSFT AaronRobinsonMSFT left a comment

Choose a reason for hiding this comment

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

We should add documentation for the way to build against live build. Perhaps in one of the test document markdown files or under the interop folder?

src/tests/Interop/IJW/getRefPackFolderFromArtifacts.ps1 Outdated Show resolved Hide resolved
@davidwrighton
Copy link
Member

I agree with @AaronRobinsonMSFT unless this is documented, this work will not be found or understood in the future when we need it. Please add something to our markdown.

@jkotas
Copy link
Member

jkotas commented Jul 29, 2021

CPP_CLI_LIVE_REF_ASSEMBLIES

Why can't we make this the default?

@jkoritzinsky
Copy link
Member Author

We can't make this the default since in our current CI build, we build the native tests as part of the CoreCLR product build. So either we build the ref assemblies an extra time in the CoreCLR build which adds more time for every CI run, or we have to re-organize the build, which is a much higher cost than is budgeted for this PR.

Copy link
Member

@AaronRobinsonMSFT AaronRobinsonMSFT left a comment

Choose a reason for hiding this comment

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

The error handling is perfect. Much appreciated!

@ghost
Copy link

ghost commented Aug 2, 2021

Hello @jkoritzinsky!

Because this pull request has the auto-merge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.

@ghost ghost merged commit 3dc99e9 into dotnet:main Aug 2, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 1, 2021
@jkoritzinsky jkoritzinsky deleted the ijw-clr-netcore branch September 28, 2021 00:04
This pull request was closed.
Sign up for free to 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