Add variant tests
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 4 Dec 2013 15:56:19 +0000 (16:56 +0100)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 4 Dec 2013 15:56:19 +0000 (16:56 +0100)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/dummystream [new file with mode: 0644]
tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/metadata [new file with mode: 0644]
tests/1.8/regression/stream/pass/variant-missing-enum-mappings/dummystream [new file with mode: 0644]
tests/1.8/regression/stream/pass/variant-missing-enum-mappings/metadata [new file with mode: 0644]
tests/1.8/regression/stream/pass/variant-missing-fields/dummystream [new file with mode: 0644]
tests/1.8/regression/stream/pass/variant-missing-fields/metadata [new file with mode: 0644]

diff --git a/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/dummystream b/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/dummystream
new file mode 100644 (file)
index 0000000..2135b50
--- /dev/null
@@ -0,0 +1 @@
\1füÁ*d"Ðlî\11à\8c\bË\a׳¥d\ 1BBBB
\ No newline at end of file
diff --git a/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/metadata b/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/metadata
new file mode 100644 (file)
index 0000000..f25fe1e
--- /dev/null
@@ -0,0 +1,26 @@
+/* CTF 1.8 */
+typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t;
+typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
+
+trace {
+       major = 0;
+       minor = 1;
+       uuid = "2a6422d0-6cee-11e0-8c08-cb07d7b3a564";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+       };
+};
+
+event {
+       name = test;
+       fields := struct {
+               enum : uint8_t { sel1 = 0, sel2 = 1, sel3 = 2, } selector;
+               variant <selector> {
+                       uint32_t sel1;
+                       /* missing sel2 */
+                       uint32_t sel3;
+               } v;
+       };
+};
diff --git a/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/dummystream b/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/dummystream
new file mode 100644 (file)
index 0000000..2135b50
--- /dev/null
@@ -0,0 +1 @@
\1füÁ*d"Ðlî\11à\8c\bË\a׳¥d\ 1BBBB
\ No newline at end of file
diff --git a/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/metadata b/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/metadata
new file mode 100644 (file)
index 0000000..9de01c7
--- /dev/null
@@ -0,0 +1,26 @@
+/* CTF 1.8 */
+typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t;
+typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
+
+trace {
+       major = 0;
+       minor = 1;
+       uuid = "2a6422d0-6cee-11e0-8c08-cb07d7b3a564";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+       };
+};
+
+event {
+       name = test;
+       fields := struct {
+               enum : uint8_t { sel2 = 1, sel3 = 2, } selector;
+               variant <selector> {
+                       uint32_t sel1;
+                       uint32_t sel2;
+                       uint32_t sel3;
+               } v;
+       };
+};
diff --git a/tests/1.8/regression/stream/pass/variant-missing-fields/dummystream b/tests/1.8/regression/stream/pass/variant-missing-fields/dummystream
new file mode 100644 (file)
index 0000000..2135b50
--- /dev/null
@@ -0,0 +1 @@
\1füÁ*d"Ðlî\11à\8c\bË\a׳¥d\ 1BBBB
\ No newline at end of file
diff --git a/tests/1.8/regression/stream/pass/variant-missing-fields/metadata b/tests/1.8/regression/stream/pass/variant-missing-fields/metadata
new file mode 100644 (file)
index 0000000..88b5138
--- /dev/null
@@ -0,0 +1,26 @@
+/* CTF 1.8 */
+typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t;
+typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
+
+trace {
+       major = 0;
+       minor = 1;
+       uuid = "2a6422d0-6cee-11e0-8c08-cb07d7b3a564";
+       byte_order = le;
+       packet.header := struct {
+               uint32_t magic;
+               uint8_t  uuid[16];
+       };
+};
+
+event {
+       name = test;
+       fields := struct {
+               enum : uint8_t { sel1 = 0, sel2 = 1, sel3 = 2, } selector;
+               variant <selector> {
+                       /* missing sel1 */
+                       uint32_t sel2;
+                       uint32_t sel3;
+               } v;
+       };
+};
This page took 0.02639 seconds and 4 git commands to generate.