diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2012-10-18 11:11:44 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2012-10-18 11:11:44 +0000 |
commit | 1ff0d7088d6d800f26392850861d71bb2f14932c (patch) | |
tree | 898eefa2de41ad7da52e1f5ad259af39a2b1db28 /tests.branching | |
parent | cf7ed1cb79d4862c92261ac57a27b082a8f10f84 (diff) | |
parent | c1d2fe7d811b15eb411b976b2619c44f46b8267e (diff) | |
download | morph-1ff0d7088d6d800f26392850861d71bb2f14932c.tar.gz |
Merge branch 'samthursfield/petrify-avoid-edited-chunks' of git://git.baserock.org/baserock/morph
Diffstat (limited to 'tests.branching')
-rwxr-xr-x | tests.branching/petrify-no-double-petrify.script | 4 | ||||
-rwxr-xr-x | tests.branching/petrify.script | 11 | ||||
-rw-r--r-- | tests.branching/petrify.stdout | 12 | ||||
-rwxr-xr-x | tests.branching/setup-second-chunk | 69 |
4 files changed, 91 insertions, 5 deletions
diff --git a/tests.branching/petrify-no-double-petrify.script b/tests.branching/petrify-no-double-petrify.script index 3e7ac412..9fc00d39 100755 --- a/tests.branching/petrify-no-double-petrify.script +++ b/tests.branching/petrify-no-double-petrify.script @@ -31,9 +31,9 @@ fi cd "$DATADIR/workspace" "$SRCDIR/scripts/test-morph" init -"$SRCDIR/scripts/test-morph" checkout baserock:morphs master +"$SRCDIR/scripts/test-morph" branch baserock:morphs test/petrify -cd master/baserock:morphs +cd test/petrify/baserock:morphs "$SRCDIR/scripts/test-morph" petrify "$SRCDIR/scripts/test-morph" petrify "$SRCDIR/scripts/test-morph" petrify diff --git a/tests.branching/petrify.script b/tests.branching/petrify.script index 0b5ff018..c1828bf3 100755 --- a/tests.branching/petrify.script +++ b/tests.branching/petrify.script @@ -15,7 +15,8 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# Verify that "morph petrify" works. +# Verify "morph petrify", and ensure it doesn't petrify chunks that have +# already been edited. set -eu @@ -28,11 +29,15 @@ then exit 0 fi +. "$SRCDIR/tests.branching/setup-second-chunk" + cd "$DATADIR/workspace" "$SRCDIR/scripts/test-morph" init -"$SRCDIR/scripts/test-morph" checkout baserock:morphs master +"$SRCDIR/scripts/test-morph" branch baserock:morphs test/petrify master + +cd test/petrify/baserock:morphs +"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum goodbye -cd master/baserock:morphs "$SRCDIR/scripts/test-morph" petrify echo "Petrified:" cat hello-stratum.morph diff --git a/tests.branching/petrify.stdout b/tests.branching/petrify.stdout index 249a8f59..6219c84e 100644 --- a/tests.branching/petrify.stdout +++ b/tests.branching/petrify.stdout @@ -9,6 +9,12 @@ Petrified: "ref": "f4d032b42c0134e67bdf19a43fa99072493667d7", "build-depends": [], "unpetrify-ref": "master" + }, + { + "name": "goodbye", + "repo": "baserock:goodbye", + "ref": "test/petrify", + "build-depends": [] } ] } @@ -23,6 +29,12 @@ Unpetrified: "repo": "baserock:hello", "ref": "master", "build-depends": [] + }, + { + "name": "goodbye", + "repo": "baserock:goodbye", + "ref": "test/petrify", + "build-depends": [] } ] } diff --git a/tests.branching/setup-second-chunk b/tests.branching/setup-second-chunk new file mode 100755 index 00000000..9f7aa419 --- /dev/null +++ b/tests.branching/setup-second-chunk @@ -0,0 +1,69 @@ +#!/bin/sh +# Copyright (C) 2012 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. + + +# Add a second chunk to hello-stratum. + +. "$SRCDIR/scripts/fix-committer-info" + +create_chunk() { + REPO="$1" + NAME="$2" + + mkdir "$1" + ln -s "$1" "$1.git" + cd "$1" + + cat <<EOF > "$1/$2.morph" +{ + "name": "$2", + "kind": "chunk", + "build-system": "dummy" +} +EOF + + git init --quiet + git add . + git commit --quiet -m "Initial commit" +} + +create_chunk "$DATADIR/goodbye" "hello" + +cd "$DATADIR/morphs" +cat <<EOF > hello-stratum.morph +{ + "name": "hello-stratum", + "kind": "stratum", + "chunks": [ + { + "name": "hello", + "repo": "baserock:hello", + "ref": "master", + "build-depends": [] + }, + { + "name": "goodbye", + "repo": "baserock:goodbye", + "ref": "master", + "build-depends": [] + } + ] +} +EOF + +git commit -q --all -m "Add goodbye to hello-stratum" + +cd "$DATADIR/workspace" |