From aa77ae1b090e2f29b64531a39b2a632a6d979f87 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Thu, 22 Sep 2016 11:45:45 -0700 Subject: [PATCH] bdb: Add test for futility bdb --create and --verify This script will be testing futility bdb command. BUG=chromium:649554 BRANCH=none TEST=make runtests Change-Id: I3c5b9f9564b3cc67cac4eca02798b8146feeb072 Signed-off-by: Daisuke Nojiri Reviewed-on: https://chromium-review.googlesource.com/388732 Reviewed-by: Randall Spangler --- tests/futility/run_test_scripts.sh | 1 + tests/futility/test_bdb.sh | 36 ++++++++++++++++++++++++++++++ tests/testdata/bdbkey_digest.bin | 1 + tests/testdata/datakey_digest.bin | 1 + 4 files changed, 39 insertions(+) create mode 100755 tests/futility/test_bdb.sh create mode 100644 tests/testdata/bdbkey_digest.bin create mode 100644 tests/testdata/datakey_digest.bin diff --git a/tests/futility/run_test_scripts.sh b/tests/futility/run_test_scripts.sh index d55a44deca..0080819a36 100755 --- a/tests/futility/run_test_scripts.sh +++ b/tests/futility/run_test_scripts.sh @@ -40,6 +40,7 @@ export OUTDIR # These are the scripts to run. Binaries are invoked directly by the Makefile. TESTS=" +${SCRIPTDIR}/test_bdb.sh ${SCRIPTDIR}/test_create.sh ${SCRIPTDIR}/test_dump_fmap.sh ${SCRIPTDIR}/test_gbb_utility.sh diff --git a/tests/futility/test_bdb.sh b/tests/futility/test_bdb.sh new file mode 100755 index 0000000000..96b04cbaa6 --- /dev/null +++ b/tests/futility/test_bdb.sh @@ -0,0 +1,36 @@ +#!/bin/bash -eux +# Copyright 2015 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +me=${0##*/} +TMP="$me.tmp" + +# Work in scratch directory +cd "$OUTDIR" +BDB_FILE=bdb.bin + +TESTKEY_DIR=${SRCDIR}/tests/testkeys +TESTDATA_DIR=${SRCDIR}/tests/testdata + +BDBKEY_PUB=${TESTKEY_DIR}/bdbkey.keyb +BDBKEY_PRI=${TESTKEY_DIR}/bdbkey.pem +DATAKEY_PUB=${TESTKEY_DIR}/datakey.keyb +DATAKEY_PRI=${TESTKEY_DIR}/datakey.pem +BDBKEY_DIGEST=${TESTDATA_DIR}/bdbkey_digest.bin +DATAKEY_DIGEST=${TESTDATA_DIR}/datakey_digest.bin + +verify() { + local key_digest=${1:-${BDBKEY_DIGEST}} + ${FUTILITY} bdb --verify ${BDB_FILE} --key_digest ${key_digest} +} + +# Demonstrate bdb --create can create a valid BDB +${FUTILITY} bdb --create ${BDB_FILE} \ + --bdbkey_pri ${BDBKEY_PRI} --bdbkey_pub ${BDBKEY_PUB} \ + --datakey_pub ${DATAKEY_PUB} --datakey_pri ${DATAKEY_PRI} +verify + +# cleanup +rm -rf ${TMP}* +exit 0 diff --git a/tests/testdata/bdbkey_digest.bin b/tests/testdata/bdbkey_digest.bin new file mode 100644 index 0000000000..47d4e68a41 --- /dev/null +++ b/tests/testdata/bdbkey_digest.bin @@ -0,0 +1 @@ +ljVN"Isv}k͊b 'T \ No newline at end of file diff --git a/tests/testdata/datakey_digest.bin b/tests/testdata/datakey_digest.bin new file mode 100644 index 0000000000..23f1322bdd --- /dev/null +++ b/tests/testdata/datakey_digest.bin @@ -0,0 +1 @@ +w@˳cج&QiV \ No newline at end of file