From: Mathieu Desnoyers Date: Wed, 4 Dec 2013 16:00:20 +0000 (-0800) Subject: Merge pull request #18 from compudj/master X-Git-Url: https://git.efficios.com/?a=commitdiff_plain;h=a3bad6e59494007816e53af1ac181c13f37332c9;hp=d376dc6881cf6f61837a4863d49b49d029494ab2;p=ctf-testsuite.git Merge pull request #18 from compudj/master Merge added tests --- diff --git a/tests/1.8/regression/metadata/fail/variant-missing-selector/metadata b/tests/1.8/regression/metadata/fail/variant-missing-selector/metadata deleted file mode 100644 index 7aa82fa..0000000 --- a/tests/1.8/regression/metadata/fail/variant-missing-selector/metadata +++ /dev/null @@ -1,25 +0,0 @@ -/* CTF 1.8 */ -typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t; -typealias integer { size = 16; align = 8; signed = false; base = 10; } := uint16_t; -typealias integer { size = 32; align = 32; 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[0x10]; - }; -}; - -struct Mystruct { -enum : uint32_t { sel1, sel2, sel3 } tag; - -variant MyVariant { - struct { uint8_t _; } sel1; - struct { uint16_t _; } sel2; -} field; - -}; \ No newline at end of file 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; + }; +};