|
|
|
@@ -503,7 +503,7 @@ impl TestContext {
|
|
|
|
|
/// Create a uv command for testing.
|
|
|
|
|
pub fn command(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -535,7 +535,18 @@ impl TestContext {
|
|
|
|
|
/// * Hide other Pythons with `UV_PYTHON_INSTALL_DIR` and installed interpreters with
|
|
|
|
|
/// `UV_TEST_PYTHON_PATH` and an active venv (if applicable) by removing `VIRTUAL_ENV`.
|
|
|
|
|
/// * Increase the stack size to avoid stack overflows on windows due to large async functions.
|
|
|
|
|
pub fn add_shared_args(&self, command: &mut Command, activate_venv: bool) {
|
|
|
|
|
pub fn add_shared_options(&self, command: &mut Command, activate_venv: bool) {
|
|
|
|
|
self.add_shared_args(command);
|
|
|
|
|
self.add_shared_env(command, activate_venv);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Only the arguments of [`TestContext::add_shared_options`].
|
|
|
|
|
pub fn add_shared_args(&self, command: &mut Command) {
|
|
|
|
|
command.arg("--cache-dir").arg(self.cache_dir.path());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Only the environment variables of [`TestContext::add_shared_options`].
|
|
|
|
|
pub fn add_shared_env(&self, command: &mut Command, activate_venv: bool) {
|
|
|
|
|
// Push the test context bin to the front of the PATH
|
|
|
|
|
let path = env::join_paths(std::iter::once(self.bin_dir.to_path_buf()).chain(
|
|
|
|
|
env::split_paths(&env::var(EnvVars::PATH).unwrap_or_default()),
|
|
|
|
@@ -543,8 +554,6 @@ impl TestContext {
|
|
|
|
|
.unwrap();
|
|
|
|
|
|
|
|
|
|
command
|
|
|
|
|
.arg("--cache-dir")
|
|
|
|
|
.arg(self.cache_dir.path())
|
|
|
|
|
// When running the tests in a venv, ignore that venv, otherwise we'll capture warnings.
|
|
|
|
|
.env_remove(EnvVars::VIRTUAL_ENV)
|
|
|
|
|
.env(EnvVars::UV_NO_WRAP, "1")
|
|
|
|
@@ -580,7 +589,7 @@ impl TestContext {
|
|
|
|
|
pub fn pip_compile(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("compile");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -588,14 +597,14 @@ impl TestContext {
|
|
|
|
|
pub fn pip_sync(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("sync");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn pip_show(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("show");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -603,7 +612,7 @@ impl TestContext {
|
|
|
|
|
pub fn pip_freeze(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("freeze");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -611,14 +620,14 @@ impl TestContext {
|
|
|
|
|
pub fn pip_check(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("check");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn pip_list(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("list");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -626,7 +635,7 @@ impl TestContext {
|
|
|
|
|
pub fn venv(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("venv");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -634,7 +643,7 @@ impl TestContext {
|
|
|
|
|
pub fn pip_install(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("install");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -642,7 +651,7 @@ impl TestContext {
|
|
|
|
|
pub fn pip_uninstall(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("uninstall");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -650,7 +659,7 @@ impl TestContext {
|
|
|
|
|
pub fn pip_tree(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("pip").arg("tree");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -668,7 +677,7 @@ impl TestContext {
|
|
|
|
|
pub fn init(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("init");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -676,7 +685,7 @@ impl TestContext {
|
|
|
|
|
pub fn sync(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("sync");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -684,7 +693,7 @@ impl TestContext {
|
|
|
|
|
pub fn lock(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("lock");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -692,7 +701,7 @@ impl TestContext {
|
|
|
|
|
pub fn export(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("export");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -700,7 +709,7 @@ impl TestContext {
|
|
|
|
|
pub fn build(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("build");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -720,14 +729,14 @@ impl TestContext {
|
|
|
|
|
.env(EnvVars::UV_PREVIEW, "1")
|
|
|
|
|
.env(EnvVars::UV_PYTHON_INSTALL_DIR, "")
|
|
|
|
|
.current_dir(&self.temp_dir);
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Create a `uv python install` command with options shared across scenarios.
|
|
|
|
|
pub fn python_install(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
.arg("python")
|
|
|
|
|
.arg("install")
|
|
|
|
@@ -738,7 +747,7 @@ impl TestContext {
|
|
|
|
|
/// Create a `uv python uninstall` command with options shared across scenarios.
|
|
|
|
|
pub fn python_uninstall(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
.arg("python")
|
|
|
|
|
.arg("uninstall")
|
|
|
|
@@ -750,7 +759,7 @@ impl TestContext {
|
|
|
|
|
pub fn python_pin(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("python").arg("pin");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -758,7 +767,7 @@ impl TestContext {
|
|
|
|
|
pub fn python_dir(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("python").arg("dir");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -766,7 +775,7 @@ impl TestContext {
|
|
|
|
|
pub fn run(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("run").env(EnvVars::UV_SHOW_RESOLUTION, "1");
|
|
|
|
|
self.add_shared_args(&mut command, true);
|
|
|
|
|
self.add_shared_options(&mut command, true);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -777,7 +786,7 @@ impl TestContext {
|
|
|
|
|
.arg("tool")
|
|
|
|
|
.arg("run")
|
|
|
|
|
.env(EnvVars::UV_SHOW_RESOLUTION, "1");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -785,7 +794,7 @@ impl TestContext {
|
|
|
|
|
pub fn tool_upgrade(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tool").arg("upgrade");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -793,7 +802,7 @@ impl TestContext {
|
|
|
|
|
pub fn tool_install(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tool").arg("install");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -801,7 +810,7 @@ impl TestContext {
|
|
|
|
|
pub fn tool_list(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tool").arg("list");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -809,7 +818,7 @@ impl TestContext {
|
|
|
|
|
pub fn tool_dir(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tool").arg("dir");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -817,7 +826,7 @@ impl TestContext {
|
|
|
|
|
pub fn tool_uninstall(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tool").arg("uninstall");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -825,7 +834,7 @@ impl TestContext {
|
|
|
|
|
pub fn add(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("add");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -833,7 +842,7 @@ impl TestContext {
|
|
|
|
|
pub fn remove(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("remove");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -841,7 +850,7 @@ impl TestContext {
|
|
|
|
|
pub fn tree(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("tree");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -849,7 +858,7 @@ impl TestContext {
|
|
|
|
|
pub fn clean(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("cache").arg("clean");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -857,7 +866,7 @@ impl TestContext {
|
|
|
|
|
pub fn prune(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("cache").arg("prune");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -867,7 +876,7 @@ impl TestContext {
|
|
|
|
|
pub fn build_backend(&self) -> Command {
|
|
|
|
|
let mut command = self.new_command();
|
|
|
|
|
command.arg("build-backend");
|
|
|
|
|
self.add_shared_args(&mut command, false);
|
|
|
|
|
self.add_shared_options(&mut command, false);
|
|
|
|
|
command
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|