summaryrefslogtreecommitdiff
path: root/storage.et
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-10-08 23:06:24 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-10-08 23:06:24 +0200
commit3727bada5cf9955c28dc2197a2dd8ddfdd74a433 (patch)
tree7b43a69ffee8e8fb1876cf7fae10c707e1969984 /storage.et
parent29424c7ce25ee43f0c086709d7d8dd54ef17017f (diff)
(test) Handle invalid record objects
Changelog: Gracefully handle invalid record objects
Diffstat (limited to 'storage.et')
-rw-r--r--storage.et22
1 files changed, 22 insertions, 0 deletions
diff --git a/storage.et b/storage.et
index 9bbbe6b..035a64b 100644
--- a/storage.et
+++ b/storage.et
@@ -566,6 +566,28 @@ test ObjectFormat:
expect /load-type (.*)/ capture type
guard (type == "rec")
+ # Record with unknown type
+ local:
+ send "store-raw EOF"
+ send "rec 14\nnum:UNKNOWN 1\n"
+ send "EOF"
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "rec")
+
+ # Invalid records
+ for content in [ "rec 6\nnum 1\n", "rec 6\nnum:n\n" ]:
+ send "store-raw EOF"
+ send "$content"
+ send "EOF"
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "unknown rec")
+
# Empty unknown
local:
send "store-raw EOF"