#case #test-cases #unit-testing #bare-metal #test

bare-test

A test framework for bare metal

15 releases (4 breaking)

new 0.4.0 Feb 18, 2025
0.3.2 Feb 12, 2025
0.3.1 Jan 20, 2025
0.2.0 Dec 10, 2024
0.0.3 Oct 31, 2024

#249 in Testing

Download history 333/week @ 2024-10-29 225/week @ 2024-11-05 458/week @ 2024-11-12 37/week @ 2024-11-19 110/week @ 2024-11-26 82/week @ 2024-12-03 183/week @ 2024-12-10 5/week @ 2024-12-17 12/week @ 2025-01-07 127/week @ 2025-01-14 91/week @ 2025-01-21 10/week @ 2025-01-28 35/week @ 2025-02-04 131/week @ 2025-02-11

390 downloads per month
Used in 2 crates

MPL-2.0 license

9KB
138 lines

Bare Test

A test framework for testing the bare metal.

Usage

  1. Install ostool.

    cargo install ostool
    
  2. setup .cargo/config.toml

    [target.'cfg(all(target_os = "none"))']
    runner = "ostool cargo-test"
    [build]
    target = "aarch64-unknown-none"
    
  3. setup cargo.toml.

    [dev-dependencies]
    bare-test = "0.2"
    
    [build-dependencies]
    bare-test-macros = "0.2"
    
    [[test]]
    name = "test"
    harness = false
    
  4. setup build.rs.

    fn main() {
        bare_test_macros::build_test_setup!();
    }
    
  5. new tests dir and add test.rs.

    #![no_std]
    #![no_main]
    #![feature(used_with_arg)]
    
    #[bare_test::tests]
    mod tests {
    
        #[test]
        fn it_works() {
            assert_eq!(2 + 2, 4)
        }
    
        #[test]
        fn test2() {
            assert_eq!(2 + 2, 4)
        }
    }
    
  6. run cargo test --test test -- --show-output.

  7. for uboot board test:

cargo test --test tests --  --show-output --uboot

Dependencies

~2.8–4MB
~78K SLoC