// Integration coverage for public server runtime helpers.
//
// Scope: keep public helper smoke tests in the shared root test
// module rather than the server crate's local `tests/` folder.
// Targets: `server/src/runtime_support.rs` public pure helpers.
// Why: these helpers are part of a cross-crate contract surface and fit the
// centralized test taxonomy better than package-scoped integration tests.

use lesavka_server::runtime_support::{next_stream_id, should_recover_hid_error};

#[test]
fn hid_runtime_helpers_compile_and_behave() {
    assert!(should_recover_hid_error(Some(libc::ENOTCONN)));
    assert!(should_recover_hid_error(Some(libc::ESHUTDOWN)));
    assert!(should_recover_hid_error(Some(libc::EPIPE)));
    assert!(!should_recover_hid_error(Some(libc::EAGAIN)));
    assert!(!should_recover_hid_error(None));

    let first = next_stream_id();
    let second = next_stream_id();
    assert!(second > first);
}
