test: first example of tests on host

This commit is contained in:
cscherr 2025-04-30 16:27:18 +02:00
parent 630b2b996e
commit 65ae71efff
Signed by: cscherrNT
GPG key ID: 8E2B45BC51A27EA7
2 changed files with 53 additions and 1 deletions

View file

@ -24,7 +24,8 @@ fn main() -> ! {
let mut rcc = dp.RCC.freeze(Config::hsi16());
let mut delay = cp.SYST.delay(rcc.clocks);
compile_error!("The chip does not have an AES unit >:{");
// WARN: Make sure your chip has AES
panic!("The chip does not have an AES unit >:");
let aes = hal::aes::AES::new(dp.AES, &mut rcc);
let mut ecb_stream = aes.enable(<dyn hal::aes::Mode>::ecb_encrypt(), AES_KEY);
let mut encbuf: [[u8; 16]; 4] = [[0; 16]; 4];

51
examples/test-on-host.rs Executable file
View file

@ -0,0 +1,51 @@
#![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]
fn main() -> ! {
let dp = pac::Peripherals::take().unwrap();
let cp = cortex_m::Peripherals::take().unwrap();
// Configure the clock.
let mut rcc = dp.RCC.freeze(Config::hsi16());
// Acquire the GPIOA peripheral. This also enables the clock for GPIOA in
// the RCC register.
let gpioa = dp.GPIOA.split(&mut rcc);
// Configure PA5 as output.
let mut led = gpioa.pa5.into_push_pull_output();
// Get the delay provider.
let mut delay = cp.SYST.delay(rcc.clocks);
loop {
led.set_high().unwrap();
delay.delay_ms(500_u16);
led.set_low().unwrap();
delay.delay_ms(500_u16);
}
}
#[cfg(test)]
fn main() -> ! {
loop {}
}
#[cfg(test)]
mod tests {
#[test]
fn test_it_works() {
assert!(true)
}
}