diff options
Diffstat (limited to 'tests.as-root/branch-from-image-works.script')
-rwxr-xr-x | tests.as-root/branch-from-image-works.script | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests.as-root/branch-from-image-works.script b/tests.as-root/branch-from-image-works.script new file mode 100755 index 00000000..1d694e9b --- /dev/null +++ b/tests.as-root/branch-from-image-works.script @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Copyright (C) 2013 Codethink Limited +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +# A branch created with branch-from-image has the right commits specified + +set -eu + +# Disable test on versions of Python before 2.7. +. "$SRCDIR/scripts/python-check" + +. "$SRCDIR/scripts/fix-committer-info" + +tar=$("$SRCDIR/scripts/test-morph" --find-system-artifact \ + build-morphology test:morphs tarball hello-tarball) + +extracted="$DATADIR/extracted" +mkdir -p "$extracted" +tar -xf "$tar" -C "$extracted" +get_sha1(){ + sed -nre '/sha1/s/^.*([0-9a-f]{40}).*$/\1/p' "$1" +} +hello_chunk_commit=$(get_sha1 "$extracted/baserock/hello.meta") + +# Make a commit so that petrifying from HEAD is detectable +chunkrepo="$DATADIR/chunk-repo" +cd "$chunkrepo" +git checkout --quiet farrokh +sed -i -e 's/hello, world/goodbye, world/g' hello.c +git add hello.c +git commit --quiet -m 'Make hello say goodbye' + + +workspace="$DATADIR/workspace" +"$SRCDIR/scripts/test-morph" init "$workspace" +cd "$workspace" +"$SRCDIR/scripts/test-morph" branch-from-image \ + test:morphs mybranch "$extracted/baserock" +cd mybranch/test:morphs +grep -qFe "$hello_chunk_commit" hello-stratum.morph +tar=$("$SRCDIR/scripts/test-morph" --find-system-artifact build hello-tarball) +tar -xf "$tar" bin/hello +bin/hello |