---
yarns/architecture.yarn | 14 +-
yarns/branches-workspaces.yarn | 383 +++++++++++++++++++++--------------------
yarns/building.yarn | 14 +-
yarns/deployment.yarn | 12 +-
yarns/fstab-configure.yarn | 54 +++---
yarns/implementations.yarn | 2 +-
yarns/print-architecture.yarn | 8 +-
yarns/regression.yarn | 10 +-
8 files changed, 249 insertions(+), 248 deletions(-)
diff --git a/yarns/architecture.yarn b/yarns/architecture.yarn
index f926a1a..1452a17 100644
--- a/yarns/architecture.yarn
+++ b/yarns/architecture.yarn
@@ -2,10 +2,10 @@ Morph Cross-Building Tests
==========================
SCENARIO building a system for a different architecture
- GIVEN a workspace
- AND a git server
- AND a system called base-system-testarch for architecture testarch in the git server
- WHEN the user checks out the system branch called master
- AND attempting to build the system base-system-testarch in branch master
- THEN morph failed
- AND the build error message includes the string "Are you trying to
cross-build?"
+ GIVEN a workspace
+ AND a git server
+ AND a system called base-system-testarch for architecture testarch in the git
server
+ WHEN the user checks out the system branch called master
+ AND attempting to build the system base-system-testarch in branch master
+ THEN morph failed
+ AND the build error message includes the string "Are you trying to
cross-build?"
diff --git a/yarns/branches-workspaces.yarn b/yarns/branches-workspaces.yarn
index f40cb40..f006e01 100644
--- a/yarns/branches-workspaces.yarn
+++ b/yarns/branches-workspaces.yarn
@@ -10,82 +10,83 @@ Workspace creation
The first thing a user needs to do is create a workspace.
- SCENARIO create and initialise a new workspace
- GIVEN no workspace
- WHEN morph initialises a workspace
- THEN an empty workspace exists
+ SCENARIO create and initialise a new workspace
+ GIVEN no workspace
+ WHEN morph initialises a workspace
+ THEN an empty workspace exists
The workspace directory may exist, if it is empty.
- SCENARIO initialise an empty workspace directory
- GIVEN an empty workspace directory
- WHEN morph initialises a workspace
- THEN an empty workspace exists
+ SCENARIO initialise an empty workspace directory
+ GIVEN an empty workspace directory
+ WHEN morph initialises a workspace
+ THEN an empty workspace exists
However, the directory must really be empty. It must not be
an empty, but initialised workspace.
- SCENARIO initialise an existing, empty workspace directory
- GIVEN no workspace
- WHEN morph initialises a workspace
- AND morph attempts to initialise a workspace
- THEN morph failed
+ SCENARIO initialise an existing, empty workspace directory
+ GIVEN no workspace
+ WHEN morph initialises a workspace
+ AND morph attempts to initialise a workspace
+ THEN morph failed
Likewise, if the directory exists, and is non-empty, but isn't an
existing workspace, initialising it should fail.
- SCENARIO initialise a non-empty workspace directory
- GIVEN a non-empty workspace directory
- WHEN morph attempts to initialise a workspace
- THEN morph failed
+ SCENARIO initialise a non-empty workspace directory
+ GIVEN a non-empty workspace directory
+ WHEN morph attempts to initialise a workspace
+ THEN morph failed
Checking out or branching system branches
-----------------------------------------
Once we have a workspace, we can check out a system branch.
- SCENARIO check out an existing system branch
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- THEN the system branch master is checked out
+
+ SCENARIO check out an existing system branch
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ THEN the system branch master is checked out
Checking out a system branch should fail, if the branch doesn't exist.
- SCENARIO checking out a system branch that doesn't exist
- GIVEN a workspace
- AND a git server
- WHEN the user attempts to check out the system branch called foo
- THEN morph failed
+ SCENARIO checking out a system branch that doesn't exist
+ GIVEN a workspace
+ AND a git server
+ WHEN the user attempts to check out the system branch called foo
+ THEN morph failed
Checking out a system branch should also fail if the repository does
not contain any system morphologies.
- SCENARIO checking out a system branch with no systems
- GIVEN a workspace
- AND a git server
- WHEN the user attempts to check out from a repository with no systems
- THEN morph failed
+ SCENARIO checking out a system branch with no systems
+ GIVEN a workspace
+ AND a git server
+ WHEN the user attempts to check out from a repository with no systems
+ THEN morph failed
We can, instead, create a new system branch, off master.
- SCENARIO branch off master
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- THEN the system branch foo is checked out
+ SCENARIO branch off master
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ THEN the system branch foo is checked out
We can also branch off another system branch. However, we need to first
push the other branch to the git server, since Morph is not smart enough
to check for that locally.
- SCENARIO branch off non-master
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- AND the user pushes the system branch called foo to the git server
- AND the user creates a system branch called bar, based on foo
- THEN the system branch bar is checked out
+ SCENARIO branch off non-master
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ AND the user pushes the system branch called foo to the git server
+ AND the user creates a system branch called bar, based on foo
+ THEN the system branch bar is checked out
Query commands in workspaces
----------------------------
@@ -93,86 +94,86 @@ Query commands in workspaces
`morph workspace` writes out the fully qualified path to the workspace
directory, regardless of where the user is. There's a few cases.
- SCENARIO morph workspace works at root of empty workspace
- GIVEN a workspace
- WHEN morph reports workspace in .
- THEN workspace is reported correctly
+ SCENARIO morph workspace works at root of empty workspace
+ GIVEN a workspace
+ WHEN morph reports workspace in .
+ THEN workspace is reported correctly
Also check it in the root of a system branch checkout, and inside
a git checkout inside that.
- SCENARIO morph workspace works in system branch checkouts
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND morph reports workspace in master
- THEN workspace is reported correctly
+ SCENARIO morph workspace works in system branch checkouts
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND morph reports workspace in master
+ THEN workspace is reported correctly
We leak a little bit of the implementation here, to keep things simple:
the (mocked) git server the implementation sets up has the `test:morphs`
repository, which is the system branch root repository.
- WHEN morph reports workspace in master/test:morphs
- THEN workspace is reported correctly
+ WHEN morph reports workspace in master/test:morphs
+ THEN workspace is reported correctly
However, running it outside a workspace should fail.
- SCENARIO morph fails outside workspace
- GIVEN no workspace
- WHEN morph attempts to report workspace
- THEN morph failed
+ SCENARIO morph fails outside workspace
+ GIVEN no workspace
+ WHEN morph attempts to report workspace
+ THEN morph failed
`morph show-system-branch` should report the name of the system
branch, when run anywhere in the system branch checkout. As a special
case, if there is only one system branch checkout at or below the
current working directory, it will find it and report it correctly.
- SCENARIO morph reports system branch
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND reporting system branch in master
- THEN system branch is reported as master
+ SCENARIO morph reports system branch
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND reporting system branch in master
+ THEN system branch is reported as master
- WHEN reporting system branch in master/test:morphs
- THEN system branch is reported as master
+ WHEN reporting system branch in master/test:morphs
+ THEN system branch is reported as master
- WHEN reporting system branch in .
- THEN system branch is reported as master
+ WHEN reporting system branch in .
+ THEN system branch is reported as master
However, if there's two system branches checked out below the
current directory, things should fail.
- SCENARIO morph fails to report system branch with two checked out
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND the user creates a system branch called foo
- AND attempting to report system branch in .
- THEN morph failed
+ SCENARIO morph fails to report system branch with two checked out
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND the user creates a system branch called foo
+ AND attempting to report system branch in .
+ THEN morph failed
`morph show-branch-root` reports the URL (possibly aliases) of the
system branch root repository. It can be run inside a checkout, or
somewhere outside a checkout, where exactly one checkout exists below.
- SCENARIO morph reports system branch root repository
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND reporting system branch root repository in master
- THEN root repository is reported as test:morphs
+ SCENARIO morph reports system branch root repository
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND reporting system branch root repository in master
+ THEN root repository is reported as test:morphs
- WHEN reporting system branch root repository in .
- THEN root repository is reported as test:morphs
+ WHEN reporting system branch root repository in .
+ THEN root repository is reported as test:morphs
However, it fails if run outside a checkout and there's no system
branches checked out.
- SCENARIO morph fails to report system branch with none checked out
- GIVEN a workspace
- AND a git server
- WHEN attempting to report system branch root repository in .
- THEN morph failed
+ SCENARIO morph fails to report system branch with none checked out
+ GIVEN a workspace
+ AND a git server
+ WHEN attempting to report system branch root repository in .
+ THEN morph failed
Editing components
------------------
@@ -183,36 +184,36 @@ a chunk, and check out the chunk's repository.
First of all, we verify that that when we create a system branch,
all the refs are unchanged.
- SCENARIO morph branch does not edit refs
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- THEN in branch foo, system test-system refs test-stratum in master
- AND in branch foo, stratum test-stratum refs test-chunk in master
+ SCENARIO morph branch does not edit refs
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ THEN in branch foo, system test-system refs test-stratum in master
+ AND in branch foo, stratum test-stratum refs test-chunk in master
Then edit the stratum.
- WHEN editing stratum test-stratum in system test-system in branch foo
- THEN in branch foo, system test-system refs test-stratum in foo
+ WHEN editing stratum test-stratum in system test-system in branch foo
+ THEN in branch foo, system test-system refs test-stratum in foo
Edit the chunk. We make use of special knowledge here: `test:test-chunk`
is a chunk repository created in the mocked git server, for testing
purposes.
- WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
- THEN in branch foo, system test-system refs test-stratum in foo
- AND in branch foo, stratum test-stratum refs test-chunk in foo
- AND edited chunk test:test-chunk has git branch foo
+ WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
+ THEN in branch foo, system test-system refs test-stratum in foo
+ AND in branch foo, stratum test-stratum refs test-chunk in foo
+ AND edited chunk test:test-chunk has git branch foo
Morph edit should only work with a system argument.
- SCENARIO morph edit errors when supplied only a stratum and chunk as arguments
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND editing chunk test-chunk in stratum test-stratum with no system specified
in branch master
- THEN morph failed
- AND the edit error message includes the string "is not a system"
+ SCENARIO morph edit errors when supplied only a stratum and chunk as arguments
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND editing chunk test-chunk in stratum test-stratum with no system specified in
branch master
+ THEN morph failed
+ AND the edit error message includes the string "is not a system"
Status of system branch checkout
--------------------------------
@@ -221,29 +222,29 @@ Status of system branch checkout
system branch checkout: only the ones that exist locally, not all the
repositories referenced in the system branch.
- SCENARIO morph status reports changes correctly
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- THEN morph reports no outstanding changes in foo
+ SCENARIO morph status reports changes correctly
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ THEN morph reports no outstanding changes in foo
- WHEN editing stratum test-stratum in system test-system in branch foo
- THEN morph reports changes in foo in test:morphs only
+ WHEN editing stratum test-stratum in system test-system in branch foo
+ THEN morph reports changes in foo in test:morphs only
- WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
- THEN morph reports changes in foo in test:morphs only
+ WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
+ THEN morph reports changes in foo in test:morphs only
- WHEN creating file foo in test:test-chunk in branch foo
- THEN morph reports changes in foo in test:morphs only
+ WHEN creating file foo in test:test-chunk in branch foo
+ THEN morph reports changes in foo in test:morphs only
- WHEN adding file foo in test:test-chunk in branch foo to git
- THEN morph reports changes in foo in test:morphs and test:test-chunk
+ WHEN adding file foo in test:test-chunk in branch foo to git
+ THEN morph reports changes in foo in test:morphs and test:test-chunk
- WHEN committing changes in test:morphs in branch foo
- THEN morph reports changes in foo in test:test-chunk only
+ WHEN committing changes in test:morphs in branch foo
+ THEN morph reports changes in foo in test:test-chunk only
- WHEN committing changes in test:test-chunk in branch foo
- THEN morph reports no outstanding changes in foo
+ WHEN committing changes in test:test-chunk in branch foo
+ THEN morph reports no outstanding changes in foo
`morph foreach`
--------------
@@ -252,13 +253,13 @@ repositories referenced in the system branch.
branch checkout.
SCENARIO morph foreach runs command in each git repo
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- AND editing chunk test-chunk in test-stratum in test-system in branch foo
- AND running shell command in each repo in foo
- THEN morph ran command in test:morphs in foo
- AND morph ran command in test:test-chunk in foo
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ AND editing chunk test-chunk in test-stratum in test-system in branch foo
+ AND running shell command in each repo in foo
+ THEN morph ran command in test:morphs in foo
+ AND morph ran command in test:test-chunk in foo
Explicit petrification
----------------------
@@ -268,16 +269,16 @@ We petrify branches explicitly (though this may later change so
that
petrify it, and verify that every ref looks like a SHA1. We then
unpetrify and verify that we have all the same refs as before.
- SCENARIO morph petrifies and unpetrifies
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- AND the user pushes the system branch called foo to the git server
- AND remembering all refs in foo
- AND petrifying foo
- THEN foo is petrified
- WHEN unpetrifying foo
- THEN foo refs are as remembered
+ SCENARIO morph petrifies and unpetrifies
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ AND the user pushes the system branch called foo to the git server
+ AND remembering all refs in foo
+ AND petrifying foo
+ THEN foo is petrified
+ WHEN unpetrifying foo
+ THEN foo refs are as remembered
Tagging system branches
-----------------------
@@ -286,19 +287,19 @@ Tagging system branches
and a petrified commit the tag refers to. It does not petrify the
system branch itself, only the tag.
- SCENARIO morph tags a system branch
- GIVEN a workspace
- AND a git server
- WHEN the user creates a system branch called foo
- AND tagging system branch foo as test123
- THEN morph tag test123 in foo is an annotated git tag
- AND morph tag test123 in foo refers to a petrified commit
- AND foo is not petrified
+ SCENARIO morph tags a system branch
+ GIVEN a workspace
+ AND a git server
+ WHEN the user creates a system branch called foo
+ AND tagging system branch foo as test123
+ THEN morph tag test123 in foo is an annotated git tag
+ AND morph tag test123 in foo refers to a petrified commit
+ AND foo is not petrified
Creating a tag twice should fail.
- WHEN attempting to tag system branch foo as test123
- THEN morph failed
+ WHEN attempting to tag system branch foo as test123
+ THEN morph failed
Working with null repositories and refs
---------------------------------------
@@ -309,64 +310,64 @@ morphology.
These can be checked out like normal system branches.
- SCENARIO check out an existing system branch with null refs
- GIVEN a workspace
- AND a git server
- AND null refs for local strata
- WHEN the user checks out the system branch called master
- THEN the system branch master is checked out
+ SCENARIO check out an existing system branch with null refs
+ GIVEN a workspace
+ AND a git server
+ AND null refs for local strata
+ WHEN the user checks out the system branch called master
+ THEN the system branch master is checked out
Likewise we can also create new system branches from these, and we
wouldn't need to worry about changing the system branch ref.
- SCENARIO branch off a system branch with null refs
- GIVEN a workspace
- AND a git server
- AND null refs for local strata
- WHEN the user creates a system branch called foo
- THEN the system branch foo is checked out
+ SCENARIO branch off a system branch with null refs
+ GIVEN a workspace
+ AND a git server
+ AND null refs for local strata
+ WHEN the user creates a system branch called foo
+ THEN the system branch foo is checked out
When we edit a morphology with null refs, they stay null.
- SCENARIO editing with null refs
- GIVEN a workspace
- AND a git server
- AND null refs for local strata
+ SCENARIO editing with null refs
+ GIVEN a workspace
+ AND a git server
+ AND null refs for local strata
When creating the branch, the refs remain null.
- WHEN the user creates a system branch called foo
- THEN in branch foo, system test-system refs test-stratum in None
+ WHEN the user creates a system branch called foo
+ THEN in branch foo, system test-system refs test-stratum in None
After editing the stratum they remain null.
- WHEN editing stratum test-stratum in system test-system in branch foo
- THEN in branch foo, system test-system refs test-stratum in None
+ WHEN editing stratum test-stratum in system test-system in branch foo
+ THEN in branch foo, system test-system refs test-stratum in None
Refs to chunks are still altered as usual
- WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
- THEN in branch foo, system test-system refs test-stratum in None
- AND in branch foo, stratum test-stratum refs test-chunk in foo
- AND edited chunk test:test-chunk has git branch foo
+ WHEN editing chunk test-chunk in test-stratum in test-system in branch foo
+ THEN in branch foo, system test-system refs test-stratum in None
+ AND in branch foo, stratum test-stratum refs test-chunk in foo
+ AND edited chunk test:test-chunk has git branch foo
Petrifying also leaves null refs unmolested
- SCENARIO morph petrifies null refs
- GIVEN a workspace
- AND a git server
- AND null refs for local strata
- WHEN the user creates a system branch called foo
- AND the user pushes the system branch called foo to the git server
- AND remembering all refs in foo
- AND petrifying foo
- THEN in branch foo, system test-system refs test-stratum in None
+ SCENARIO morph petrifies null refs
+ GIVEN a workspace
+ AND a git server
+ AND null refs for local strata
+ WHEN the user creates a system branch called foo
+ AND the user pushes the system branch called foo to the git server
+ AND remembering all refs in foo
+ AND petrifying foo
+ THEN in branch foo, system test-system refs test-stratum in None
Generating a manifest works
- SCENARIO morph generates a manifest
- GIVEN a workspace
- AND a system artifact
- WHEN morph generates a manifest
- THEN the manifest is generated
+ SCENARIO morph generates a manifest
+ GIVEN a workspace
+ AND a system artifact
+ WHEN morph generates a manifest
+ THEN the manifest is generated
diff --git a/yarns/building.yarn b/yarns/building.yarn
index 300eb29..308f2ff 100644
--- a/yarns/building.yarn
+++ b/yarns/building.yarn
@@ -2,10 +2,10 @@ Morph Building Tests
======================
SCENARIO attempting to build a system morphology which has never been committed
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND creating an uncommitted system morphology called base-system-testarch for
architecture testarch in system branch master
- AND attempting to build the system base-system-testarch in branch master
- THEN morph failed
- AND the build error message includes the string "Did you forget to commit
it?"
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND creating an uncommitted system morphology called base-system-testarch for
architecture testarch in system branch master
+ AND attempting to build the system base-system-testarch in branch master
+ THEN morph failed
+ AND the build error message includes the string "Did you forget to commit
it?"
diff --git a/yarns/deployment.yarn b/yarns/deployment.yarn
index 362aeb0..b9af6b6 100644
--- a/yarns/deployment.yarn
+++ b/yarns/deployment.yarn
@@ -2,9 +2,9 @@ Morph Deployment Tests
======================
SCENARIO deploying a non-cluster morphology
- GIVEN a workspace
- AND a git server
- WHEN the user checks out the system branch called master
- AND attempting to deploy the system test-system in branch master
- THEN morph failed
- AND the deploy error message includes the string "morph deploy is only supported
for cluster morphologies"
+ GIVEN a workspace
+ AND a git server
+ WHEN the user checks out the system branch called master
+ AND attempting to deploy the system test-system in branch master
+ THEN morph failed
+ AND the deploy error message includes the string "morph deploy is only
supported for cluster morphologies"
diff --git a/yarns/fstab-configure.yarn b/yarns/fstab-configure.yarn
index cd7e743..02bd35c 100644
--- a/yarns/fstab-configure.yarn
+++ b/yarns/fstab-configure.yarn
@@ -10,43 +10,43 @@ if not requested to do so, but does create the file if it doesn't
exist.
SCENARIO fstab.configure does nothing by default
- GIVEN a directory called tree/etc
- WHEN fstab.configure is run against tree
- THEN file tree/etc/fstab exists
- AND file tree/etc/fstab has permissions -rw-r--r--
- AND file tree/etc/fstab is owned by uid 0
- AND file tree/etc/fstab is owned by gid 0
- AND file tree/etc/fstab is empty
+ GIVEN a directory called tree/etc
+ WHEN fstab.configure is run against tree
+ THEN file tree/etc/fstab exists
+ AND file tree/etc/fstab has permissions -rw-r--r--
+ AND file tree/etc/fstab is owned by uid 0
+ AND file tree/etc/fstab is owned by gid 0
+ AND file tree/etc/fstab is empty
Append a something to the file, and verify the contents are exactly
correct.
SCENARIO fstab.configure appends requested lines
- GIVEN a directory called tree/etc
- AND an environment variable FSTAB_FOO containing "foo"
- WHEN fstab.configure is run against tree
- THEN file tree/etc/fstab exists
- AND file tree/etc/fstab has permissions -rw-r--r--
- AND file tree/etc/fstab is owned by uid 0
- AND file tree/etc/fstab is owned by gid 0
- AND file tree/etc/fstab contains "foo\n"
+ GIVEN a directory called tree/etc
+ AND an environment variable FSTAB_FOO containing "foo"
+ WHEN fstab.configure is run against tree
+ THEN file tree/etc/fstab exists
+ AND file tree/etc/fstab has permissions -rw-r--r--
+ AND file tree/etc/fstab is owned by uid 0
+ AND file tree/etc/fstab is owned by gid 0
+ AND file tree/etc/fstab contains "foo\n"
Append something to an existing file, with wrong ownership and
permission.
SCENARIO fstab.configure appends to existing file
- GIVEN a directory called tree/etc
- AND a file called tree/etc/fstab containing "# comment\n"
- AND tree/etc/fstab is owned by uid 1
- AND tree/etc/fstab is owned by gid 1
- AND tree/etc/fstab has permissions 0600
- AND an environment variable FSTAB_FOO containing "foo"
- WHEN fstab.configure is run against tree
- THEN file tree/etc/fstab exists
- AND file tree/etc/fstab has permissions -rw-r--r--
- AND file tree/etc/fstab is owned by uid 0
- AND file tree/etc/fstab is owned by gid 0
- AND file tree/etc/fstab contains "# comment\nfoo\n"
+ GIVEN a directory called tree/etc
+ AND a file called tree/etc/fstab containing "# comment\n"
+ AND tree/etc/fstab is owned by uid 1
+ AND tree/etc/fstab is owned by gid 1
+ AND tree/etc/fstab has permissions 0600
+ AND an environment variable FSTAB_FOO containing "foo"
+ WHEN fstab.configure is run against tree
+ THEN file tree/etc/fstab exists
+ AND file tree/etc/fstab has permissions -rw-r--r--
+ AND file tree/etc/fstab is owned by uid 0
+ AND file tree/etc/fstab is owned by gid 0
+ AND file tree/etc/fstab contains "# comment\nfoo\n"
Implement running `fstab.configure`
-----------------------------------
diff --git a/yarns/implementations.yarn b/yarns/implementations.yarn
index 2038423..c54fbf0 100644
--- a/yarns/implementations.yarn
+++ b/yarns/implementations.yarn
@@ -448,7 +448,7 @@ Generating a manifest.
IMPLEMENTS WHEN morph generates a manifest
run_morph generate-manifest "$DATADIR/artifact.tar" >
"$DATADIR/manifest"
-
+
IMPLEMENTS THEN the manifest is generated
# Generated manifest should contain the name of the repository
diff --git a/yarns/print-architecture.yarn b/yarns/print-architecture.yarn
index c249614..62a1447 100644
--- a/yarns/print-architecture.yarn
+++ b/yarns/print-architecture.yarn
@@ -13,10 +13,10 @@ least something sensible.
Oh, and the one line should contain no spaces, either.
SCENARIO morph print-architecture prints out a single word
- WHEN morph print-architecture is run
- THEN stdout contains a single line
- AND stdout contains no spaces
- AND stderr is empty
+ WHEN morph print-architecture is run
+ THEN stdout contains a single line
+ AND stdout contains no spaces
+ AND stderr is empty
IMPLEMENTS WHEN morph print-architecture is run
set +x
diff --git a/yarns/regression.yarn b/yarns/regression.yarn
index 14aa6c1..a9215dc 100644
--- a/yarns/regression.yarn
+++ b/yarns/regression.yarn
@@ -6,9 +6,9 @@ Tests for check we don't introduce some bugs again.
Testing if we can build after checking out from a tag.
- SCENARIO morph build works after checkout 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
+ SCENARIO morph build works after checkout 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
--
1.8.1.2