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

Disable tests on CoreCLR using new attribute #118

Closed
wants to merge 2 commits into from
Closed

Disable tests on CoreCLR using new attribute #118

wants to merge 2 commits into from

Conversation

safern
Copy link
Member

@safern safern commented Nov 19, 2019

This disables corefx tests on coreclr runs using the new SkipOnCoreClrAttribute added on: dotnet/arcade#4231

I followed the rsp file list to add the attributes and also the labels on the issues referenced to identify the stress mode or the platform.

This still needs an arcade update to consume that PR.

cc: @BruceForstall @stephentoub @jkotas @jkoritzinsky @jaredpar

@safern safern added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-Infrastructure labels Nov 19, 2019
Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

Generally LGTM

@@ -16,6 +16,7 @@
<add key="dotnet5-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json" />
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
<add key="dotnet-coreclr" value="https://dotnetfeed.blob.core.windows.net/dotnet-coreclr/index.json" />
<add key="safern-test" value="https://www.myget.org/F/safern-test/api/v3/index.json" />
Copy link
Member

Choose a reason for hiding this comment

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

I presume this will get removed before you merge?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes. I’m just waiting for arcade to propagate.

@stephentoub
Copy link
Member

Thanks for working on this. I'm happy to see the mechanisms consolidated.

@stephentoub
Copy link
Member

@safern, this is still marked NO MERGE. Is it ready to go, or still waiting on something? Thanks!


using Xunit;

[assembly: SkipOnCoreClr("System.Net.Tests are flaky and/or long running: https://github.com/dotnet/runtime/issues/131")]
Copy link
Contributor

Choose a reason for hiding this comment

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

If the tests are flaky why do you skip them on CoreCLR only?

Copy link
Member

Choose a reason for hiding this comment

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

If I remember correctly, they're flaky only on Checked CoreCLR because they have checks based on timeouts. The performance hits of running on a Checked CoreCLR leads to some of the timeout tests failing.

Copy link
Member

@stephentoub stephentoub Nov 24, 2019

Choose a reason for hiding this comment

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

It's not clear from the naming, but this is only skipping these tests in coreclr's stress test modes (including checked builds). We should a) fix the attribute to require that to be expressed such that no parameters means to always skip on coreclr, and b) we should fix the tests to be runnable in these cases, as well.

Copy link
Member Author

Choose a reason for hiding this comment

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

SkipOnCoreClrStressTest sounds like a better naming?

Copy link
Member

Choose a reason for hiding this comment

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

SkipOnCoreClrStressTest sounds like a better naming?

I think there are two options:

  1. Make the attribute specific to stress testing, in which case a name like you suggest would be fine.
  2. Actually make the attribute do what it's name says, which is to skip on coreclr. Then if you only wanted to skip on coreclr in a specific situation, you would pass the argument to say so, e.g. [SkipOnCoreClr] would always skip the test on coreclr, whereas [SkipOnCoreClr(CoreClrTestMode.Stress)] would skip it in stress scenarios, [SkipOnCoreClr(CoreClrTestMode.Checked | CoreClrTestMode.GCStress)] would skip only if using a checked build or running GC stress, etc.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ok, makes sense. I'll work later on that.

@safern
Copy link
Member Author

safern commented Nov 25, 2019

@safern, this is still marked NO MERGE. Is it ready to go, or still waiting on something? Thanks!

Still waiting for the arcade update 😢

We're working on it: #243

@safern safern removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 26, 2019
@safern safern closed this Nov 26, 2019
@safern
Copy link
Member Author

safern commented Nov 26, 2019

Replaced by: #261 since I had to re-create my fork.

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.

8 participants