mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-09 03:51:42 +00:00
fix: create test and benchmark temp directories fresh, never adopt an existing one (#1977)
This commit is contained in:
1 parent
ee4edc7364
commit
6d1b5da863
3 files changed
+9
-4
No files matched your search
@@ -498,7 +498,8 @@ fn measure_components(table: &mut Table, col: usize, instances: usize) -> CliRes
|
||||
static RUNS: std::sync::atomic::AtomicUsize = std::sync::atomic::AtomicUsize::new(0);
|
||||
let run = RUNS.fetch_add(1, std::sync::atomic::Ordering::Relaxed);
|
||||
let dir = std::env::temp_dir().join(format!("figcraft-perf-{}-{run}", std::process::id()));
|
||||
std::fs::create_dir_all(&dir).map_err(failed)?;
|
||||
// `create_dir`, not `create_dir_all`: a directory or link already at this predictable name is refused.
|
||||
std::fs::create_dir(&dir).map_err(failed)?;
|
||||
let path = dir.join("design-system.figcraft").to_string_lossy().into_owned();
|
||||
let (lib_doc, lib_ds) = design_system_document(&spec).map_err(failed)?;
|
||||
let mut lib_s = Session::with_document(lib_doc);
|
||||
|
||||
@@ -153,8 +153,9 @@ fn an_image_stretched_into_its_box_stays_stretched() {
|
||||
|
||||
#[test]
|
||||
fn linked_files_are_never_read() {
|
||||
let dir = std::env::temp_dir().join("figcraft-svg-linked");
|
||||
std::fs::create_dir_all(&dir).unwrap();
|
||||
let dir = std::env::temp_dir().join(format!("figcraft-svg-linked-{}", std::process::id()));
|
||||
// `create_dir` refuses a directory or link someone else planted at this name.
|
||||
std::fs::create_dir(&dir).unwrap();
|
||||
let png = dir.join("secret.png");
|
||||
std::fs::write(&png, base64::Engine::decode(&base64::engine::general_purpose::STANDARD, PNG).unwrap()).unwrap();
|
||||
let href = png.to_string_lossy().replace('\\', "/");
|
||||
|
||||
@@ -139,7 +139,10 @@ fn macos_font_assets_are_found_in_the_asset_store() {
|
||||
let _ = std::fs::remove_dir_all(&self.0);
|
||||
}
|
||||
}
|
||||
let tmp = TempDir(std::env::temp_dir().join(format!("figcraft-font-assets-{}", std::process::id())));
|
||||
// Created fresh: a directory or link already at this predictable name is refused, and not removed.
|
||||
let root = std::env::temp_dir().join(format!("figcraft-font-assets-{}", std::process::id()));
|
||||
std::fs::create_dir(&root).unwrap();
|
||||
let tmp = TempDir(root);
|
||||
let store = tmp.0.join("AssetsV2");
|
||||
let fonts = store.join("com_apple_MobileAsset_Font7");
|
||||
let data = |kind: &std::path::Path| kind.join("0f1e2d.asset").join("AssetData");
|
||||
|
||||
Reference in new issue
Block a user