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
12 changes: 12 additions & 0 deletions src/Cli/dotnet/CliStrings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,18 @@ setx PATH "%PATH%;{0}"
<data name="CmdEnvironmentVariableDescription" xml:space="preserve">
<value>Sets the value of an environment variable.
Creates the variable if it does not exist, overrides if it does.
This argument can be specified multiple times to provide multiple variables.

Examples:
-e VARIABLE=abc
-e VARIABLE="value with spaces"
-e VARIABLE="value;seperated with;semicolons"
-e VAR1=abc -e VAR2=def -e VAR3=ghi
</value>
</data>
<data name="CmdTestEnvironmentVariableDescription" xml:space="preserve">
<value>Sets the value of an environment variable.
Creates the variable if it does not exist, overrides if it does.
This will force the tests to be run in an isolated process.
This argument can be specified multiple times to provide multiple variables.

Expand Down
2 changes: 1 addition & 1 deletion src/Cli/dotnet/Commands/Test/TestCommandParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ private static Command GetVSTestCliCommand()

command.Options.Add(SettingsOption);
command.Options.Add(ListTestsOption);
command.Options.Add(CommonOptions.EnvOption);
command.Options.Add(CommonOptions.TestEnvOption);
command.Options.Add(FilterOption);
command.Options.Add(AdapterOption);
command.Options.Add(LoggerOption);
Expand Down
2 changes: 1 addition & 1 deletion src/Cli/dotnet/Commands/Test/VSTest/TestCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ private static TestCommand FromParseResult(ParseResult result, string[] settings
msbuildPath);

// Apply environment variables provided by the user via --environment (-e) option, if present
if (result.GetValue(CommonOptions.EnvOption) is { } environmentVariables)
if (result.GetValue(CommonOptions.TestEnvOption) is { } environmentVariables)
{
foreach (var (name, value) in environmentVariables)
{
Expand Down
8 changes: 6 additions & 2 deletions src/Cli/dotnet/CommonOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -338,15 +338,19 @@ public static ForwardedOption<bool> InteractiveOption(bool acceptArgument = fals
}
.ForwardIfEnabled([$"--property:SelfContained=false", "--property:_CommandLineDefinedSelfContained=true"]);

public static readonly Option<IReadOnlyDictionary<string, string>> EnvOption = new("--environment", "-e")
public static Option<IReadOnlyDictionary<string, string>> CreateEnvOption(string description) => new("--environment", "-e")
{
Description = CliStrings.CmdEnvironmentVariableDescription,
Description = description,
HelpName = CliStrings.CmdEnvironmentVariableExpression,
CustomParser = ParseEnvironmentVariables,
// Can't allow multiple arguments because the separator needs to be parsed as part of the environment variable value.
AllowMultipleArgumentsPerToken = false
};

public static readonly Option<IReadOnlyDictionary<string, string>> EnvOption = CreateEnvOption(CliStrings.CmdEnvironmentVariableDescription);

public static readonly Option<IReadOnlyDictionary<string, string>> TestEnvOption = CreateEnvOption(CliStrings.CmdTestEnvironmentVariableDescription);

private static IReadOnlyDictionary<string, string> ParseEnvironmentVariables(ArgumentResult argumentResult)
{
var result = new Dictionary<string, string>(
Expand Down
28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.cs.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.de.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.es.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.fr.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.it.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 26 additions & 2 deletions src/Cli/dotnet/xlf/CliStrings.ja.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading