use anyhow::Result; use std::{fs, path::PathBuf}; mod cargo; pub(crate) fn read_version(fname: PathBuf) -> Result { let version = cargo::read() .unwrap() .unwrap_or(fs::read_to_string(fname)?.trim().into()); Ok(version) } #[cfg(test)] mod tests { #[test] fn read_version() { let version = super::read_version("./testdata/VERSION".into()).unwrap(); assert_eq!(version, "0.1.0"); } }