diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-09-20 17:20:16 +0100 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-09-21 16:06:08 +0100 |
commit | 4e99430709842dccd014410d5edf67aae39c519e (patch) | |
tree | 11aa2ab9ce9bdb2ac66d24d9a445189c61dee6c2 /tests.branching/workflow-separate-stratum-repos.script | |
parent | d473e869cb2ad2fa54696f0336ade1c1fbb0ec84 (diff) | |
download | morph-4e99430709842dccd014410d5edf67aae39c519e.tar.gz |
Add petrify/unpetrify workflow test
Split out the external strata scripts to share between workflow tests.
Diffstat (limited to 'tests.branching/workflow-separate-stratum-repos.script')
-rwxr-xr-x | tests.branching/workflow-separate-stratum-repos.script | 114 |
1 files changed, 2 insertions, 112 deletions
diff --git a/tests.branching/workflow-separate-stratum-repos.script b/tests.branching/workflow-separate-stratum-repos.script index 06c4f3b8..d8be404c 100755 --- a/tests.branching/workflow-separate-stratum-repos.script +++ b/tests.branching/workflow-separate-stratum-repos.script @@ -22,119 +22,9 @@ set -eu -create_chunk() { - REPO="$1" - NAME="$2" +. "$SRCDIR/tests.branching/setup-3rd-party-strata" - 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" -} - -write_stratum_morph() { - REPO="$1" - NAME="$2" - -cat <<EOF > "$1/$2.morph" -{ - "name": "$2", - "kind": "stratum", - "chunks": [ - { - "name": "hello", - "repo": "baserock:$2-hello", - "ref": "master", - "build-depends": [] - } - ] -} -EOF -} - -# Create two more strata outside the baserock:morphs repository - -EXTERNAL_STRATA_REPO="$DATADIR/external-strata" -mkdir "$EXTERNAL_STRATA_REPO" -ln -s "$EXTERNAL_STRATA_REPO" "$EXTERNAL_STRATA_REPO".git -cd "$EXTERNAL_STRATA_REPO" - -git init --quiet . - -write_stratum_morph "$EXTERNAL_STRATA_REPO" "stratum2" -write_stratum_morph "$EXTERNAL_STRATA_REPO" "stratum3" - -git add . -git commit --quiet -m "Initial commit" - -# To make life harder, both chunks have the same name too - -create_chunk "$DATADIR/stratum2-hello" "hello" -create_chunk "$DATADIR/stratum3-hello" "hello" - -# Update hello-system to include them ... using a system branch! Since the -# strata refs are 'master' not 'me/add-external-strata' this does not cause -# problems with merging. - -cd "$DATADIR/workspace" -"$SRCDIR/scripts/test-morph" init -"$SRCDIR/scripts/test-morph" branch baserock:morphs me/add-external-strata - -cd "$DATADIR/workspace/me/add-external-strata/baserock:morphs" - -cat <<EOF > "hello-system.morph" -{ - "name": "hello-system", - "kind": "system", - "system-kind": "syslinux-disk", - "arch": "x86_64", - "disk-size": "1G", - "strata": [ - { - "morph": "hello-stratum", - "repo": "baserock:morphs", - "ref": "master" - }, - { - "morph": "stratum2", - "repo": "baserock:external-strata", - "ref": "master" - }, - { - "morph": "stratum3", - "repo": "baserock:external-strata", - "ref": "master" - } - ] -} -EOF -git commit --quiet --all -m "Add two more external strata" - -# Merge to master -cd "$DATADIR/workspace" -"$SRCDIR/scripts/test-morph" checkout baserock:morphs master -cd master/baserock:morphs -"$SRCDIR/scripts/test-morph" merge me/add-external-strata - -# In reality the user would do: 'git push origin master' here, -# but since our remote repo is non-bare we must cheat a bit. -# We should consider a separate fixture for the workflow tests. -cd "$DATADIR/morphs" -git pull -q \ - "file://$DATADIR/workspace/master/baserock:morphs" master - -# Now make another change to the system +# Make a change to the system # FIXME: we should try and build it, too cd "$DATADIR/workspace" "$SRCDIR/scripts/test-morph" branch baserock:morphs me/readme-fixes |