-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Convert all tests under baseservices to the merged test infrastructure #91560
Conversation
Tagging subscribers to this area: @dotnet/area-system-reflection-metadata Issue DetailsThis change converts all remaining tests under baseservices to use the merged test model. baseservices/RuntimeConfiguration/TestConfig.csproj This test had two problematic characteristics w.r.t. test merging - it was launching itself as Thanks Tomas /cc @dotnet/runtime-infrastructure
|
How have you checked whether all tests have been preserved across the conversion? It seems like the changes to how the internal test harness work could impact the number of reported tests and make this difficult. (If so, do you have recommendations on how to review this with that in mind?) |
For the tests that define a |
Well, in the local testing I have so far just monitored the number of tests; in fact even that has changed slightly as I split one or two tests to multiple |
Thanks for the suggestion regarding |
src/tests/baseservices/ilasm_ildasm/regression/vswhidbey305155/305155.cs
Show resolved
Hide resolved
d6a160e
to
8313724
Compare
Tagging subscribers to this area: @hoyosjs Issue DetailsThis change converts all remaining tests under baseservices to use the merged test model. baseservices/RuntimeConfiguration/TestConfig.csproj This test had two problematic characteristics w.r.t. test merging - it was launching itself as Thanks Tomas /cc @dotnet/runtime-infrastructure
|
@markples - I have stood up the xml differ and I have managed to convince myself that the results are fine: Left-only tests (5 total): -------------------------- baseservices\exceptions\exceptioninterop\ExceptionInterop_ro\ExceptionInterop_ro baseservices\exceptions\exceptioninterop\ExceptionInterop\ExceptionInterop baseservices\exceptions\simple\ParallelCrashMainThread\ParallelCrashMainThread baseservices\exceptions\simple\ParallelCrashWorkerThreads\ParallelCrashWorkerThreads baseservices\TieredCompilation\BasicTestWithMcj\RunBasicTestWithMcj Right-only tests (24 total): ---------------------------- _ExceptionInterop_ro::ExceptionInterop.ThrowManagedExceptionThroughNativeAndCatchInFrame() _ExceptionInterop_ro::ExceptionInterop.ThrowNativeExceptionAndCatchInFrame() _ExceptionInterop_ro::ExceptionInterop.ThrowNativeExceptionAndCatchInFrameWithFilter() _ExceptionInterop_ro::ExceptionInterop.ThrowNativeExceptionAndCatchInFrameWithFinally() _ExceptionInterop_ro::ExceptionInterop.ThrowNativeExceptionInFrameWithFinallyCatchInOuterFrame() _ExceptionInterop::ExceptionInterop.ThrowManagedExceptionThroughNativeAndCatchInFrame() _ExceptionInterop::ExceptionInterop.ThrowNativeExceptionAndCatchInFrame() _ExceptionInterop::ExceptionInterop.ThrowNativeExceptionAndCatchInFrameWithFilter() _ExceptionInterop::ExceptionInterop.ThrowNativeExceptionAndCatchInFrameWithFinally() _ExceptionInterop::ExceptionInterop.ThrowNativeExceptionInFrameWithFinallyCatchInOuterFrame() _ParallelCrashTester::ParallelCrashTester.ParallelCrashMainThread() _ParallelCrashTester::ParallelCrashTester.ParallelCrashMainThreadAndWorkerThreads() _ParallelCrashTester::ParallelCrashTester.ParallelCrashWorkerThreads() baseservices\exceptions\stackoverflow\stackoverflow\stackoverflow baseservices\exceptions\stackoverflow\stackoverflow3\stackoverflow3 baseservices\exceptions\StackTracePreserve\StackTracePreserveTests\StackTracePreserveTests baseservices\exceptions\unhandled\unhandledTester\unhandledTester baseservices\finalization\CriticalFinalizer\CriticalFinalizer baseservices\ilasm_ildasm\regression\vswhidbey305155\305155\305155 baseservices\mono\runningmono\runningmono baseservices\multidimmarray\enum\enum baseservices\RuntimeConfiguration\TestConfigTester\TestConfigTester baseservices\varargs\varargsupport_r\varargsupport_r baseservices\varargs\varargsupport\varargsupport There are several interesting observations based on this diff.
Thanks Tomas |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks Tomas!
|
8313724
to
c363433
Compare
/azp run runtime-coreclr outerloop |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
Azure Pipelines successfully started running 1 pipeline(s). |
@markples - I have rebased this change against the latest main and I believe I have addressed all your pending PR feedback, can you please take another look when you have a chance? Thanks Tomas |
4c91edb
to
38e77a4
Compare
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Without this patch build of these tests fails with "No entry point declared for executable" with BuildAsStandalone. Before dotnet#91560 they were built as OutputType=Library and these are actually not launched during testing, but are used as libs.
Without this patch build of these tests fails with "No entry point declared for executable" with BuildAsStandalone. Before #91560 they were built as OutputType=Library and these are actually not launched during testing, but are used as libs.
This change converts all remaining tests under baseservices to use the merged test model.
Apart from a few tiny tweaks I found a somewhat funny case in the test
baseservices/RuntimeConfiguration/TestConfig.csproj
This test had two problematic characteristics w.r.t. test merging - it was launching itself as
a child process and it (ab)used the [Fact] attributes for "its own mini-harness" that naturally
didn't go well with the merged test infra. I have refactored the test to use a separate "Tester"
app (akin to similar cases like ParallelCrash) and I removed the [Fact] attributes as they were
actually superfluous because the test uses two additional attributes (ConfigProperty and
EnvVar) to mark the "interesting" methods.
Thanks
Tomas
/cc @dotnet/runtime-infrastructure