summaryrefslogtreecommitdiff
path: root/tests/futility
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2018-08-24 12:25:42 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-08-31 11:19:59 -0700
commitad02d85e4fe8c2f96cf7abd3db25eafda056952e (patch)
tree5cb2b64d743a7de8fb3b9ecf82e6c27bcf32a165 /tests/futility
parent75e3c5bb621cf26d7fd774a6603e224ad4120f59 (diff)
downloadvboot-ad02d85e4fe8c2f96cf7abd3db25eafda056952e.tar.gz
futility: cmd_update: Implement updater logic "TRY-RW" (--try)
In vboot2, to try one RW (unused) section on next boot, we have to: - Find mainfw_act - Select and update to the "other" slot - Set system property fw_try_{next,count} values to try in next boot. The new '--try' (-t) option can trigger the mode if available. BUG=chromium:875551 TEST=make futil; tests/futility/run_test_scripts.sh $(pwd)/build/futility futility update --emulation FILE -i IMAGE -t --sys_prop 0; # Updates to B. futility update --emulation FILE -i IMAGE -t --sys_prop 1; # Updates to A. BRANCH=None Change-Id: I4b4662616a7181d2f37307238b7b80ae82369768 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1188017 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'tests/futility')
-rwxr-xr-xtests/futility/test_update.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh
index 873a6f56..9e8a6aa5 100755
--- a/tests/futility/test_update.sh
+++ b/tests/futility/test_update.sh
@@ -47,11 +47,17 @@ unpack_image "from" "${FROM_IMAGE}"
# Generate expected results.
cp -f "${TO_IMAGE}" "${TMP}.expected.full"
cp -f "${FROM_IMAGE}" "${TMP}.expected.rw"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.a"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.b"
"${FUTILITY}" load_fmap "${TMP}.expected.rw" \
RW_SECTION_A:${TMP}.to/RW_SECTION_A \
RW_SECTION_B:${TMP}.to/RW_SECTION_B \
RW_SHARED:${TMP}.to/RW_SHARED \
RW_LEGACY:${TMP}.to/RW_LEGACY
+"${FUTILITY}" load_fmap "${TMP}.expected.a" \
+ RW_SECTION_A:${TMP}.to/RW_SECTION_A
+"${FUTILITY}" load_fmap "${TMP}.expected.b" \
+ RW_SECTION_B:${TMP}.to/RW_SECTION_B
test_update() {
local test_name="$1"
@@ -78,3 +84,12 @@ test_update "Full update" \
test_update "RW update" \
"${FROM_IMAGE}" "${TMP}.expected.rw" \
-i "${TO_IMAGE}" --wp=1
+
+# Test Try-RW update (vboot2).
+test_update "RW update (A->B)" \
+ "${FROM_IMAGE}" "${TMP}.expected.b" \
+ -i "${TO_IMAGE}" -t --wp=1 --sys_props 0
+
+test_update "RW update (B->A)" \
+ "${FROM_IMAGE}" "${TMP}.expected.a" \
+ -i "${TO_IMAGE}" -t --wp=1 --sys_props 1