summaryrefslogtreecommitdiff
path: root/summain.md
diff options
context:
space:
mode:
Diffstat (limited to 'summain.md')
-rw-r--r--summain.md67
1 files changed, 67 insertions, 0 deletions
diff --git a/summain.md b/summain.md
index db22d04..47acba4 100644
--- a/summain.md
+++ b/summain.md
@@ -65,6 +65,15 @@ order.
# Acceptance criteria
+These scenarios verify that Summain handles the various kinds of file
+system objects it may encounter, with two exceptions: block and
+character devices. To create those, one needs to be the `root` user,
+and we don't want to have to run the test suite as root. Instead, we
+blithely rely on the output being correct for those anyway. Testing
+manually indicates that it works, and the only difference from, say,
+regular files is that the mode starts with a `b` or `c`, which is
+exactly correct.
+
## Directory
~~~scenario
@@ -202,3 +211,61 @@ functions:
- subplot/summain.py
- subplot/runcmd.py
...
+
+## Unix domain socket
+
+~~~scenario
+given an installed summain
+given socket aaa
+and file aaa has mode 0700
+and mtime for aaa is 44
+when I run summain aaa
+then output matches file socket.yaml
+~~~
+
+```{#socket.yaml .file .numberLines}
+---
+path: aaa
+mode: srwx------
+mtime: 44
+mtime_nsec: 0
+nlink: 1
+size: 0
+sha256: ~
+target: ~
+```
+
+## Named pipe
+
+~~~scenario
+given an installed summain
+given named pipe aaa
+and file aaa has mode 0700
+and mtime for aaa is 44
+when I run summain aaa
+then output matches file fifo.yaml
+~~~
+
+```{#fifo.yaml .file .numberLines}
+---
+path: aaa
+mode: prwx------
+mtime: 44
+mtime_nsec: 0
+nlink: 1
+size: 0
+sha256: ~
+target: ~
+```
+
+---
+title: "Summain—deterministic file manifests"
+author: Lars Wirzenius
+template: python
+bindings:
+ - subplot/summain.yaml
+ - subplot/runcmd.yaml
+functions:
+ - subplot/summain.py
+ - subplot/runcmd.py
+...