chrony-confile 0.1.0

A full-featured Rust library for parsing, editing, validating, and serializing chrony configuration files
Documentation
use chrony_confile::values::*;

#[test]
fn poll_interval_range() {
    assert!(PollInterval::new(0).is_ok());
    assert!(PollInterval::new(-32).is_ok());
    assert!(PollInterval::new(32).is_ok());
    assert!(PollInterval::new(-33).is_err());
    assert!(PollInterval::new(33).is_err());
}

#[test]
fn poll_interval_display() {
    let p = PollInterval::new(6).unwrap();
    assert_eq!(p.to_string(), "6");
}

#[test]
fn udp_port_range() {
    assert!(UdpPort::new(123).is_ok());
    assert!(UdpPort::new(0).is_ok());
    assert!(UdpPort::new(65535).is_ok());
    // UdpPort covers the full u16 range, so out-of-range is caught at compile time
}

#[test]
fn dscp_range() {
    assert!(Dscp::new(0).is_ok());
    assert!(Dscp::new(63).is_ok());
    assert!(Dscp::new(64).is_err());
}

#[test]
fn stratum_range() {
    assert!(Stratum::new(0).is_ok());
    assert!(Stratum::new(15).is_ok());
    assert!(Stratum::new(16).is_err());
}

#[test]
fn send_sync() {
    fn assert_send_sync<T: Send + Sync>() {}
    assert_send_sync::<PollInterval>();
    assert_send_sync::<UdpPort>();
    assert_send_sync::<Dscp>();
    assert_send_sync::<Stratum>();
}