deb: fix race condition for test
Fix race condition around current context, related to find_package_directory.
This commit is contained in:
@@ -169,7 +169,8 @@ pub async fn build(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find the actual package directory
|
// Find the actual package directory
|
||||||
let package_dir = crate::deb::find_package_directory(Path::new(build_root), package, version)?;
|
let package_dir =
|
||||||
|
crate::deb::find_package_directory(Path::new(build_root), package, version, &ctx)?;
|
||||||
let package_dir_str = package_dir
|
let package_dir_str = package_dir
|
||||||
.to_str()
|
.to_str()
|
||||||
.ok_or("Invalid package directory path")?;
|
.ok_or("Invalid package directory path")?;
|
||||||
|
|||||||
@@ -118,9 +118,8 @@ pub(crate) fn find_package_directory(
|
|||||||
parent_dir: &Path,
|
parent_dir: &Path,
|
||||||
package: &str,
|
package: &str,
|
||||||
version: &str,
|
version: &str,
|
||||||
|
ctx: &context::Context,
|
||||||
) -> Result<PathBuf, Box<dyn Error>> {
|
) -> Result<PathBuf, Box<dyn Error>> {
|
||||||
let ctx = context::current();
|
|
||||||
|
|
||||||
// Try package/package pattern first
|
// Try package/package pattern first
|
||||||
let package_dir = parent_dir.join(package).join(package);
|
let package_dir = parent_dir.join(package).join(package);
|
||||||
if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? {
|
if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? {
|
||||||
@@ -243,7 +242,9 @@ mod tests {
|
|||||||
log::info!("Successfully pulled package {}", package);
|
log::info!("Successfully pulled package {}", package);
|
||||||
|
|
||||||
// Change directory to the package directory
|
// Change directory to the package directory
|
||||||
let cwd = crate::deb::find_package_directory(cwd, package, &package_info.stanza.version)
|
let ctx = crate::context::current();
|
||||||
|
let cwd =
|
||||||
|
crate::deb::find_package_directory(cwd, package, &package_info.stanza.version, &ctx)
|
||||||
.expect("Cannot find package directory");
|
.expect("Cannot find package directory");
|
||||||
log::debug!("Package directory: {}", cwd.display());
|
log::debug!("Package directory: {}", cwd.display());
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ pub fn build(
|
|||||||
let ctx = context::current();
|
let ctx = context::current();
|
||||||
|
|
||||||
// Find the actual package directory
|
// Find the actual package directory
|
||||||
let package_dir = crate::deb::find_package_directory(Path::new(build_root), package, version)?;
|
let package_dir =
|
||||||
|
crate::deb::find_package_directory(Path::new(build_root), package, version, &ctx)?;
|
||||||
let package_dir_str = package_dir
|
let package_dir_str = package_dir
|
||||||
.to_str()
|
.to_str()
|
||||||
.ok_or("Invalid package directory path")?;
|
.ok_or("Invalid package directory path")?;
|
||||||
|
|||||||
Reference in New Issue
Block a user