diff --git a/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs b/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs
index 3339d9a48c..382cbbdee5 100644
--- a/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs
+++ b/src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs
@@ -55,7 +55,7 @@ public sealed class HeadlessUnitTestSession : IDisposable
/// Parameter from which should be created.
/// It either needs to have BuildAvaloniaApp -> AppBuilder method or inherit Application.
///
- public static Task StartNew<
+ public static HeadlessUnitTestSession StartNew<
[DynamicallyAccessedMembers(DynamicallyAccessed)] TEntryPointType>()
{
return StartNew(typeof(TEntryPointType));
@@ -68,7 +68,7 @@ public sealed class HeadlessUnitTestSession : IDisposable
/// Parameter from which should be created.
/// It either needs to have BuildAvaloniaApp -> AppBuilder method or inherit Application.
///
- public static Task StartNew(
+ public static HeadlessUnitTestSession StartNew(
[DynamicallyAccessedMembers(DynamicallyAccessed)] Type entryPointType)
{
var tcs = new TaskCompletionSource();
@@ -96,13 +96,14 @@ public sealed class HeadlessUnitTestSession : IDisposable
catch (Exception e)
{
tcs.SetException(e);
+ return;
}
Dispatcher.UIThread.MainLoop(cancellationTokenSource.Token);
}) { IsBackground = true };
thread.Start();
- return tcs.Task;
+ return tcs.Task.GetAwaiter().GetResult();
}
///