summaryrefslogtreecommitdiff
path: root/tests.branching
diff options
context:
space:
mode:
Diffstat (limited to 'tests.branching')
-rwxr-xr-xtests.branching/petrify-no-double-petrify.script4
-rwxr-xr-xtests.branching/petrify.script11
-rw-r--r--tests.branching/petrify.stdout12
-rwxr-xr-xtests.branching/setup-second-chunk69
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"