Terminal system monitor in Gleam — htop × btop
1

Configure Feed

Select the types of activity you want to include in your feed.

monitor / test / monitor_test.gleam
1.5 kB 53 lines
1import format 2import gleam/dict 3import gleam/string 4import gleeunit 5import procfs 6 7pub fn main() -> Nil { 8 gleeunit.main() 9} 10 11pub fn human_kb_test() { 12 let assert "512K" = format.human_kb(512) 13 let assert True = string.contains(format.human_kb(2048), "M") 14 let assert True = string.contains(format.human_kb(2_097_152), "G") 15} 16 17pub fn percent_and_meter_test() { 18 let assert True = string.contains(format.percent(12.3), "%") 19 let m = format.meter(50.0, 10) 20 let assert 10 = string.length(m) 21 let s = format.sparkline([0.0, 25.0, 50.0, 75.0, 100.0], 5) 22 let assert 5 = string.length(s) 23} 24 25pub fn band_test() { 26 let assert format.Low = format.band(10.0) 27 let assert format.Mid = format.band(50.0) 28 let assert format.High = format.band(75.0) 29 let assert format.Critical = format.band(95.0) 30} 31 32pub fn ticks_to_time_test() { 33 // 100 ticks = 1.00s at CLK_TCK=100 34 let t = procfs.ticks_to_time(100) 35 let assert True = string.contains(t, "1") 36} 37 38pub fn sample_smoke_test() { 39 let snap0 = procfs.sample_with_core_history(0, 0, dict.new(), dict.new()) 40 let assert True = snap0.process_count > 0 41 let assert True = snap0.mem.total_kb > 0 42 let assert True = string.length(snap0.hostname) > 0 43 44 let snap1 = 45 procfs.sample_with_core_history( 46 snap0.prev_cpu_total, 47 snap0.prev_cpu_idle, 48 procfs.core_history_from(snap0), 49 snap0.prev_proc_ticks, 50 ) 51 let assert True = snap1.cpu_total_percent >=. 0.0 52 let assert True = snap1.cpu_total_percent <=. 100.0 53}