Skip to content

Commit

Permalink
Replace unmaintained fs2 with fs4
Browse files Browse the repository at this point in the history
  • Loading branch information
messense committed Nov 26, 2024
1 parent ea2e54e commit 6e61116
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 23 deletions.
13 changes: 7 additions & 6 deletions Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ pretty_assertions = { version = "1.3.0", optional = true }

[dev-dependencies]
expect-test = "1.4.1"
fs2 = "0.4.3"
fs4 = { version = "0.11.1", features = ["fs-err"] }
indoc = "2.0.3"
pretty_assertions = "1.3.0"
rstest = "0.22.0"
Expand Down
33 changes: 19 additions & 14 deletions tests/common/integration.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
use crate::common::{
check_installed, create_virtualenv, create_virtualenv_name, maybe_mock_cargo, test_python_path,
check_installed, create_named_virtualenv, create_virtualenv, maybe_mock_cargo, test_python_path,
};
use anyhow::{bail, Context, Result};
#[cfg(feature = "zig")]
use cargo_zigbuild::Zig;
use clap::Parser;
use fs2::FileExt;
use fs4::fs_err::FileExt;
use fs_err::File;
use maturin::{BuildOptions, PlatformTag, PythonInterpreter, Target};
use normpath::PathExt;
Expand Down Expand Up @@ -92,29 +92,34 @@ pub fn test_integration(
// All tests try to use this venv at the same time, so we need to make sure only one
// modifies it at a time and that during that time, no other test reads it.
let file = File::create(venvs_dir.join("cffi-provider.lock"))?;
file.file().lock_exclusive()?;
if !dbg!(venvs_dir.join(cffi_provider)).is_dir() {
dbg!(create_virtualenv_name(
cffi_provider,
python_interp.clone().map(PathBuf::from)
)?);
file.lock_exclusive()?;
if !python.is_file() {
create_named_virtualenv(cffi_provider, python_interp.clone().map(PathBuf::from))?;
assert!(python.is_file(), "cffi venv not created correctly");
let pip_install_cffi = [
"-m",
"pip",
"--disable-pip-version-check",
"--no-cache-dir",
"install",
"cffi",
];
let output = Command::new(&python)
.args(pip_install_cffi)
.status()
//.output()
.context(format!("pip install cffi failed with {python:?}"))?;
if !output.success() {
bail!("Installing cffi into {} failed", cffi_venv.display());
.output()
.with_context(|| format!("pip install cffi failed with {python:?}"))?;
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr);
let stdout = String::from_utf8_lossy(&output.stdout);
bail!(
"Installing cffi into {} failed.\nstdout: {}\nstderr: {}",
cffi_venv.display(),
stdout,
stderr
);
}
}
file.file().unlock()?;
file.unlock()?;
cli.push("--interpreter");
cli.push(
python
Expand Down
4 changes: 2 additions & 2 deletions tests/common/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,14 @@ pub fn create_virtualenv(name: &str, python_interp: Option<PathBuf>) -> Result<(
Err(_) => name.to_string(),
};

let venv_dir = create_virtualenv_name(&venv_name, interp)?;
let venv_dir = create_named_virtualenv(&venv_name, interp)?;

let target = Target::from_target_triple(None)?;
let python = target.get_venv_python(&venv_dir);
Ok((venv_dir, python))
}

pub fn create_virtualenv_name(venv_name: &str, interp: Option<PathBuf>) -> Result<PathBuf> {
pub fn create_named_virtualenv(venv_name: &str, interp: Option<PathBuf>) -> Result<PathBuf> {
let venv_dir = PathBuf::from("test-crates")
.normalize()?
.into_path_buf()
Expand Down

0 comments on commit 6e61116

Please sign in to comment.