summaryrefslogtreecommitdiff
path: root/tests.as-root
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2012-11-06 17:06:38 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2012-11-12 16:48:18 +0000
commitcbaa45c1dccec5bc5e7fd1650a6a2f99638ee65e (patch)
treee7e89af59724bdc346861d8b764789e891dbe5bd /tests.as-root
parenta49db7757e2d2902989dc0601eda93557d1ee55c (diff)
downloadmorph-cbaa45c1dccec5bc5e7fd1650a6a2f99638ee65e.tar.gz
morph build: Use the user's own repos when building
This means that Morph no longer requires changes to be pushed in order to build them. The repos from the system branch are currently cached in the local repo cache as part of the build process, which is far from ideal. Tests for 'morph build' now test build without push. The build metadata now includes a repo path that is inside the TMPDIR, so the tests have been rewritten to avoid having any hardcoded cache keys because the cache keys are no longer static.
Diffstat (limited to 'tests.as-root')
-rwxr-xr-xtests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.script6
-rw-r--r--tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.stdout30
-rwxr-xr-xtests.as-root/building-a-system-branch-picks-up-uncommitted-changes.script14
-rw-r--r--tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.stdout9
-rwxr-xr-xtests.as-root/building-a-system-branch-works-anywhere.script7
-rw-r--r--tests.as-root/building-a-system-branch-works-anywhere.stdout10
6 files changed, 10 insertions, 66 deletions
diff --git a/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.script b/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.script
index ab84c431..9ccc3dee 100755
--- a/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.script
+++ b/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.script
@@ -32,14 +32,14 @@ source "$SRCDIR/tests.as-root/setup-build"
# Build once.
cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" build linux-system
-"$SRCDIR/scripts/list-tree" "$DATADIR/cache/artifacts"
+ARTIFACT_COUNT="$(ls "$DATADIR/cache/artifacts" | wc -l)"
# Build twice.
cd "$DATADIR/workspace/branch1"
"$SRCDIR/scripts/test-morph" build linux-system
-"$SRCDIR/scripts/list-tree" "$DATADIR/cache/artifacts"
+[ "$ARTIFACT_COUNT" -eq $(ls "$DATADIR/cache/artifacts" | wc -l) ]
# Build thrice, and that should be enough.
cd "$DATADIR/workspace/branch1/test:morphs"
"$SRCDIR/scripts/test-morph" build linux-system
-"$SRCDIR/scripts/list-tree" "$DATADIR/cache/artifacts"
+[ "$ARTIFACT_COUNT" -eq $(ls "$DATADIR/cache/artifacts" | wc -l) ]
diff --git a/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.stdout b/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.stdout
deleted file mode 100644
index a02b977c..00000000
--- a/tests.as-root/building-a-system-branch-multiple-times-doesnt-generate-new-artifacts.stdout
+++ /dev/null
@@ -1,30 +0,0 @@
-d .
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.meta
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum.meta
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.build-log
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.chunk.linux
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-kernel
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-rootfs
-d .
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.meta
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum.meta
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.build-log
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.chunk.linux
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-kernel
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-rootfs
-d .
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.meta
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum.meta
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.build-log
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.chunk.linux
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-kernel
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-rootfs
diff --git a/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.script b/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.script
index f959bb43..642093dc 100755
--- a/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.script
+++ b/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.script
@@ -34,14 +34,10 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" build linux-system
# Print tree SHA1s of the build ref of morphs and kernel.
-echo "Tree of morphs repo build branch after first build:"
cd "$DATADIR/workspace/branch1/test:morphs"
-git log -1 --format=%T baserock/builds/123456789/987654321
-echo "Tree of kernel repo build branch after first build:"
+MORPHS_SHA1="$(git rev-parse baserock/builds/123456789/987654321)"
cd "$DATADIR/workspace/branch1/test:kernel-repo"
-git log -1 --format=%T baserock/builds/123456789/AABBCCDDE
-
-echo
+KERNEL_SHA1="$(git rev-parse baserock/builds/123456789/AABBCCDDE)"
# Make an uncommitted change to the linux morphology.
cd "$DATADIR/workspace/branch1/test:kernel-repo"
@@ -55,9 +51,7 @@ cd "$DATADIR/workspace"
# 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.
-echo "Tree of morphs repo build branch after second build:"
cd "$DATADIR/workspace/branch1/test:morphs"
-git log -1 --format=%T baserock/builds/123456789/987654321
-echo "Tree of kernel repo build branch after second build:"
+[ "$(git rev-parse baserock/builds/123456789/987654321)" != "$MORPHS_SHA1" ]
cd "$DATADIR/workspace/branch1/test:kernel-repo"
-git log -1 --format=%T baserock/builds/123456789/AABBCCDDE
+[ "$(git rev-parse baserock/builds/123456789/AABBCCDDE)" != "$KERNEL_SHA1" ]
diff --git a/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.stdout b/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.stdout
deleted file mode 100644
index d5758d78..00000000
--- a/tests.as-root/building-a-system-branch-picks-up-uncommitted-changes.stdout
+++ /dev/null
@@ -1,9 +0,0 @@
-Tree of morphs repo build branch after first build:
-73b00844bfe028b01d2464727d703f1fcc1f8ef9
-Tree of kernel repo build branch after first build:
-83d99190fa36d14f1bd24d88ba0fbe2ce674dd7c
-
-Tree of morphs repo build branch after second build:
-73b00844bfe028b01d2464727d703f1fcc1f8ef9
-Tree of kernel repo build branch after second build:
-5b015689415c96cdd290834ba105a64be28a3cfb
diff --git a/tests.as-root/building-a-system-branch-works-anywhere.script b/tests.as-root/building-a-system-branch-works-anywhere.script
index 1ce59b0f..2bba83dc 100755
--- a/tests.as-root/building-a-system-branch-works-anywhere.script
+++ b/tests.as-root/building-a-system-branch-works-anywhere.script
@@ -52,11 +52,10 @@ cd "$DATADIR/workspace/branch1/test:kernel-repo"
"$SRCDIR/scripts/list-tree" "$DATADIR/cache/artifacts" > "$DATADIR/output4"
rm -rf "$DATADIR/cache/artifacts"/*
-# Verify that we're always building the same and that we're building
-# the right things after all.
-cat "$DATADIR/output1"
+# Verify that we build the right number of artifacts
+[ $(wc < "$DATADIR/output1" -l) -eq 10 ]
-# Print diffs of the build results, all of which should be empty.
+# List of files in the artifact cache should be identical after each build
diff "$DATADIR/output1" "$DATADIR/output2"
diff "$DATADIR/output2" "$DATADIR/output3"
diff "$DATADIR/output3" "$DATADIR/output4"
diff --git a/tests.as-root/building-a-system-branch-works-anywhere.stdout b/tests.as-root/building-a-system-branch-works-anywhere.stdout
deleted file mode 100644
index 3bbb820f..00000000
--- a/tests.as-root/building-a-system-branch-works-anywhere.stdout
+++ /dev/null
@@ -1,10 +0,0 @@
-d .
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.meta
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum
-f ./2311765afd12c233a772a33d7f7e31e2450c191379a430790ea03b07938b9e14.stratum.linux-stratum.meta
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.build-log
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.chunk.linux
-f ./e8d3ecb31babcb58516f1298ccc5f63b167186e6527d831af5a788309a648cd6.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.meta
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-kernel
-f ./f59cea90b0ea8c780c00adee730f6de993be0b744c7c92fb06b037b7879fc668.system.linux-system-rootfs