summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--futility/cmd_update.c2
-rwxr-xr-xtests/futility/test_update.sh9
2 files changed, 10 insertions, 1 deletions
diff --git a/futility/cmd_update.c b/futility/cmd_update.c
index 7e57b97d..47a734aa 100644
--- a/futility/cmd_update.c
+++ b/futility/cmd_update.c
@@ -1894,7 +1894,7 @@ static int do_update(int argc, char *argv[])
} else if (strcmp(optarg, "factory") == 0 ||
strcmp(optarg, "factory_install") == 0) {
cfg.try_update = 0;
- if (!is_write_protection_enabled(&cfg)) {
+ if (is_write_protection_enabled(&cfg)) {
errorcnt++;
Error("Mode %s needs WP disabled.\n",
optarg);
diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh
index 44530abb..119974f1 100755
--- a/tests/futility/test_update.sh
+++ b/tests/futility/test_update.sh
@@ -220,6 +220,15 @@ test_update "RW update (vboot1, B->B)" \
"${FROM_IMAGE}" "${TMP}.expected.b" \
-i "${TO_IMAGE}" -t --wp=1 --sys_props 1,0 --sys_props 0,0x10001,0
+# Test 'factory mode'
+test_update "Factory mode update (WP=0)" \
+ "${FROM_IMAGE}" "${TMP}.expected.full" \
+ -i "${TO_IMAGE}" --wp=0 --sys_props 0,0x10001,1
+
+test_update "Factory mode update (WP=1)" \
+ "${FROM_IMAGE}" "!needs WP disabled" \
+ -i "${TO_IMAGE}" --wp=1 --sys_props 0,0x10001,1
+
# Test legacy update
test_update "Legacy update" \
"${FROM_IMAGE}" "${TMP}.expected.legacy" \