view libpam-sys/libpam-sys-test/tests/runner.rs @ 139:33b9622ed6d2

Remove redundant memory management in nonstick::libpam; fix UB. - Uses the libpam-sys-helpers BinaryPayload / OwnedBinaryPayload structs to handle memory management and parsing for Linux-PAM binary messages. - Gets rid of the (technically) undefined behavior in PtrPtrVec due to pointer provenance. - Don't check for malloc failing. It won't, even if it does. - Formatting/cleanups/etc.
author Paul Fisher <paul@pfish.zone>
date Thu, 03 Jul 2025 23:57:49 -0400
parents 88627c057709
children
line wrap: on
line source

#![allow(unused_imports)]

macro_rules! include_test {
    ($file:literal) => {
        include!(concat!(env!("OUT_DIR"), "/", $file));
    };
}

#[allow(
    dead_code,
    non_camel_case_types,
    non_upper_case_globals,
    clippy::unnecessary_cast
)]
mod constants {
    mod generated {
        include_test!("bindgen.rs");
    }

    include_test!("constant_test.rs");

    #[test]
    fn test_constants() {
        main()
    }
}

#[allow(
    clippy::disallowed_names,
    clippy::needless_range_loop,
    clippy::nonminimal_bool
)]
mod ctest {
    use libc::*;
    use libpam_sys::*;
    include_test!("ctest.rs");

    #[test]
    #[cfg_attr(miri, ignore)]
    fn test_c() {
        main();
    }
}