summaryrefslogtreecommitdiff
path: root/mtectrl
diff options
context:
space:
mode:
Diffstat (limited to 'mtectrl')
-rw-r--r--mtectrl/mtectrl_test.cc78
1 files changed, 78 insertions, 0 deletions
diff --git a/mtectrl/mtectrl_test.cc b/mtectrl/mtectrl_test.cc
index d4463cb3..aadd9d6e 100644
--- a/mtectrl/mtectrl_test.cc
+++ b/mtectrl/mtectrl_test.cc
@@ -154,6 +154,31 @@ TEST_F(MteCtrlTest, set_read_force_off) {
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 @@ TEST_F(MteCtrlTest, set_read_force_off_already) {
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 @@ TEST_F(MteCtrlTest, set_read_force_on) {
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 @@ TEST_F(MteCtrlTest, set_read_force_on_already) {
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"));