Files
sqltoolsservice/test/Microsoft.SqlTools.Hosting.UnitTests/TaskExtensions.cs
Kevin Cunnane 71195869e1 Add v2 of the Hosting Service and build nuget packages for it (#675)
* Port v2 of Hosting service to SqlToolsService
- Renamed project to .v2 so that existing hosted service isn't impacted
- Copied over the CoreServices project which contains ConnectionServiceCore and other reusable services for anything interacting with MSSQL
- Ported unit test project across and verified tests run.

* Nuget package support for reusable DLLs

* Use 1.1 version per Karl's suggestion

* Use correct license URL and project URL

* Use new SMO packages
2018-08-07 12:59:57 -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;
}
}
}