From aaacb3769d273c675850c6fd9a716feb40c3b346 Mon Sep 17 00:00:00 2001 From: Matthew Khouzam Date: Fri, 26 Jun 2015 21:35:33 -0400 Subject: [PATCH 1/4] metadata: Add typedef struct test. This test validates typedefing a struct and that it is not a struct field that is registered as the typedef. Signed-off-by: Matthew Khouzam --- .../metadata/pass/typedef-struct/metadata | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tests/1.8/regression/metadata/pass/typedef-struct/metadata diff --git a/tests/1.8/regression/metadata/pass/typedef-struct/metadata b/tests/1.8/regression/metadata/pass/typedef-struct/metadata new file mode 100644 index 0000000..059772c --- /dev/null +++ b/tests/1.8/regression/metadata/pass/typedef-struct/metadata @@ -0,0 +1,22 @@ +/* CTF 1.8 */ + +typealias integer { size = 32; align = 8; signed = false; } := uint32_t; + +/* PASS: struct typedef */ +typedef struct { + uint32_t data; +} my_struct; + +trace { + major = 2; + minor = 1; + byte_order = le; + packet.header := struct { + uint32_t magic; + }; +}; + +event { + name = "event"; + fields := my_struct; +}; From bf45afb6e47ee10e3045c7d2c5f2fcb51087898e Mon Sep 17 00:00:00 2001 From: Matthew Khouzam Date: Fri, 26 Jun 2015 21:40:18 -0400 Subject: [PATCH 2/4] metadata: test if a field in a typdef is also typedefed Validate if typedefing only occurs at one level of a scope. Signed-off-by: Matthew Khouzam --- .../metadata/fail/typedef-field/metadata | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tests/1.8/regression/metadata/fail/typedef-field/metadata diff --git a/tests/1.8/regression/metadata/fail/typedef-field/metadata b/tests/1.8/regression/metadata/fail/typedef-field/metadata new file mode 100644 index 0000000..52b862f --- /dev/null +++ b/tests/1.8/regression/metadata/fail/typedef-field/metadata @@ -0,0 +1,22 @@ +/* CTF 1.8 */ + +typealias integer { size = 32; align = 8; signed = false; } := uint32_t; + +/* PASS: struct typedef */ +typedef struct { + uint32_t data; +} my_struct; + +trace { + major = 2; + minor = 1; + byte_order = le; + packet.header := struct { + uint32_t magic; + }; +}; + +event { + name = "event"; + fields := data; +}; From c41cbbfc0014784aeec64157e9316ef41ffe5151 Mon Sep 17 00:00:00 2001 From: Matthew Khouzam Date: Fri, 26 Jun 2015 21:47:03 -0400 Subject: [PATCH 3/4] metada: relative scoped length sequences A sequence's length can be a relative scope starting with ctf keywords such as trace, stream or event. This test exercises getting a scoped length with its more complete name. Signed-off-by: Matthew Khouzam --- .../sequence-relative-scoped-length/metadata | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata diff --git a/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata b/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata new file mode 100644 index 0000000..233b8e9 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata @@ -0,0 +1,27 @@ +/* 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[16]; + }; +}; + +event { + name = string; + fields := struct { + uint8_t len; + struct { + uint32_t A[trace.stream.event.fields.len]; + } field; + }; +}; From 426a64d3d953c2f0920ddbd44b850ec4efb5cfd3 Mon Sep 17 00:00:00 2001 From: MatthewKhouzam Date: Mon, 29 Jun 2015 09:55:01 -0400 Subject: [PATCH 4/4] Update metadata --- .../pass/sequence-relative-scoped-length/metadata | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata b/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata index 233b8e9..29df955 100644 --- a/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata +++ b/tests/1.8/regression/metadata/pass/sequence-relative-scoped-length/metadata @@ -1,18 +1,12 @@ /* 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; - - +typealias integer { size = 32; align = 32; signed = false; base = 10; } := 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]; }; };