Files
sqltoolsservice/external/Microsoft.SqlTools.Hosting.UnitTests/TaskExtensions.cs
Karl Burtram ccf95aed77 Move unused forked code to external directory (#1192)
* Move unused forked code to external directory

* Fix SLN build errors

* Add back resource provider core since it's referenced by main resource provider project

* Update PackageProjects step of pipeline
2021-04-16 15:33:35 -07:00

27 lines
695 B
C#

//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Threading.Tasks;
namespace Microsoft.SqlTools.ServiceLayer.Test.Common
{
public static class TaskExtensions
{
public static async Task<Task> WithTimeout(this Task task, TimeSpan timeout)
{
Task delayTask = Task.Delay(timeout);
Task firstCompleted = await Task.WhenAny(task, delayTask);
if (firstCompleted == delayTask)
{
throw new Exception("Task timed out");
}
return task;
}
}
}