private static StringBuilder CreateEnvironment()

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;
            }