sim: Add dependency tests to simulator
Create a trait `Depender` which is passed down to the image create and
verification to check and test for various types of dependency
resolution. Add a test that uses this to test the simple case of unmet
dependencies preventing an upgrade.
The actual test is disabled (with an `if false ...`) because the code
under test loops forever in this configuration.
Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/sim/src/lib.rs b/sim/src/lib.rs
index 1ed75dd..c8e8963 100644
--- a/sim/src/lib.rs
+++ b/sim/src/lib.rs
@@ -7,13 +7,21 @@
use serde_derive::Deserialize;
mod caps;
+mod depends;
mod image;
mod tlv;
pub mod testlog;
-pub use crate::image::{
- ImagesBuilder,
- show_sizes,
+pub use crate::{
+ depends::{
+ DepTest,
+ DepType,
+ UpgradeInfo,
+ NO_DEPS,},
+ image::{
+ ImagesBuilder,
+ show_sizes,
+ },
};
const USAGE: &'static str = "
@@ -179,10 +187,10 @@
failed |= bad_secondary_slot_image.run_signfail_upgrade();
- let images = run.clone().make_no_upgrade_image();
+ let images = run.clone().make_no_upgrade_image(&NO_DEPS);
failed |= images.run_norevert_newimage();
- let images = run.make_image(true);
+ let images = run.make_image(&NO_DEPS, true);
failed |= images.run_basic_revert();
failed |= images.run_revert_with_fails();