From 6aa447a917c02d67dc65b41b3716c9951544b110 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 1 Apr 2016 10:20:34 +0200 Subject: [PATCH] Add test case for inheriting remote options Closes: #236 Approved by: cgwalters --- Makefile-tests.am | 1 + tests/test-parent.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100755 tests/test-parent.sh diff --git a/Makefile-tests.am b/Makefile-tests.am index 4adfbf7b..b3d75142 100644 --- a/Makefile-tests.am +++ b/Makefile-tests.am @@ -40,6 +40,7 @@ test_scripts = \ tests/test-export.sh \ tests/test-help.sh \ tests/test-libarchive.sh \ + tests/test-parent.sh \ tests/test-pull-archive-z.sh \ tests/test-pull-commit-only.sh \ tests/test-pull-corruption.sh \ diff --git a/tests/test-parent.sh b/tests/test-parent.sh new file mode 100755 index 00000000..05b102a2 --- /dev/null +++ b/tests/test-parent.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Copyright (C) 2016 Alexander Larsson +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +set -euo pipefail + +. $(dirname $0)/libtest.sh + +echo '1..2' + +setup_test_repository "archive-z2" + +export OSTREE_GPG_SIGN="${OSTREE} gpg-sign --gpg-homedir=${TEST_GPG_KEYHOME}" + +cd ${test_tmpdir} + +# Create a repo +${CMD_PREFIX} ostree --repo=repo2 init +${CMD_PREFIX} ostree --repo=repo2 remote add --gpg-import=${test_tmpdir}/gpghome/trusted/pubring.gpg --set=gpg-verify=true aremote file://$(pwd)/repo test2 + +# Create a repo with repo2 as parent +${CMD_PREFIX} ostree init --repo=repo3 --mode=bare-user +${CMD_PREFIX} ostree config --repo=repo3 set core.parent `pwd`/repo2 + +# Ensure the unsigned pull fails so we know we imported the gpg config correctly +if ${CMD_PREFIX} ostree --repo=repo3 pull aremote; then + assert_not_reached "GPG verification unexpectedly succeeded" +fi +echo "ok unsigned pull w/parent" + +# Make a signed commit and ensure we can now pull +${OSTREE} commit -b test2 -s "A GPG signed commit" -m "Signed commit body" --gpg-sign=${TEST_GPG_KEYID_1} --gpg-homedir=${TEST_GPG_KEYHOME} --tree=dir=files +${CMD_PREFIX} ostree --repo=repo3 pull aremote + +echo "ok signed pull w/parent"