Skip to content

[wasm] Disable threading tests in System.IO#38380

Merged
akoeplinger merged 2 commits intodotnet:masterfrom
akoeplinger:wasm-System.IO
Jun 25, 2020
Merged

[wasm] Disable threading tests in System.IO#38380
akoeplinger merged 2 commits intodotnet:masterfrom
akoeplinger:wasm-System.IO

Conversation

@akoeplinger
Copy link
Member

@akoeplinger akoeplinger commented Jun 25, 2020

This allows the test suite to finish on WASM: Tests run: 883, Errors: 0, Failures: 0, Skipped: 30. Time: 58.57082s

This allows the test suite to finish on WASM: `Tests run: 891, Errors: 0, Failures: 8, Skipped: 30. Time: 60.276597s`
@akoeplinger akoeplinger requested review from mdh1418 and steveisok June 25, 2020 11:11
@Dotnet-GitSync-Bot
Copy link
Collaborator

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@marek-safar marek-safar added the arch-wasm WebAssembly architecture label Jun 25, 2020
Copy link
Member

@mdh1418 mdh1418 left a comment

Choose a reason for hiding this comment

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

Changes look good to me. What were the 8 failing tests? Skips were added to failing tests in System.Threading.Timer/tests for helix to work, but do we not need to do the same for other suites now? There were several failures from #38355 that only appeared after disabling other failing tests in src/libraries/System.Threading.Tasks/tests/Task/TaskFromAsyncTest2.cs and src/libraries/System.Threading.Tasks/tests/Task/TaskWaitAllAnyTest.cs.

@akoeplinger
Copy link
Member Author

@mdh1418 the failures were all due to System.TypeInitializationException : The type initializer for 'System.Net.Sockets.SocketAsyncEngine' threw an exception.\n---- System.Net.InternalException : Exception of type 'System.Net.InternalException' was thrown

Those tests are using NamedPipeServerStream which opens a Socket. We can indeed disable these.

}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsThreadingSupported))]
Copy link
Member

Choose a reason for hiding this comment

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

What were the failures here?

Copy link
Member Author

Choose a reason for hiding this comment

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

    WASM-ERR: Unhandled Exception:
    WASM-ERR: System.Threading.SynchronizationLockException: Cannot wait on events on this runtime.
    WASM-ERR:    at System.Threading.WaitHandle.WaitOneCore(IntPtr waitHandle, Int32 millisecondsTimeout)
    WASM-ERR:    at System.Threading.WaitHandle.WaitOneNoCheck(Int32 millisecondsTimeout)
    WASM-ERR:    at System.Threading.WaitHandle.WaitOne()
    WASM-ERR:    at Microsoft.DotNet.XHarness.TestRunners.Xunit.ThreadlessXunitTestRunner.Run(String assemblyFileName, Boolean printXml, XunitFilters filters)
    WASM-ERR:    at Microsoft.DotNet.XHarness.TestRunners.Xunit.WasmApplicationEntryPoint.Run()
    WASM-ERR:    at SimpleWasmTestRunner.Main(String[] args)

Copy link
Member

@stephentoub stephentoub Jun 25, 2020

Choose a reason for hiding this comment

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

Does that mean every async test (ones that complete asynchronously) is going to need to be disabled? Or am I misunderstanding what this stack represents?

Copy link
Member

Choose a reason for hiding this comment

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

It definitely seems that way. Unless you know of any creative ideas to get a message pump in w/o significantly modifying the tests?

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 that's my current understanding. We're looking at ways how to fix that.

@akoeplinger akoeplinger merged commit c7eac16 into dotnet:master Jun 25, 2020
@akoeplinger akoeplinger deleted the wasm-System.IO branch June 25, 2020 14:15
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasm WebAssembly architecture area-System.IO

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants