#!/bin/bash # Copyright (C) 2012-2014 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. ## Make sure "morph build" works anywhere in a workspace or system branch ## and produces the same results every time. # FIXME: This seems to break because the new "morph edit" makes correct # changes to build-dependencies, which breaks the old "morph build". # Disable test now, re-enable it after "morph build" is fixed. --liw exit 0 set -eu source "$SRCDIR/tests.as-root/setup-build" # Build the linux system from the system branch. cd "$DATADIR/workspace" "$SRCDIR/scripts/test-morph" build linux-system # Print tree SHA1s of the build ref of morphs and kernel. cd "$DATADIR/workspace/branch1/test/morphs" MORPHS_SHA1="$(git rev-parse baserock/builds/123456789/987654321)" cd "$DATADIR/workspace/branch1/test/kernel-repo" KERNEL_SHA1="$(git rev-parse baserock/builds/123456789/AABBCCDDE)" # Make an uncommitted change to the linux morphology. cd "$DATADIR/workspace/branch1/test/kernel-repo" sed -i -e 's@touch@touch foo@g' linux.morph # Build the linux system again without comitting. cd "$DATADIR/workspace" "$SRCDIR/scripts/test-morph" build linux-system # Print tree SHA1s of the build ref of morphs and kernel again. # This time the tree SHA1 of morphs should be the same # but that of the kernel repo should be different because we # made a change. cd "$DATADIR/workspace/branch1/test/morphs" [ "$(git rev-parse baserock/builds/123456789/987654321)" != "$MORPHS_SHA1" ] cd "$DATADIR/workspace/branch1/test/kernel-repo" [ "$(git rev-parse baserock/builds/123456789/AABBCCDDE)" != "$KERNEL_SHA1" ]