diff options
-rw-r--r-- | 088file.mu | 1 | ||||
-rw-r--r-- | 090scenario_filesystem_test.mu | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/088file.mu b/088file.mu index f2dde0a1..19539b95 100644 --- a/088file.mu +++ b/088file.mu @@ -30,6 +30,7 @@ def start-reading fs:address:filesystem, filename:address:array:character -> con done?:boolean <- greater-or-equal i, len break-if done? tmp:file-mapping <- index *data, i + i <- add i, 1 curr-filename:address:array:character <- get tmp, name:offset found?:boolean <- equal filename, curr-filename loop-unless found? diff --git a/090scenario_filesystem_test.mu b/090scenario_filesystem_test.mu index de93a2d9..02343cba 100644 --- a/090scenario_filesystem_test.mu +++ b/090scenario_filesystem_test.mu @@ -25,7 +25,23 @@ scenario read-from-fake-file [ scenario write-to-fake-file [ local-scope assume-filesystem [ - #[a] <- [] + ] + sink:address:sink:character, writer:number/routine <- start-writing filesystem:address:filesystem, [a] + sink <- write sink, 120/x + sink <- write sink, 121/y + close sink + wait-for-routine writer + contents-read-back:address:array:character <- slurp filesystem, [a] + 10:boolean/raw <- equal contents-read-back, [xy] + memory-should-contain [ + 10 <- 1 # file contents read back exactly match what was written + ] +] + +scenario write-to-fake-file-that-exists [ + local-scope + assume-filesystem [ + [a] <- [] ] sink:address:sink:character, writer:number/routine <- start-writing filesystem:address:filesystem, [a] sink <- write sink, 120/x |