mirror of https://github.com/dotnet/tye.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1023 B
26 lines
1023 B
// Licensed to the .NET Foundation under one or more agreements.
|
|
// The .NET Foundation licenses this file to you under the MIT license.
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Microsoft.Tye;
|
|
using Microsoft.Tye.ConfigModel;
|
|
|
|
namespace Test.Infrastructure
|
|
{
|
|
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
|
|
public class SkipIfDockerNotRunningAttribute : Attribute, ITestCondition
|
|
{
|
|
public SkipIfDockerNotRunningAttribute()
|
|
{
|
|
// TODO Check performance of this.
|
|
IsMet = ContainerEngine.Default.IsUsable(out string unusableReason) && !(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("AGENT_OS")));
|
|
SkipReason = $"Container engine not usable: {unusableReason}";
|
|
}
|
|
|
|
public bool IsMet { get; }
|
|
|
|
public string SkipReason { get; set; }
|
|
}
|
|
}
|
|
|