@@ -154,6 +154,31 @@ TEST_F(MteCtrlTest, set_read_force_off) {
154
154
EXPECT_EQ (TestProperty (), " none" );
155
155
}
156
156
157
+ TEST_F (MteCtrlTest, set_read_force_off_none) {
158
+ Boot ({});
159
+ SetMemtagProp (" none" );
160
+ SetOverrideProp (" force_off" );
161
+ Reboot ();
162
+ EXPECT_EQ (TestProperty (), " memtag-off,forced" );
163
+ SetOverrideProp (" default" );
164
+ Reboot ();
165
+ EXPECT_EQ (TestProperty (), " none" );
166
+ }
167
+
168
+ TEST_F (MteCtrlTest, set_read_force_off_and_on) {
169
+ Boot ({});
170
+ SetMemtagProp (" memtag,memtag-once" );
171
+ SetOverrideProp (" force_off" );
172
+ Reboot ();
173
+ EXPECT_EQ (TestProperty (), " memtag-off,forced" );
174
+ SetOverrideProp (" default" );
175
+ Reboot ();
176
+ EXPECT_EQ (TestProperty (), " none" );
177
+ SetOverrideProp (" force_on" );
178
+ Reboot ();
179
+ EXPECT_EQ (TestProperty (), " memtag,forced" );
180
+ }
181
+
157
182
TEST_F (MteCtrlTest, set_read_force_off_already) {
158
183
Boot ({});
159
184
SetMemtagProp (" memtag-off,memtag-once" );
@@ -165,6 +190,20 @@ TEST_F(MteCtrlTest, set_read_force_off_already) {
165
190
EXPECT_EQ (TestProperty (), " memtag-off" );
166
191
}
167
192
193
+ TEST_F (MteCtrlTest, set_read_force_off_and_on_already) {
194
+ Boot ({});
195
+ SetMemtagProp (" memtag-off,memtag-once" );
196
+ SetOverrideProp (" force_off" );
197
+ Reboot ();
198
+ EXPECT_EQ (TestProperty (), " memtag-off" );
199
+ SetOverrideProp (" default" );
200
+ Reboot ();
201
+ EXPECT_EQ (TestProperty (), " memtag-off" );
202
+ SetOverrideProp (" force_on" );
203
+ Reboot ();
204
+ EXPECT_EQ (TestProperty (), " memtag,forced" );
205
+ }
206
+
168
207
TEST_F (MteCtrlTest, set_read_force_on) {
169
208
Boot ({});
170
209
SetMemtagProp (" memtag-once" );
@@ -176,6 +215,31 @@ TEST_F(MteCtrlTest, set_read_force_on) {
176
215
EXPECT_EQ (TestProperty (), " none" );
177
216
}
178
217
218
+ TEST_F (MteCtrlTest, set_read_force_on_none) {
219
+ Boot ({});
220
+ SetMemtagProp (" none" );
221
+ SetOverrideProp (" force_on" );
222
+ Reboot ();
223
+ EXPECT_EQ (TestProperty (), " memtag,forced" );
224
+ SetOverrideProp (" default" );
225
+ Reboot ();
226
+ EXPECT_EQ (TestProperty (), " none" );
227
+ }
228
+
229
+ TEST_F (MteCtrlTest, set_read_force_on_and_off) {
230
+ Boot ({});
231
+ SetMemtagProp (" memtag-once" );
232
+ SetOverrideProp (" force_on" );
233
+ Reboot ();
234
+ EXPECT_EQ (TestProperty (), " memtag,forced" );
235
+ SetOverrideProp (" default" );
236
+ Reboot ();
237
+ EXPECT_EQ (TestProperty (), " none" );
238
+ SetOverrideProp (" force_off" );
239
+ Reboot ();
240
+ EXPECT_EQ (TestProperty (), " memtag-off,forced" );
241
+ }
242
+
179
243
TEST_F (MteCtrlTest, set_read_force_on_already) {
180
244
Boot ({});
181
245
SetMemtagProp (" memtag,memtag-once" );
@@ -187,6 +251,20 @@ TEST_F(MteCtrlTest, set_read_force_on_already) {
187
251
EXPECT_EQ (TestProperty (), " memtag" );
188
252
}
189
253
254
+ TEST_F (MteCtrlTest, set_read_force_on_and_off_already) {
255
+ Boot ({});
256
+ SetMemtagProp (" memtag,memtag-once" );
257
+ SetOverrideProp (" force_on" );
258
+ Reboot ();
259
+ EXPECT_EQ (TestProperty (), " memtag" );
260
+ SetOverrideProp (" default" );
261
+ Reboot ();
262
+ EXPECT_EQ (TestProperty (), " memtag" );
263
+ SetOverrideProp (" force_off" );
264
+ Reboot ();
265
+ EXPECT_EQ (TestProperty (), " memtag-off,forced" );
266
+ }
267
+
190
268
TEST_F (MteCtrlTest, override ) {
191
269
Boot ({});
192
270
SetMemtagProp ((" memtag" ));
0 commit comments