summaryrefslogtreecommitdiff
path: root/tests/futility/test_bdb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/futility/test_bdb.sh')
-rwxr-xr-xtests/futility/test_bdb.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/futility/test_bdb.sh b/tests/futility/test_bdb.sh
new file mode 100755
index 00000000..96b04cba
--- /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