in GoogleTestAdapter/Core/Helpers/ProcessExecutor.cs [139:175]
private static StringBuilder CreateEnvironment(string pathExtension, IDictionary<string, string> additionalEnvVars)
{
StringDictionary envVariables = new ProcessStartInfo().EnvironmentVariables;
if (additionalEnvVars != null)
{
foreach (var entry in additionalEnvVars)
{
envVariables[entry.Key] = entry.Value;
}
}
if (!string.IsNullOrEmpty(pathExtension))
{
var path = Utils.GetExtendedPath(pathExtension);
if (envVariables.ContainsKey("PATH"))
{
path += $";{envVariables["PATH"]}";
}
envVariables["PATH"] = path;
}
var envVariablesList = new List<string>();
foreach (DictionaryEntry entry in envVariables)
envVariablesList.Add($"{entry.Key}={entry.Value}");
envVariablesList.Sort();
var result = new StringBuilder();
foreach (string envVariable in envVariablesList)
{
result.Append(envVariable);
result.Length++;
}
result.Length++;
return result;
}