From: Mathieu Desnoyers Date: Wed, 4 Dec 2013 15:56:19 +0000 (+0100) Subject: Add variant tests X-Git-Url: https://git.efficios.com/?p=ctf-testsuite.git;a=commitdiff_plain;h=f685a5f1fc14897ab8541c620c1ffdff6c5f17b4 Add variant tests Signed-off-by: Mathieu Desnoyers --- 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 index 0000000..2135b50 --- /dev/null +++ b/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/dummystream @@ -0,0 +1 @@ +ÁüÁ*d"ÐlîàŒË׳¥dBBBB \ 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 index 0000000..f25fe1e --- /dev/null +++ b/tests/1.8/regression/stream/fail/variant-out-of-range-enum-selector/metadata @@ -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 { + 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 index 0000000..2135b50 --- /dev/null +++ b/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/dummystream @@ -0,0 +1 @@ +ÁüÁ*d"ÐlîàŒË׳¥dBBBB \ 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 index 0000000..9de01c7 --- /dev/null +++ b/tests/1.8/regression/stream/pass/variant-missing-enum-mappings/metadata @@ -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 { + 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 index 0000000..2135b50 --- /dev/null +++ b/tests/1.8/regression/stream/pass/variant-missing-fields/dummystream @@ -0,0 +1 @@ +ÁüÁ*d"ÐlîàŒË׳¥dBBBB \ 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 index 0000000..88b5138 --- /dev/null +++ b/tests/1.8/regression/stream/pass/variant-missing-fields/metadata @@ -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 { + /* missing sel1 */ + uint32_t sel2; + uint32_t sel3; + } v; + }; +};