kernel-explainer 0.1.0

Kernel event and scheduling explanation library for the Peek process intelligence tool
Documentation
use kernel_explainer::{
    capabilities::format_caps, namespaces::namespace_description, oom::oom_description,
    scheduler::scheduler_description, states::state_description, well_known::binary_description,
};

#[test]
fn oom_description_covers_bands() {
    assert!(oom_description(-1).contains("unlikely"));
    assert!(oom_description(50).contains("Low"));
    assert!(oom_description(300).contains("Moderate"));
    assert!(oom_description(800).contains("High"));
}

#[test]
fn state_description_maps_known_states() {
    assert_eq!(state_description('R'), "Running");
    assert!(state_description('Z').contains("Zombie"));
}

#[test]
fn scheduler_description_has_fallback() {
    let s = scheduler_description("SCHED_OTHER");
    assert!(s.contains("Normal"));
    let unknown = scheduler_description("weird");
    assert!(unknown.contains("weird"));
}

#[test]
fn namespace_description_handles_known_and_unknown() {
    assert!(namespace_description("pid").contains("Process ID"));
    assert!(namespace_description("custom").contains("custom"));
}

#[test]
fn capabilities_formatting_handles_empty_and_bits() {
    let (perm, eff) = format_caps(0, 0);
    assert_eq!(perm, "none");
    assert_eq!(eff, "none");

    let (perm, _eff) = format_caps(1 << 0, 0);
    assert!(perm.contains("CHOWN"));
}

#[test]
fn binary_description_returns_some_for_known() {
    assert!(binary_description("nginx").is_some());
    assert!(binary_description("this-will-not-exist").is_none());
}