diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-07-17 00:45:51 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-07-17 00:59:04 +0200 |
commit | 555ea158aafaad644350a42c26168708324e749f (patch) | |
tree | 53f7fdcd6e1b0b0569af6acea20d220a9b1843f4 | |
parent | 6b1fdfbc1d172337b6aeb9f45ebb5e40c918244f (diff) |
Add "verify" feature in imag-store
-rw-r--r-- | imag-store/Cargo.toml | 2 | ||||
-rw-r--r-- | imag-store/src/main.rs | 3 | ||||
-rw-r--r-- | imag-store/src/ui.rs | 5 | ||||
-rw-r--r-- | imag-store/src/verify.rs | 13 |
4 files changed, 23 insertions, 0 deletions
diff --git a/imag-store/Cargo.toml b/imag-store/Cargo.toml index 3a3aa737..27cd787d 100644 --- a/imag-store/Cargo.toml +++ b/imag-store/Cargo.toml @@ -12,6 +12,8 @@ toml = "0.1.25" [dependencies.libimagstore] path = "../libimagstore" +default-features = false +features = ["verify"] [dependencies.libimagrt] path = "../libimagrt" diff --git a/imag-store/src/main.rs b/imag-store/src/main.rs index c2996fc1..56c46241 100644 --- a/imag-store/src/main.rs +++ b/imag-store/src/main.rs @@ -33,6 +33,7 @@ mod get; mod retrieve; mod ui; mod update; +mod verify; mod util; use create::create; @@ -41,6 +42,7 @@ use get::get; use retrieve::retrieve; use ui::build_ui; use update::update; +use verify::verify; fn main() { let rt = generate_runtime_setup("imag-store", @@ -63,6 +65,7 @@ fn main() { "get" => get(&rt), "retrieve" => retrieve(&rt), "update" => update(&rt), + "verify" => verify(&rt), _ => { debug!("Unknown command"); // More error handling diff --git a/imag-store/src/ui.rs b/imag-store/src/ui.rs index 220c8433..a317a445 100644 --- a/imag-store/src/ui.rs +++ b/imag-store/src/ui.rs @@ -181,4 +181,9 @@ pub fn build_ui<'a>(app: App<'a, 'a>) -> App<'a, 'a> { .help("Remove Store Entry with this path. Root (/) is the store itself") .value_name("PATH")) ) + + .subcommand(SubCommand::with_name("verify") + .about("Verify the store") + .version("0.1") + ) } diff --git a/imag-store/src/verify.rs b/imag-store/src/verify.rs new file mode 100644 index 00000000..ca836e3f --- /dev/null +++ b/imag-store/src/verify.rs @@ -0,0 +1,13 @@ +use std::process::exit; + +use libimagrt::runtime::Runtime; + +pub fn verify(rt: &Runtime) { + if rt.store().verify() { + info!("Store seems to be fine"); + } else { + warn!("Store seems to be broken somehow"); + exit(1); + } +} + |