test(export): write the LibreOffice check into a fresh private folder

This commit is contained in:
Dylan M. Taylor
2026-11-03 11:47:10 +00:00
parent 4aeaaad7d6
commit af7381301d
+10 -3
View File
@@ -376,9 +376,16 @@ fn pptx_table_cell_with_largest_font_stays_in_table_and_not_in_title() {
fn pptx_opens_in_libreoffice() {
let p = sample_page();
let bytes = pptx(&[p], "LibreOffice Check");
let dir = std::env::temp_dir().join(format!("pdfcraft-pptx-lo-{}", std::process::id()));
let _ = std::fs::remove_dir_all(&dir);
let _ = std::fs::create_dir_all(&dir);
// A new folder of our own, never one left (or planted) at a guessable name.
let nanos = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).map_or(0, |d| d.as_nanos());
let dir = std::env::temp_dir().join(format!("pdfcraft-pptx-lo-{}-{nanos:x}", std::process::id()));
let mut made = std::fs::DirBuilder::new();
#[cfg(unix)]
{
use std::os::unix::fs::DirBuilderExt as _;
made.mode(0o700);
}
made.create(&dir).expect("a fresh test folder");
let pptx_path = dir.join("test.pptx");
std::fs::write(&pptx_path, &bytes).unwrap();