summaryrefslogtreecommitdiff
path: root/yarns/regression.yarn
diff options
context:
space:
mode:
Diffstat (limited to 'yarns/regression.yarn')
-rw-r--r--yarns/regression.yarn50
1 files changed, 47 insertions, 3 deletions
diff --git a/yarns/regression.yarn b/yarns/regression.yarn
index a17d2f87..eae01343 100644
--- a/yarns/regression.yarn
+++ b/yarns/regression.yarn
@@ -10,13 +10,13 @@ Testing if we can build after checking out from a tag.
GIVEN a workspace
AND a git server
WHEN the user checks out the system tag called test-tag
- THEN morph build the system simple-system of the tag test-tag of the repo test:morphs
+ THEN morph build the system test-system of the tag test-tag of the repo test:morphs
Running `morph branch` when the branch directory exists doesn't
remove the existing directory.
- SCENARIO re-running 'morph branch' fails, original branch untouched
+ SCENARIO re-running 'morph branch' fails, original branch untouched
GIVEN a workspace
AND a git server
WHEN the user creates a system branch called foo
@@ -27,8 +27,52 @@ The branch is checked out correctly, now it should fail if the user executes
WHEN the user attempts to create a system branch called foo
THEN morph failed
- AND the branch error message includes the string "File exists"
+ AND the branch error message includes the string "File exists"
The branch still checked out.
AND the system branch foo is checked out
+
+
+It doesn't make much sense to be able to build a system with only
+bootstrap chunks, since they will have been constructed without a staging
+area, hence their results cannot be trusted.
+
+ SCENARIO building a system with only bootstrap chunks fails
+ GIVEN a workspace
+ AND a git server
+ AND a system containing only bootstrap chunks called bootstrap-system
+ WHEN the user checks out the system branch called master
+ AND the user attempts to build the system bootstrap-system in branch master
+ THEN the build error message includes the string "No non-bootstrap chunks found"
+
+
+Implementations
+---------------
+
+ IMPLEMENTS GIVEN a system containing only bootstrap chunks called (\S+)
+ arch=$(run_morph print-architecture)
+ cat <<EOF >"$DATADIR/gits/morphs/$MATCH_1.morph"
+ name: $MATCH_1
+ kind: system
+ arch: $arch
+ strata:
+ - morph: bootstrap-stratum
+ repo: test:morphs
+ ref: master
+ EOF
+
+ cat << EOF > "$DATADIR/gits/morphs/bootstrap-stratum.morph"
+ name: bootstrap-stratum
+ kind: stratum
+ chunks:
+ - name: bootstrap-chunk
+ repo: test:test-chunk
+ ref: master
+ morph: test-chunk
+ build-mode: bootstrap
+ build-depends: []
+ EOF
+
+ run_in "$DATADIR/gits/morphs" git add .
+ run_in "$DATADIR/gits/morphs" git commit -m "Add bootstrap-system"