Revert "Revert "Add more tests for mtectrl override""
This reverts commit f479835c7256b1dc57dd31d3a26a455e689e997a.
diff --git a/mtectrl/mtectrl_test.cc b/mtectrl/mtectrl_test.cc
index d4463cb..aadd9d6 100644
--- a/mtectrl/mtectrl_test.cc
+++ b/mtectrl/mtectrl_test.cc
@@ -154,6 +154,31 @@
EXPECT_EQ(TestProperty(), "none");
}
+TEST_F(MteCtrlTest, set_read_force_off_none) {
+ Boot({});
+ SetMemtagProp("none");
+ SetOverrideProp("force_off");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off,forced");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "none");
+}
+
+TEST_F(MteCtrlTest, set_read_force_off_and_on) {
+ Boot({});
+ SetMemtagProp("memtag,memtag-once");
+ SetOverrideProp("force_off");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off,forced");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "none");
+ SetOverrideProp("force_on");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag,forced");
+}
+
TEST_F(MteCtrlTest, set_read_force_off_already) {
Boot({});
SetMemtagProp("memtag-off,memtag-once");
@@ -165,6 +190,20 @@
EXPECT_EQ(TestProperty(), "memtag-off");
}
+TEST_F(MteCtrlTest, set_read_force_off_and_on_already) {
+ Boot({});
+ SetMemtagProp("memtag-off,memtag-once");
+ SetOverrideProp("force_off");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off");
+ SetOverrideProp("force_on");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag,forced");
+}
+
TEST_F(MteCtrlTest, set_read_force_on) {
Boot({});
SetMemtagProp("memtag-once");
@@ -176,6 +215,31 @@
EXPECT_EQ(TestProperty(), "none");
}
+TEST_F(MteCtrlTest, set_read_force_on_none) {
+ Boot({});
+ SetMemtagProp("none");
+ SetOverrideProp("force_on");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag,forced");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "none");
+}
+
+TEST_F(MteCtrlTest, set_read_force_on_and_off) {
+ Boot({});
+ SetMemtagProp("memtag-once");
+ SetOverrideProp("force_on");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag,forced");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "none");
+ SetOverrideProp("force_off");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off,forced");
+}
+
TEST_F(MteCtrlTest, set_read_force_on_already) {
Boot({});
SetMemtagProp("memtag,memtag-once");
@@ -187,6 +251,20 @@
EXPECT_EQ(TestProperty(), "memtag");
}
+TEST_F(MteCtrlTest, set_read_force_on_and_off_already) {
+ Boot({});
+ SetMemtagProp("memtag,memtag-once");
+ SetOverrideProp("force_on");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag");
+ SetOverrideProp("default");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag");
+ SetOverrideProp("force_off");
+ Reboot();
+ EXPECT_EQ(TestProperty(), "memtag-off,forced");
+}
+
TEST_F(MteCtrlTest, override) {
Boot({});
SetMemtagProp(("memtag"));