1#!/bin/bash -eux 2# Copyright 2013 The ChromiumOS Authors 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6me=${0##*/} 7TMP="${me}.tmp" 8 9# Work in scratch directory 10cd "${OUTDIR}" 11 12# Good FMAP 13"${FUTILITY}" dump_fmap -F "${SCRIPT_DIR}/futility/data_fmap.bin" > "${TMP}" 14cmp "${SCRIPT_DIR}/futility/data_fmap_expect_f.txt" "${TMP}" 15 16"${FUTILITY}" dump_fmap -p "${SCRIPT_DIR}/futility/data_fmap.bin" > "${TMP}" 17cmp "${SCRIPT_DIR}/futility/data_fmap_expect_p.txt" "${TMP}" 18 19"${FUTILITY}" dump_fmap -h "${SCRIPT_DIR}/futility/data_fmap.bin" > "${TMP}" 20cmp "${SCRIPT_DIR}/futility/data_fmap_expect_h.txt" "${TMP}" 21 22"${FUTILITY}" dump_fmap -e "${SCRIPT_DIR}/futility/data_fmap3.bin" > "${TMP}" 23cmp "${SCRIPT_DIR}/futility/data_fmap_expect_e.txt" "${TMP}" 24 25 26# This should fail because the input file is truncated and doesn't really 27# contain the stuff that the FMAP claims it does. 28if "${FUTILITY}" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" FMAP; \ 29 then false; fi 30 31# This should fail because of invalid section name. 32if "${FUTILITY}" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" NO_SUCH; \ 33 then false; fi 34 35# However, this should work. 36"${FUTILITY}" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" SI_DESC > \ 37 "${TMP}" 38cmp "${SCRIPT_DIR}/futility/data_fmap_expect_x.txt" "${TMP}" 39 40# Redirect dumping to a different place 41"${FUTILITY}" dump_fmap -x "${SCRIPT_DIR}/futility/data_fmap.bin" SI_DESC:FOO \ 42 > "${TMP}" 43cmp "${SCRIPT_DIR}/futility/data_fmap_expect_x2.txt" "${TMP}" 44cmp SI_DESC FOO 45 46# This FMAP has problems, and should fail. 47if "${FUTILITY}" dump_fmap -h "${SCRIPT_DIR}/futility/data_fmap2.bin" > \ 48 "${TMP}"; then false; fi 49cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_h.txt" "${TMP}" 50 51"${FUTILITY}" dump_fmap -hh "${SCRIPT_DIR}/futility/data_fmap2.bin" > "${TMP}" 52cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_hh.txt" "${TMP}" 53 54"${FUTILITY}" dump_fmap -hhH "${SCRIPT_DIR}/futility/data_fmap2.bin" > "${TMP}" 55cmp "${SCRIPT_DIR}/futility/data_fmap2_expect_hhH.txt" "${TMP}" 56 57 58# cleanup 59rm -f "${TMP}"* FMAP SI_DESC FOO 60exit 0 61