blob: dad20e97213186b0e57f4f28283995b7d9272874 [file] [log] [blame]
David Browndd2b1182017-11-02 15:39:21 -06001//! Core tests
2//!
3//! Run the existing testsuite as a Rust unit test.
4
5extern crate bootsim;
6
David Browna4167ef2017-11-06 14:30:05 -07007use bootsim::{Run, testlog};
David Browndd2b1182017-11-02 15:39:21 -06008
David Browna4167ef2017-11-06 14:30:05 -07009macro_rules! sim_test {
10 ($name:ident, $maker:ident, $test:ident) => {
11 #[test]
12 fn $name() {
13 testlog::setup();
David Brownca7b5d32017-11-03 08:37:38 -060014
David Browna4167ef2017-11-06 14:30:05 -070015 Run::each_device(|r| {
16 let image = r.$maker();
17 assert!(!image.$test());
18 });
David Browndd2b1182017-11-02 15:39:21 -060019 }
David Browna4167ef2017-11-06 14:30:05 -070020 };
David Browndd2b1182017-11-02 15:39:21 -060021}
David Browna4167ef2017-11-06 14:30:05 -070022
23sim_test!(bad_slot1, make_bad_slot1_image, run_signfail_upgrade);
24sim_test!(norevert_newimage, make_no_upgrade_image, run_norevert_newimage);
25sim_test!(basic_revert, make_image, run_basic_revert);
26sim_test!(revert_with_fails, make_image, run_revert_with_fails);
27sim_test!(perm_with_fails, make_image, run_perm_with_fails);
28sim_test!(perm_with_random_fails, make_image, run_perm_with_random_fails_5);
29sim_test!(norevert, make_image, run_norevert);
Fabio Utzigb841f0a2017-11-24 08:11:05 -020030sim_test!(status_write_fails_complete, make_image, run_with_status_fails_complete);
Fabio Utzigeedcc452017-11-24 10:48:52 -020031sim_test!(status_write_fails_with_reset, make_image, run_with_status_fails_with_reset);