#include "net/test/python_utils.h"
#include <memory>
#include "base/command_line.h"
#include "base/environment.h"
#include "base/files/file_path.h"
#include "build/build_config.h"
namespace {
const base::FilePath::CharType kPythonPathEnv[] =
FILE_PATH_LITERAL("PYTHONPATH");
const base::FilePath::CharType kVPythonClearPathEnv[] =
FILE_PATH_LITERAL("VPYTHON_CLEAR_PYTHONPATH");
}
void SetPythonPathInEnvironment(const std::vector<base::FilePath>& python_path,
base::EnvironmentMap* map) {
base::NativeEnvironmentString path_str;
for (const auto& path : python_path) {
if (!path_str.empty()) {
#if BUILDFLAG(IS_WIN)
path_str.push_back(';');
#else
path_str.push_back(':');
#endif
}
path_str += path.value();
}
(*map)[kPythonPathEnv] = path_str;
(*map)[kVPythonClearPathEnv] = base::NativeEnvironmentString();
}
bool GetPython3Command(base::CommandLine* python_cmd) {
DCHECK(python_cmd);
#if BUILDFLAG(IS_WIN)
python_cmd->SetProgram(base::FilePath(FILE_PATH_LITERAL("vpython3.bat")));
#else
python_cmd->SetProgram(base::FilePath(FILE_PATH_LITERAL("vpython3")));
#endif
#if BUILDFLAG(IS_MAC)
python_cmd->AppendArg("-vpython-log-level=info");
#endif
python_cmd->AppendArg("-u");
return true;
}