From 3f76beef1faed6dbe86e8dfc41bc7325ed7e0286 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Wed, 4 Nov 2020 19:05:50 +0200 Subject: Add error message in case of missing procfs Closes #11 --- src/components/kernel.rs | 12 ++++++------ src/components/processes.rs | 2 +- src/components/utilities.rs | 2 +- src/main.rs | 2 ++ 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/components/kernel.rs b/src/components/kernel.rs index 904f8e2..33d3295 100644 --- a/src/components/kernel.rs +++ b/src/components/kernel.rs @@ -46,14 +46,14 @@ impl fmt::Display for KernelMetrics { impl KernelMetrics { pub fn new() -> Self { - let mut file = File::open("/proc/sys/kernel/hostname").unwrap(); + let mut file = File::open("/proc/sys/kernel/hostname").expect(crate::PROC_FS_ERROR_STR); let mut hostname = String::new(); file.read_to_string(&mut hostname).unwrap(); let mut kernel = String::new(); - file = File::open("/proc/sys/kernel/version").unwrap(); + file = File::open("/proc/sys/kernel/version").expect(crate::PROC_FS_ERROR_STR); file.read_to_string(&mut kernel).unwrap(); let mut os_type = String::new(); - file = File::open("/proc/sys/kernel/ostype").unwrap(); + file = File::open("/proc/sys/kernel/ostype").expect(crate::PROC_FS_ERROR_STR); file.read_to_string(&mut os_type).unwrap(); let mut boot_time = 0; let cpu_stat = get_stat(&mut boot_time); @@ -370,7 +370,7 @@ impl Component for KernelMetrics { } /* Draw uptime */ - let mut file = File::open("/proc/uptime").unwrap(); + let mut file = File::open("/proc/uptime").expect(crate::PROC_FS_ERROR_STR); self.uptime.clear(); file.read_to_string(&mut self.uptime).unwrap(); let seconds: usize = @@ -530,7 +530,7 @@ impl Component for KernelMetrics { } fn get_mem_info() -> (usize, usize) { - let mut file = File::open("/proc/meminfo").unwrap(); + let mut file = File::open("/proc/meminfo").expect(crate::PROC_FS_ERROR_STR); let mut res = String::with_capacity(2048); file.read_to_string(&mut res).unwrap(); let mut mem_total = 0; @@ -554,7 +554,7 @@ fn get_mem_info() -> (usize, usize) { } fn get_loadavg() -> [String; 3] { - let mut file = File::open("/proc/loadavg").unwrap(); + let mut file = File::open("/proc/loadavg").expect(crate::PROC_FS_ERROR_STR); let mut res = String::with_capacity(2048); file.read_to_string(&mut res).unwrap(); let mut mut_value_iter = res.split_whitespace(); diff --git a/src/components/processes.rs b/src/components/processes.rs index 277a008..42b49b3 100644 --- a/src/components/processes.rs +++ b/src/components/processes.rs @@ -1832,7 +1832,7 @@ fn get(data: &mut ProcessData, follow_pid: Option, sort: Sort) -> Vec Vec { - let mut file = File::open("/proc/stat").unwrap(); + let mut file = File::open("/proc/stat").expect(crate::PROC_FS_ERROR_STR); let mut res = String::with_capacity(2048); file.read_to_string(&mut res).unwrap(); let mut lines_iter = res.lines(); diff --git a/src/main.rs b/src/main.rs index c103ee8..21796b8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,6 +32,8 @@ use std::sync::{ }; use std::time::Duration; +pub const PROC_FS_ERROR_STR: &str = "/proc/ filesystem not found, are you running this on linux?"; + //#[allow(dead_code)] mod text_processing; pub use crate::text_processing::*; -- cgit v1.2.3