summaryrefslogtreecommitdiff
path: root/tests/futility/test_update.sh
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2018-08-24 13:06:34 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-08-31 11:19:58 -0700
commit8d8acddf86a76702438aff5f2f8f57df3ff73dd8 (patch)
tree24db30e874bb838648b9282e9867617c0fc44ddc /tests/futility/test_update.sh
parentd7d098dfc83c8ae7dd09f07738d22bd8f506a049 (diff)
downloadvboot-8d8acddf86a76702438aff5f2f8f57df3ff73dd8.tar.gz
futility: cmd_update: Implement updater logic "RW UPDATE".
The logic is same as --mode=recovery,--wp=1 in legacy firmware updater. An debugging option '--wp' is introduced so user can easily switch between FULL UPDATE (--wp=0) or RW UPDATE (--wp=1). BUG=chromium:875551 TEST=make futil; futility update -i IMAGE --wp=0; futility update -i IMAGE --wp=1; tests/futility/run_test_scripts.sh $(pwd)/build/futility BRANCH=None Change-Id: Ic7d8aa8b327296988ebf80a8e737e8893b7870ea Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1188016 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'tests/futility/test_update.sh')
-rwxr-xr-xtests/futility/test_update.sh25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/futility/test_update.sh b/tests/futility/test_update.sh
index ca9c6f85..e06bbc59 100755
--- a/tests/futility/test_update.sh
+++ b/tests/futility/test_update.sh
@@ -33,7 +33,25 @@ FROM_IMAGE=${TMP}.src.peppy
cp -f ${LINK_BIOS} ${TO_IMAGE}
cp -f ${PEPPY_BIOS} ${FROM_IMAGE}
+unpack_image() {
+ local folder="${TMP}.$1"
+ local image="$2"
+ mkdir -p "${folder}"
+ (cd "${folder}" && ${FUTILITY} dump_fmap -x "../${image}")
+}
+
+# Unpack images so we can prepare expected results by individual sections.
+unpack_image "to" "${TO_IMAGE}"
+unpack_image "from" "${FROM_IMAGE}"
+
+# Generate expected results.
cp -f "${TO_IMAGE}" "${TMP}.expected.full"
+cp -f "${FROM_IMAGE}" "${TMP}.expected.rw"
+"${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
test_update() {
local test_name="$1"
@@ -52,4 +70,9 @@ test_update() {
# Test Full update.
test_update "Full update" \
"${FROM_IMAGE}" "${TMP}.expected.full" \
- -i "${TO_IMAGE}"
+ -i "${TO_IMAGE}" --wp=0
+
+# Test RW-only update.
+test_update "RW update" \
+ "${FROM_IMAGE}" "${TMP}.expected.rw" \
+ -i "${TO_IMAGE}" --wp=1