24 lines
554 B
Rust
24 lines
554 B
Rust
use anyhow::Result;
|
|
use std::{fs, path::PathBuf};
|
|
|
|
mod cargo;
|
|
|
|
pub(crate) fn read(fname: PathBuf) -> Result<String> {
|
|
let version = read_fs(fname).unwrap_or(cargo::read().unwrap().unwrap());
|
|
Ok(version)
|
|
}
|
|
|
|
fn read_fs(fname: PathBuf) -> Result<String> {
|
|
log::debug!("reading version data from {:?}", fname);
|
|
Ok(fs::read_to_string(fname)?.trim().into())
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
#[test]
|
|
fn read_version() {
|
|
let version = super::read_fs("./testdata/VERSION".into()).unwrap();
|
|
assert_eq!(version, "0.1.0");
|
|
}
|
|
}
|