Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit b8b3f16

Browse files
Don't capture XUnit's Synchronization Context
1 parent ba6602d commit b8b3f16

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/CommunityToolkit/Xamarin.CommunityToolkit/ObjectModel/Internals/BaseCommand.netstandard.wpf.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ namespace Xamarin.CommunityToolkit.ObjectModel.Internals
66
{
77
public abstract partial class BaseCommand<TCanExecute>
88
{
9-
readonly SynchronizationContext? synchronizationContext = SynchronizationContext.Current;
9+
readonly SynchronizationContext? synchronizationContext = SynchronizationContext.Current?.GetType().FullName?.Contains("Xunit") is true // Ensures Xunit's Synchronization Context is not captured during Unit Testing (results in deadlock when captured) https://github.com/xunit/xunit/issues/883#issuecomment-226657173
10+
? null
11+
: SynchronizationContext.Current;
1012

1113
bool IsMainThread => SynchronizationContext.Current == synchronizationContext;
1214

0 commit comments

Comments
 (0)