// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using Microsoft.Testing.Platform.Extensions;
namespace Microsoft.Testing.Platform.Tools;
///
/// Represents a non-test command that can be invoked by passing its
/// as the first positional command-line argument.
///
///
/// This API is experimental. It may change, break, or be removed at any time without notice.
///
[Experimental("TPEXP", UrlFormat = "https://aka.ms/testingplatform/diagnostics#{0}")]
public interface ITool : IExtension
{
///
/// Gets the command-line name of the tool.
///
string Name { get; }
///
/// Runs the tool.
///
/// The cancellation token.
/// The process exit code.
Task RunAsync(CancellationToken cancellationToken);
}