-
Notifications
You must be signed in to change notification settings - Fork 353
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
Arcade limits the TestArchitectures to x64 on .NET Core #1291
Comments
This is because Arcade SDK assumes only a single .NET Core installation, which is 64-bit. |
For the diagnostics and dotnet-diagnostictests repos we need to build and run tests on x86 which this check prevents. I have also tweaked the common build.ps1 to allow an x86 cli/runtime to be installed by passing the architecture through build.ps1 to dotnet-install.ps1. I created an arcade issue and will get these minor change into arcade too.
So I think this error text line should be removed. Without it I can run the debugger tests on x86.
|
@mikem8361 - Any thoughts on next steps? (I saw the PR.....) |
I'm not sure exactly anymore. I abandoned the PR with dotnet install architecture changes. Tomas pointed out some alternatives in the newer Arcade that can be made to work. But the "error text line" in test.targets should still be removed I think. I'll need some time to see if all of this will work for our diagnostic testing; I'm busy with coreclr repo engineering right now. |
WPF will be affected by this as well - our tests are built and run separately for x86 vs x64. /cc: @miguep, @ojhad , @rladuca, @stevenbrix |
@vatsan-madhavan - do you know if @mikem8361 PR #1958 fixes your scenario? |
This will be also needed to support 32bit core testing: #2343 |
Ah yes, good point @tmat |
I finally got to try out @chcosta's MultiFramework changes and found that #1958 comes in very handy. For our tests, we need to match the bitness of dotnet.exe/test runner for 32-bit vs 64 bit - it's not enough to have the right arch of the SDK. In effect, I'm still not able to get our tests to run effectively and might need additional tweaks before we get things working. @chcosta suggested that perhaps we should be running the whole 32-bit build in a WOW process (when running on x64 build machines) - this would have the effect of installing 32-bit sdk (or using x86 global sdk), and running tests using 32-bit runners etc. This seems like a reasonable approach at first glance - I'm wondering if we can add
Future -
Thoughts? |
Bitness of the test runner is generally coupled with the bitness of the tests, which are in turn coupled with the bitnesss of the build itself. At least this is how WPF builds work. Are there other repos that actually decouple |
Yes, we can run 32bit and 64bit tests against .NET Framework: https://github.com/dotnet/arcade/blob/master/Documentation/ArcadeSdk.md#testarchitectures-list-of-strings |
I don't think this is necessary. |
@tmat - oh right, i should remember that most of the universe is made up of |
yes, almost everything is :) |
I think we should:
Then we can also add |
@tmat, @chcosta, is there a way to specify both When I try something like this, I get an error;
|
Having both should be possible once #1291 (comment) is implemented. Also, |
Agreed. That wasn't a scenario initially discussed but tmat's proposal should address it. |
@natemcmaster , any concerns with #1291 (comment) as an evolution of multi-framework? |
It might be simpler to install arch-specific (either Please take a look at this candidate fix: bb5a580 |
It would require fixing up existing code that expects dotnet.exe to be in Also, we have a precendent for this pattern: https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Arcade.Sdk/tools/ProjectLayout.props#L14-L15 |
+1. AspNetCore already installs to As long as we're considering this, could we make the installation include the OS name? |
I'd leave that for another PR. See #1293 |
If we agree adding OS name is something that has value, I figure we should do this now. Might as well not break people twice, right? As you mentioned, any change here will...
|
Not any change. Not if we keep 64bit where it is now. |
@natemcmaster What would be the OS names for various Linux distros? |
Looks like @dsplaisted has a prototype for #1293? |
@tmat I think we're saying the same thing. Emphasis on IF
I don't know if changing to side-by-side x64/x86 folders is worth the break. Nesting a new .NET Core installation inside DOTNET_ROOT seems like something that might be fragile, but I don't have a concrete example. |
@markwilkie Yes, but I think we should address the build outputs (artifacts) naming differently than dotnet dir. |
@natemcmaster I see what you meant. Misunderstood. |
I started a PR for this at #2815 |
@mikem8361 this should be fixed now. ok to close? |
Yes. |
In our dotnet-diagnostictests repo conversion to Arcade I’ve been working on, we want to run the xunit tests on Windows as x86, why does Arcade error on it?
In Test.targets line 39 (Arcade version 1.0.0-beta.18516.5) remove the <Error Text=... below:
The text was updated successfully, but these errors were encountered: