use std::{fs, path::Path};
pub fn create_partial_data_dir(data_dir: &Path) -> std::io::Result<()> {
fs::create_dir_all(data_dir.join("global"))?;
fs::write(data_dir.join("PG_VERSION"), "16\n")?;
fs::create_dir_all(data_dir.join("base/1"))?;
fs::write(data_dir.join("base/1/pg_class"), "dummy")?;
Ok(())
}
#[cfg(test)]
mod tests {
use tempfile::tempdir;
use super::*;
#[test]
fn creates_expected_structure() {
let temp = tempdir().expect("failed to create temp dir");
let data_dir = temp.path().join("data");
create_partial_data_dir(&data_dir).expect("failed to create partial data dir");
assert!(data_dir.join("PG_VERSION").exists());
assert!(data_dir.join("global").exists());
assert!(!data_dir.join("global/pg_filenode.map").exists());
assert!(data_dir.join("base/1/pg_class").exists());
}
}