Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion TUnit.Engine/Capabilities/BannerCapability.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Microsoft.Testing.Platform.Logging;
using Microsoft.Testing.Platform.Services;
using TUnit.Engine.CommandLineProviders;
using TUnit.Engine.Configuration;
using TUnit.Engine.Enums;
#if NET
using System.Runtime.CompilerServices;
Expand All @@ -23,7 +24,7 @@ internal class BannerCapability(IPlatformInformation platformInformation, IComma
public Task<string?> GetBannerMessageAsync()
{
if (commandLineOptions.IsOptionSet(DisableLogoCommandProvider.DisableLogo)
|| Environment.GetEnvironmentVariable("TUNIT_DISABLE_LOGO") is not null
|| Environment.GetEnvironmentVariable(EnvironmentConstants.DisableLogo) is not null
|| loggerFactory.CreateLogger(nameof(BannerCapability)).IsEnabled(LogLevel.Information))
{
return Task.FromResult<string?>(GetRuntimeDetails());
Expand Down
31 changes: 31 additions & 0 deletions TUnit.Engine/Configuration/EnvironmentConstants.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace TUnit.Engine.Configuration;

internal static class EnvironmentConstants
{
// TUnit-specific: Reporters
public const string DisableGithubReporter = "TUNIT_DISABLE_GITHUB_REPORTER";
public const string DisableJUnitReporter = "TUNIT_DISABLE_JUNIT_REPORTER";
public const string EnableJUnitReporter = "TUNIT_ENABLE_JUNIT_REPORTER";
public const string GitHubReporterStyle = "TUNIT_GITHUB_REPORTER_STYLE";

// TUnit-specific: Execution
public const string ExecutionMode = "TUNIT_EXECUTION_MODE";
public const string MaxParallelTests = "TUNIT_MAX_PARALLEL_TESTS";

// TUnit-specific: Display and diagnostics
public const string DisableLogo = "TUNIT_DISABLE_LOGO";
public const string EnableIdeStreaming = "TUNIT_ENABLE_IDE_STREAMING";
public const string DiscoveryDiagnostics = "TUNIT_DISCOVERY_DIAGNOSTICS";

// TUnit-specific: JUnit output
public const string JUnitXmlOutputPath = "JUNIT_XML_OUTPUT_PATH";

// Legacy/deprecated (kept for backwards compatibility)
public const string DisableGithubReporterLegacy = "DISABLE_GITHUB_REPORTER";

// External CI environment variables
public const string GitHubActions = "GITHUB_ACTIONS";
public const string GitHubStepSummary = "GITHUB_STEP_SUMMARY";
public const string GitLabCi = "GITLAB_CI";
public const string CiServer = "CI_SERVER";
}
3 changes: 2 additions & 1 deletion TUnit.Engine/Framework/TUnitServiceProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
using TUnit.Core.Tracking;
using TUnit.Engine.Building;
using TUnit.Engine.Building.Collectors;
using TUnit.Engine.Configuration;
using TUnit.Engine.Building.Interfaces;
using TUnit.Engine.CommandLineProviders;
using TUnit.Engine.Discovery;
Expand Down Expand Up @@ -157,7 +158,7 @@ public TUnitServiceProvider(IExtension extension,
// (duplicate TestNodeUid in TestApplicationResult.ConsumeAsync causes crashes in Rider/VS Code).
// Enable via TUNIT_ENABLE_IDE_STREAMING=1 environment variable.
if (VerbosityService.IsIdeClient &&
Environment.GetEnvironmentVariable("TUNIT_ENABLE_IDE_STREAMING") == "1")
Environment.GetEnvironmentVariable(EnvironmentConstants.EnableIdeStreaming) == "1")
{
TUnitLoggerFactory.AddSink(new IdeStreamingSink(MessageBus));
}
Expand Down
3 changes: 2 additions & 1 deletion TUnit.Engine/Helpers/ExecutionModeHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using Microsoft.Testing.Platform.CommandLine;
using TUnit.Core;
using TUnit.Engine.CommandLineProviders;
using TUnit.Engine.Configuration;

namespace TUnit.Engine.Helpers;

Expand Down Expand Up @@ -67,7 +68,7 @@ public static bool IsSourceGenerationMode(ICommandLineOptions commandLineOptions
}

// Check environment variable
var envMode = Environment.GetEnvironmentVariable("TUNIT_EXECUTION_MODE");
var envMode = Environment.GetEnvironmentVariable(EnvironmentConstants.ExecutionMode);
if (!string.IsNullOrEmpty(envMode))
{
var mode = envMode!.ToLowerInvariant();
Expand Down
11 changes: 6 additions & 5 deletions TUnit.Engine/Reporters/GitHubReporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Microsoft.Testing.Platform.Extensions;
using Microsoft.Testing.Platform.Extensions.Messages;
using Microsoft.Testing.Platform.Extensions.TestHost;
using TUnit.Engine.Configuration;
using TUnit.Engine.Framework;

namespace TUnit.Engine.Reporters;
Expand All @@ -24,18 +25,18 @@ public class GitHubReporter(IExtension extension) : IDataConsumer, ITestHostAppl

public async Task<bool> IsEnabledAsync()
{
if (Environment.GetEnvironmentVariable("TUNIT_DISABLE_GITHUB_REPORTER") is not null ||
Environment.GetEnvironmentVariable("DISABLE_GITHUB_REPORTER") is not null)
if (Environment.GetEnvironmentVariable(EnvironmentConstants.DisableGithubReporter) is not null ||
Environment.GetEnvironmentVariable(EnvironmentConstants.DisableGithubReporterLegacy) is not null)
{
return false;
}

if (Environment.GetEnvironmentVariable("GITHUB_ACTIONS") is null)
if (Environment.GetEnvironmentVariable(EnvironmentConstants.GitHubActions) is null)
{
return false;
}

if (Environment.GetEnvironmentVariable("GITHUB_STEP_SUMMARY") is not { } fileName
if (Environment.GetEnvironmentVariable(EnvironmentConstants.GitHubStepSummary) is not { } fileName
|| !File.Exists(fileName))
{
return false;
Expand All @@ -44,7 +45,7 @@ public async Task<bool> IsEnabledAsync()
_outputSummaryFilePath = fileName;

// Determine reporter style from environment variable or default to collapsible
var styleEnv = Environment.GetEnvironmentVariable("TUNIT_GITHUB_REPORTER_STYLE");
var styleEnv = Environment.GetEnvironmentVariable(EnvironmentConstants.GitHubReporterStyle);
if (!string.IsNullOrEmpty(styleEnv))
{
_reporterStyle = styleEnv!.ToLowerInvariant() switch
Expand Down
11 changes: 6 additions & 5 deletions TUnit.Engine/Reporters/JUnitReporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Microsoft.Testing.Platform.Extensions;
using Microsoft.Testing.Platform.Extensions.Messages;
using Microsoft.Testing.Platform.Extensions.TestHost;
using TUnit.Engine.Configuration;
using TUnit.Engine.Framework;
using TUnit.Engine.Xml;

Expand All @@ -17,15 +18,15 @@ public class JUnitReporter(IExtension extension) : IDataConsumer, ITestHostAppli
public async Task<bool> IsEnabledAsync()
{
// Check if explicitly disabled
if (Environment.GetEnvironmentVariable("TUNIT_DISABLE_JUNIT_REPORTER") is not null)
if (Environment.GetEnvironmentVariable(EnvironmentConstants.DisableJUnitReporter) is not null)
{
return false;
}

// Check if explicitly enabled OR running in GitLab CI
var explicitlyEnabled = Environment.GetEnvironmentVariable("TUNIT_ENABLE_JUNIT_REPORTER") is not null;
var runningInGitLab = Environment.GetEnvironmentVariable("GITLAB_CI") is not null ||
Environment.GetEnvironmentVariable("CI_SERVER") is not null;
var explicitlyEnabled = Environment.GetEnvironmentVariable(EnvironmentConstants.EnableJUnitReporter) is not null;
var runningInGitLab = Environment.GetEnvironmentVariable(EnvironmentConstants.GitLabCi) is not null ||
Environment.GetEnvironmentVariable(EnvironmentConstants.CiServer) is not null;

if (!explicitlyEnabled && !runningInGitLab)
{
Expand All @@ -35,7 +36,7 @@ public async Task<bool> IsEnabledAsync()
// Determine output path (only if not already set via command-line argument)
if (string.IsNullOrEmpty(_outputPath))
{
_outputPath = Environment.GetEnvironmentVariable("JUNIT_XML_OUTPUT_PATH")
_outputPath = Environment.GetEnvironmentVariable(EnvironmentConstants.JUnitXmlOutputPath)
?? GetDefaultOutputPath();
}

Expand Down
3 changes: 2 additions & 1 deletion TUnit.Engine/Scheduling/TestScheduler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using TUnit.Core.Exceptions;
using TUnit.Core.Logging;
using TUnit.Engine.CommandLineProviders;
using TUnit.Engine.Configuration;
using TUnit.Engine.Interfaces;
using TUnit.Engine.Logging;
using TUnit.Engine.Models;
Expand Down Expand Up @@ -545,7 +546,7 @@ private static int GetMaxParallelism(ILogger logger, ICommandLineOptions command
}

// Check environment variable (second priority)
if (Environment.GetEnvironmentVariable("TUNIT_MAX_PARALLEL_TESTS") is string envVar
if (Environment.GetEnvironmentVariable(EnvironmentConstants.MaxParallelTests) is string envVar
&& int.TryParse(envVar, out var envLimit))
{
if (envLimit == 0)
Expand Down
3 changes: 2 additions & 1 deletion TUnit.Engine/Services/VerbosityService.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Microsoft.Testing.Platform.CommandLine;
using Microsoft.Testing.Platform.Services;
using TUnit.Engine.CommandLineProviders;
using TUnit.Engine.Configuration;
using LogLevel = TUnit.Core.Logging.LogLevel;

#pragma warning disable TPEXP
Expand Down Expand Up @@ -78,7 +79,7 @@ private static LogLevel GetLogLevel(ICommandLineOptions commandLineOptions)
}

// Check legacy environment variable for backwards compatibility
if (Environment.GetEnvironmentVariable("TUNIT_DISCOVERY_DIAGNOSTICS") == "1")
if (Environment.GetEnvironmentVariable(EnvironmentConstants.DiscoveryDiagnostics) == "1")
{
return LogLevel.Debug;
}
Expand Down
Loading