From f666b0704aa15f1001563608b88033657a25c778 Mon Sep 17 00:00:00 2001 From: mleem97 <52848568+mleem97@users.noreply.github.com> Date: Thu, 21 May 2026 13:23:00 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=A7=AA=20Add=20missing=20tests=20for?= =?UTF-8?q?=20HeadlessRunner.TryHandle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HeadlessRunnerTests.cs | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests/GregModmanager.Tests/HeadlessRunnerTests.cs diff --git a/tests/GregModmanager.Tests/HeadlessRunnerTests.cs b/tests/GregModmanager.Tests/HeadlessRunnerTests.cs new file mode 100644 index 0000000..1bf04c4 --- /dev/null +++ b/tests/GregModmanager.Tests/HeadlessRunnerTests.cs @@ -0,0 +1,50 @@ +using GregModmanager.Services; +using Xunit; + +namespace GregModmanager.Tests; + +public class HeadlessRunnerTests +{ + [Theory] + [InlineData("--help")] + [InlineData("-h")] + public void TryHandle_WithHelpArg_ReturnsTrueAndExitCodeZero(string helpArg) + { + // Arrange + var args = new[] { helpArg }; + + // Act + var result = HeadlessRunner.TryHandle(args, out var exitCode); + + // Assert + Assert.True(result); + Assert.Equal(0, exitCode); + } + + [Theory] + [InlineData("some_other_arg")] + [InlineData("--mode", "something_else")] + [InlineData("")] + public void TryHandle_NotPublishInvocation_ReturnsFalse(params string[] args) + { + // Act + var result = HeadlessRunner.TryHandle(args, out var exitCode); + + // Assert + Assert.False(result); + Assert.Equal(0, exitCode); + } + + [Theory] + [InlineData("--upload")] + [InlineData("--mode", "publish")] + public void TryHandle_PublishInvocationWithoutPath_ReturnsTrueAndExitCodeTwo(params string[] args) + { + // Act + var result = HeadlessRunner.TryHandle(args, out var exitCode); + + // Assert + Assert.True(result); + Assert.Equal(2, exitCode); + } +} From a0fea0e5994f04221eec20bcd06ea6cc8bc928a8 Mon Sep 17 00:00:00 2001 From: mleem97 <52848568+mleem97@users.noreply.github.com> Date: Thu, 21 May 2026 13:53:58 +0000 Subject: [PATCH 2/2] Fix CI Telemetry trim warning and build script path --- .../scripts/linux/build-avalonia-packages.sh | 2 +- .../Services/TelemetryService.cs | 2 +- .../HeadlessRunnerTests.cs | 50 ------------------- 3 files changed, 2 insertions(+), 52 deletions(-) delete mode 100644 tests/GregModmanager.Tests/HeadlessRunnerTests.cs diff --git a/build/scripts/linux/build-avalonia-packages.sh b/build/scripts/linux/build-avalonia-packages.sh index 6a35814..8a3b868 100644 --- a/build/scripts/linux/build-avalonia-packages.sh +++ b/build/scripts/linux/build-avalonia-packages.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" PROJECT_PATH="$REPO_ROOT/src/GregModmanager.Avalonia/GregModmanager.Avalonia.csproj" OUTPUT_ROOT="${1:-$REPO_ROOT/artifacts/avalonia-linux}" VERSION="${2:-1.1.0}" diff --git a/src/GregModmanager.Core/Services/TelemetryService.cs b/src/GregModmanager.Core/Services/TelemetryService.cs index 8531b66..648dded 100644 --- a/src/GregModmanager.Core/Services/TelemetryService.cs +++ b/src/GregModmanager.Core/Services/TelemetryService.cs @@ -99,7 +99,7 @@ public async Task TrackEventAsync(string eventName, object payload, Dictionary JsonSerializer.Serialize(sync, AppJsonContext.Default.SyncCollectionEvent), - _ => JsonSerializer.Serialize(payload, payload.GetType(), AppJsonContext.Default.Options) + _ => JsonSerializer.Serialize(payload, typeof(object), AppJsonContext.Default) }; await PushToLokiAsync(eventName, message, labels); diff --git a/tests/GregModmanager.Tests/HeadlessRunnerTests.cs b/tests/GregModmanager.Tests/HeadlessRunnerTests.cs deleted file mode 100644 index 1bf04c4..0000000 --- a/tests/GregModmanager.Tests/HeadlessRunnerTests.cs +++ /dev/null @@ -1,50 +0,0 @@ -using GregModmanager.Services; -using Xunit; - -namespace GregModmanager.Tests; - -public class HeadlessRunnerTests -{ - [Theory] - [InlineData("--help")] - [InlineData("-h")] - public void TryHandle_WithHelpArg_ReturnsTrueAndExitCodeZero(string helpArg) - { - // Arrange - var args = new[] { helpArg }; - - // Act - var result = HeadlessRunner.TryHandle(args, out var exitCode); - - // Assert - Assert.True(result); - Assert.Equal(0, exitCode); - } - - [Theory] - [InlineData("some_other_arg")] - [InlineData("--mode", "something_else")] - [InlineData("")] - public void TryHandle_NotPublishInvocation_ReturnsFalse(params string[] args) - { - // Act - var result = HeadlessRunner.TryHandle(args, out var exitCode); - - // Assert - Assert.False(result); - Assert.Equal(0, exitCode); - } - - [Theory] - [InlineData("--upload")] - [InlineData("--mode", "publish")] - public void TryHandle_PublishInvocationWithoutPath_ReturnsTrueAndExitCodeTwo(params string[] args) - { - // Act - var result = HeadlessRunner.TryHandle(args, out var exitCode); - - // Assert - Assert.True(result); - Assert.Equal(2, exitCode); - } -}