GPG key ID:
4B9DB28F826553BD
48 changed files with
153 additions and
9 deletions
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Spectre.Console.Cli;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy;
|
|
|
|
|
|
|
|
|
|
[Flags]
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Tests.Dummy.Commands;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests.Dummy;
|
|
|
|
|
|
|
|
|
|
internal sealed class Terminal : IDisposable
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
[TestFixture]
|
|
|
|
|
internal sealed class CommandTests
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
internal static class ProcessTree
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
internal sealed class TestEnvironment(Action action) : IDisposable
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
[TestFixture]
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
@ -1,2 +1,5 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
[assembly: Parallelizable(ParallelScope.Fixtures)]
|
|
|
|
|
// [assembly: LevelOfParallelism(3)]
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Tests;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Win.Notify;
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
namespace Geekeey.Extensions.Process.Win.Notify;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Win.Notify;
|
|
|
|
|
|
|
|
|
|
internal static class Program
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process.Buffered;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
|
using System.Diagnostics.Contracts;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Diagnostics.Contracts;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Instructions for running a process.
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using Geekeey.Extensions.Process;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Represents the result of a command execution.
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using System.Runtime.CompilerServices;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Runtime.CompilerServices;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using System.Runtime.Versioning;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Runtime.Versioning;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
internal static class BufferSizes
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using System.Text;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
using System.Buffers;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,6 @@
|
|
|
|
|
// Copyright (c) The Geekeey Authors
|
|
|
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
|
|
|
|
|
|
namespace Geekeey.Extensions.Process;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|