refactor: tests on host with less stuff disabled
This commit is contained in:
parent
65ae71efff
commit
c82d194206
1 changed files with 16 additions and 8 deletions
|
@ -1,15 +1,20 @@
|
|||
//! This example shows how a embedded program can be written that is testable on the host with
|
||||
//! libtest.
|
||||
//!
|
||||
//! The tests can be run with:
|
||||
//! ```bash
|
||||
//! cargo test --example=test-on-host --target=x86_64-unknown-linux-gnu
|
||||
//! ```
|
||||
|
||||
#![cfg_attr(not(test), no_main)]
|
||||
#![no_std]
|
||||
|
||||
#[cfg(not(test))]
|
||||
extern crate panic_halt;
|
||||
|
||||
#[cfg(not(test))]
|
||||
use cortex_m_rt::entry;
|
||||
use hal::{pac, prelude::*, rcc::Config};
|
||||
|
||||
#[cfg(not(test))]
|
||||
#[entry]
|
||||
#[cfg_attr(not(test), cortex_m_rt::entry)] // this is the entrypoint unless testing
|
||||
fn main() -> ! {
|
||||
let dp = pac::Peripherals::take().unwrap();
|
||||
let cp = cortex_m::Peripherals::take().unwrap();
|
||||
|
@ -31,21 +36,24 @@ fn main() -> ! {
|
|||
led.set_high().unwrap();
|
||||
delay.delay_ms(500_u16);
|
||||
|
||||
let important_number = some_function(19);
|
||||
delay.delay_ms(important_number as u16);
|
||||
|
||||
led.set_low().unwrap();
|
||||
delay.delay_ms(500_u16);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
fn main() -> ! {
|
||||
loop {}
|
||||
fn some_function(num: i32) -> i32 {
|
||||
num * 2
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::some_function;
|
||||
|
||||
#[test]
|
||||
fn test_it_works() {
|
||||
assert!(true)
|
||||
assert_eq!(some_function(9), 18)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue