blob: 3253ddfafeb6558775003424835e7576c66583b7 [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
David Browne5133242019-02-28 11:05:19 -07005use bootsim::{ImagesBuilder, testlog};
David Browndd2b1182017-11-02 15:39:21 -06006
David Browna4167ef2017-11-06 14:30:05 -07007macro_rules! sim_test {
8 ($name:ident, $maker:ident, $test:ident) => {
9 #[test]
10 fn $name() {
11 testlog::setup();
David Brownca7b5d32017-11-03 08:37:38 -060012
David Browne5133242019-02-28 11:05:19 -070013 ImagesBuilder::each_device(|r| {
David Browna4167ef2017-11-06 14:30:05 -070014 let image = r.$maker();
15 assert!(!image.$test());
16 });
David Browndd2b1182017-11-02 15:39:21 -060017 }
David Browna4167ef2017-11-06 14:30:05 -070018 };
David Browndd2b1182017-11-02 15:39:21 -060019}
David Browna4167ef2017-11-06 14:30:05 -070020
David Vincze2d736ad2019-02-18 11:50:22 +010021sim_test!(bad_secondary_slot, make_bad_secondary_slot_image, run_signfail_upgrade);
David Browna4167ef2017-11-06 14:30:05 -070022sim_test!(norevert_newimage, make_no_upgrade_image, run_norevert_newimage);
23sim_test!(basic_revert, make_image, run_basic_revert);
Fabio Utziged4a5362019-07-30 12:43:23 -030024sim_test!(revert_with_fails, make_non_permanent_image, run_revert_with_fails);
David Browna4167ef2017-11-06 14:30:05 -070025sim_test!(perm_with_fails, make_image, run_perm_with_fails);
26sim_test!(perm_with_random_fails, make_image, run_perm_with_random_fails_5);
27sim_test!(norevert, make_image, run_norevert);
Fabio Utzigb841f0a2017-11-24 08:11:05 -020028sim_test!(status_write_fails_complete, make_image, run_with_status_fails_complete);
Fabio Utzigeedcc452017-11-24 10:48:52 -020029sim_test!(status_write_fails_with_reset, make_image, run_with_status_fails_with_reset);