diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2022-09-29 21:06:46 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2022-09-30 03:06:36 +0200 |
commit | ebbe7a1672c5a8750a57019c4df6d259dda12a28 (patch) | |
tree | 854749f4ae4ec0157f62b4ea05deaa282784e280 /tests/lxdrgen.lxdr | |
parent | 4c3837ae2cb4dcecfcfc54ed3d590b94ad685d22 (diff) | |
download | liberty-ebbe7a1672c5a8750a57019c4df6d259dda12a28.tar.gz liberty-ebbe7a1672c5a8750a57019c4df6d259dda12a28.tar.xz liberty-ebbe7a1672c5a8750a57019c4df6d259dda12a28.zip |
Import protocol code generator from xK, add tests
Also add a VIM syntax highlighting file.
This also fixes some previously untriggered bugs.
Diffstat (limited to 'tests/lxdrgen.lxdr')
-rw-r--r-- | tests/lxdrgen.lxdr | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/lxdrgen.lxdr b/tests/lxdrgen.lxdr new file mode 100644 index 0000000..6c53de5 --- /dev/null +++ b/tests/lxdrgen.lxdr @@ -0,0 +1,23 @@ +/* + * tests/lxdrgen.lxdr: a test protocol for the generator + */ +const VERSION = 1; +const NOISREV = -1; + +// TODO: Test failure paths, and in general go for full coverage. +struct Struct { + union Union switch (enum Enum { + NUMBERS = VERSION, + OTHERS = 2, + NOTHING, + } tag) { + case NUMBERS: + i8 a; i16 b; i32 c; i64 d; + u8 e; u16 f; u32 g; u64 h; + case OTHERS: + bool foo; + string bar; + case NOTHING: + void; + } u<>; +}; |