summaryrefslogtreecommitdiff
path: root/yarns
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-01-14 12:13:49 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2015-01-22 16:29:25 +0000
commit2ba291895fa5c5dc0bc238ad38deb95aa03da40f (patch)
treef4e3db7ffd4e1ba6ddb01f9b060532dcf909f0c5 /yarns
parent9e30d7f57859061afc9f8b1af7f9a40b367bbca2 (diff)
downloadmorph-2ba291895fa5c5dc0bc238ad38deb95aa03da40f.tar.gz
Convert the empty-stratum test into a yarn
We will use MorphologyLoader.load_from_file() to load morphologies from a temporary file, so the output will be unpredictable. That will break this test, so we may as well convert it into a yarn to fix it.
Diffstat (limited to 'yarns')
-rw-r--r--yarns/building.yarn11
-rw-r--r--yarns/implementations.yarn24
2 files changed, 35 insertions, 0 deletions
diff --git a/yarns/building.yarn b/yarns/building.yarn
index ff22424c..20164a8a 100644
--- a/yarns/building.yarn
+++ b/yarns/building.yarn
@@ -73,3 +73,14 @@ repos cached locally.
AND the distbuild worker is terminated
AND the communal cache server is terminated
AND the git server is shut down
+
+Empty strata don't build
+------------------------
+
+ SCENARIO empty-strata
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called empty-stratum
+ AND the user attempts to build the system systems/empty-stratum-system.morph in branch empty-stratum
+ THEN morph failed
+ FINALLY the git server is shut down
diff --git a/yarns/implementations.yarn b/yarns/implementations.yarn
index e1ae271f..6dc4cef7 100644
--- a/yarns/implementations.yarn
+++ b/yarns/implementations.yarn
@@ -323,6 +323,30 @@ another to hold a chunk.
git commit -m Initial.
git tag -a "test-tag" -m "Tagging test-tag"
+ git checkout -b empty-stratum
+
+ install -m644 -D /dev/stdin << EOF "systems/empty-stratum-system.morph"
+ name: empty-stratum-system
+ kind: system
+ arch: $arch
+ strata:
+ - name: build-essential
+ morph: strata/build-essential.morph
+ - name: core
+ morph: strata/core.morph
+ - name: empty
+ morph: strata/empty.morph
+ EOF
+
+ install -m644 -D /dev/stdin << EOF "strata/empty.morph"
+ name: empty
+ kind: stratum
+ EOF
+
+ git add .
+ git commit -m 'Add an empty stratum'
+ git checkout master
+
# Start a git daemon to serve our git repositories
port_file="$DATADIR/git-daemon-port"
pid_file="$DATADIR/git-daemon-pid"