Remove "UnsupportedPlatforms" metadata#7523
Conversation
There were a handful of test projects that just didn't have .builds files and some other cases where the data in the .builds file did not match what was in the UnsupportedPlatforms metadata. Some of the projects said the tests were unsupported on FreeBSD and nowhere else. Given that these tests should most likely be supported on FreeBSD (given that OSX and Linux both supported them), I've not moved that logic into the .builds files. If there ends up being a specific set of tests that the FreeBSD port team wants to disable long term, they can add .builds metadata as they see fit.
Since dotnet#6572 was merged, we only build test projects for the platforms they test. This means the UnsupportedPlatforms metadata is no longer needed (instead using the .builds file to control when the project is built is the right thing to do). Leverage this in run-test.sh, we now simply loop over all the tests in the relevent folders under bin/tests, depending on the platform in question.
|
@Priya91 @joperezr @weshaggard @sokket Chris closed my last PR and I force pushed which prevents me from re-opening that one. I think this one has a better chance of passing CI due to my updates in run-test to handle the way the Jenkins currently passes options to the scripts. I also did a pass over the .builds files and cleaned some stuff up (and created some when needed). |
|
@dotnet-bot test ci please |
| @@ -0,0 +1,11 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
There was a problem hiding this comment.
There is already a builds file that does this...why do we need another one?
There was a problem hiding this comment.
I did not notice that builds file because it was in the parent directory. Is the expectation that for places where we split the test folder into a bunch of sub folders there's a .builds in the tests folder or do we want something SxS with the .csproj (I see we did it one way here but for some of the Http stuff there's no .builds files anywhere and they are also split).
There was a problem hiding this comment.
There are exceptions to all the rules but in general I would prefer the builds files be 1:1 with the csproj's. Only if there is some strange coupling between the different csproj's should we put them together. In some cases if there are helper csproj's then they don't even really need to be in builds file they should just be project references and pulled in from the root test project.
There was a problem hiding this comment.
@weshaggard Do we need to go update https://github.com/dotnet/corefx/blob/master/src/tests.builds#L16 to be something like */tests/**/*.builds?
There was a problem hiding this comment.
My plan is to land this change and do another pass which cleans up the .builds stuff and cleans up the traversal stuff.
|
LGTM |
1 similar comment
|
LGTM |
|
LGTM as well ! |
The exclusion looked to be infrastructure related from problems in the past, but we actually want to test this assembly cross platform.
|
@dotnet-bot test this please (GitHub issues) |
|
Test Innerloop OSX Debug Build and Test please |
|
@dotnet-bot Test outerloop rhel7.2 Debug |
Remove "UnsupportedPlatforms" metadata Commit migrated from dotnet/corefx@0cdc8e3
Since #6572 was merged, we only build test projects for the platforms
they test. This means the UnsupportedPlatforms metadata is no longer
needed (instead using the .builds file to control when the project is
built is the right thing to do).
Leverage this in run-test.sh, we now simply loop over all the tests in
the relevant folders under bin/tests, depending on the platform in
question.