summaryrefslogtreecommitdiff
path: root/tests.as-root
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2013-01-25 15:17:44 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2013-01-25 16:02:20 +0000
commit7751ea4a71523fed39cefa6c9300f91e2446243b (patch)
tree62a84ed6aa7b23bb8f346f659fcdfa9c7629bc0b /tests.as-root
parent81426ef48f85b32804f744e6fcf89b6372325dc7 (diff)
downloadmorph-7751ea4a71523fed39cefa6c9300f91e2446243b.tar.gz
Add test for committed removes being tracked
This was the only case found which was fixed by the previous commit.
Diffstat (limited to 'tests.as-root')
-rwxr-xr-xtests.as-root/building-a-system-branch-picks-up-committed-removes.script56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests.as-root/building-a-system-branch-picks-up-committed-removes.script b/tests.as-root/building-a-system-branch-picks-up-committed-removes.script
new file mode 100755
index 00000000..9a17a40e
--- /dev/null
+++ b/tests.as-root/building-a-system-branch-picks-up-committed-removes.script
@@ -0,0 +1,56 @@
+#!/bin/bash
+# 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.
+
+set -e
+
+. "$SRCDIR/tests.as-root/setup-build"
+KERNEL_BRANCH=baserock/builds/123456789/AABBCCDDE
+
+cd "$DATADIR/workspace/branch1/test:kernel-repo"
+git checkout --quiet master
+echo Use Morph >README
+git add README
+git commit --quiet -m 'Add README'
+
+# Build the linux system from the system branch.
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" build linux-system
+
+# Make a change elsewhere to be pulled in
+PEER_REPO="$DATADIR/peer-kernel"
+git clone --quiet "file://$DATADIR/workspace/branch1/test:kernel-repo" "$PEER_REPO"
+cd "$PEER_REPO"
+git checkout --quiet -b fix
+# remove useless README
+git rm --quiet README
+git commit --quiet -m 'change stuff'
+git checkout --quiet master
+git merge --no-ff fix >/dev/null 2>&1
+
+# Pull a commit in to the linux morphology.
+cd "$DATADIR/workspace/branch1/test:kernel-repo"
+git remote add peer "file://$PEER_REPO"
+git remote update >/dev/null 2>&1
+git merge --quiet peer/master
+
+# Build the linux system again without comitting.
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" build linux-system
+cd branch1/test:kernel-repo
+
+# Check whether the new morphology exists in the temporary build ref
+cd "$DATADIR/workspace/branch1/test:kernel-repo"
+! git cat-file blob "$KERNEL_BRANCH:README" >/dev/null 2>&1