From 03f37b2250dd140e92a4464b3c225365c688d790 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Sun, 17 Nov 2013 17:36:00 -0500 Subject: [PATCH] array tests Etienne Signed-off-by: Mathieu Desnoyers --- .../fail/array-size-identifier/metadata | 17 +++++++++++ .../metadata/fail/array-size-keyword/metadata | 17 +++++++++++ .../fail/array-size-negative/metadata | 17 +++++++++++ .../fail/array-size-not-present/metadata | 17 +++++++++++ .../metadata/fail/array-size-string/metadata | 17 +++++++++++ .../fail/array-size-type-field/metadata | 25 ++++++++++++++++ .../metadata/fail/array-size-type/metadata | 17 +++++++++++ .../metadata/pass/array-basic-1dim/metadata | 19 ++++++++++++ .../pass/array-basic-2dim-2typedef/metadata | 23 +++++++++++++++ .../pass/array-basic-2dim-typedef/metadata | 23 +++++++++++++++ .../metadata/pass/array-basic-2dim/metadata | 19 ++++++++++++ .../metadata/pass/array-of-enum/metadata | 22 ++++++++++++++ .../metadata/pass/array-of-struct/metadata | 22 ++++++++++++++ .../pass/sequence-basic-1dim/metadata | 25 ++++++++++++++++ .../pass/sequence-basic-2dim/metadata | 25 ++++++++++++++++ .../pass/sequence-scoped-length/metadata | 27 +++++++++++++++++ .../pass/sequence-typedef-length/metadata | 29 +++++++++++++++++++ 17 files changed, 361 insertions(+) create mode 100644 tests/1.8/regression/metadata/fail/array-size-identifier/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-keyword/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-negative/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-not-present/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-string/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-type-field/metadata create mode 100644 tests/1.8/regression/metadata/fail/array-size-type/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-basic-1dim/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-basic-2dim-2typedef/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-basic-2dim-typedef/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-basic-2dim/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-of-enum/metadata create mode 100644 tests/1.8/regression/metadata/pass/array-of-struct/metadata create mode 100644 tests/1.8/regression/metadata/pass/sequence-basic-1dim/metadata create mode 100644 tests/1.8/regression/metadata/pass/sequence-basic-2dim/metadata create mode 100644 tests/1.8/regression/metadata/pass/sequence-scoped-length/metadata create mode 100644 tests/1.8/regression/metadata/pass/sequence-typedef-length/metadata diff --git a/tests/1.8/regression/metadata/fail/array-size-identifier/metadata b/tests/1.8/regression/metadata/fail/array-size-identifier/metadata new file mode 100644 index 0000000..248794e --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-identifier/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A[x]; diff --git a/tests/1.8/regression/metadata/fail/array-size-keyword/metadata b/tests/1.8/regression/metadata/fail/array-size-keyword/metadata new file mode 100644 index 0000000..3abe63f --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-keyword/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A[typedef]; diff --git a/tests/1.8/regression/metadata/fail/array-size-negative/metadata b/tests/1.8/regression/metadata/fail/array-size-negative/metadata new file mode 100644 index 0000000..dcb936b --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-negative/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A[-1]; diff --git a/tests/1.8/regression/metadata/fail/array-size-not-present/metadata b/tests/1.8/regression/metadata/fail/array-size-not-present/metadata new file mode 100644 index 0000000..b0a2541 --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-not-present/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A[]; diff --git a/tests/1.8/regression/metadata/fail/array-size-string/metadata b/tests/1.8/regression/metadata/fail/array-size-string/metadata new file mode 100644 index 0000000..d75305d --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-string/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A["x"]; diff --git a/tests/1.8/regression/metadata/fail/array-size-type-field/metadata b/tests/1.8/regression/metadata/fail/array-size-type-field/metadata new file mode 100644 index 0000000..a445ee4 --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-type-field/metadata @@ -0,0 +1,25 @@ +/* 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]; + }; +}; + +/* Enum can be nameless */ +event { + name = string; + fields := struct { + uint32_t A[uint32_t]; + }; +}; diff --git a/tests/1.8/regression/metadata/fail/array-size-type/metadata b/tests/1.8/regression/metadata/fail/array-size-type/metadata new file mode 100644 index 0000000..ee8e5f7 --- /dev/null +++ b/tests/1.8/regression/metadata/fail/array-size-type/metadata @@ -0,0 +1,17 @@ +/* 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]; + }; +}; + +typedef uint32_t A[uint32_t]; diff --git a/tests/1.8/regression/metadata/pass/array-basic-1dim/metadata b/tests/1.8/regression/metadata/pass/array-basic-1dim/metadata new file mode 100644 index 0000000..4153f73 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-basic-1dim/metadata @@ -0,0 +1,19 @@ +/* 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]; + }; +}; + +typedef uint32_t A[10]; +typedef uint16_t B[2]; +typedef uint8_t C[1]; \ No newline at end of file diff --git a/tests/1.8/regression/metadata/pass/array-basic-2dim-2typedef/metadata b/tests/1.8/regression/metadata/pass/array-basic-2dim-2typedef/metadata new file mode 100644 index 0000000..1045706 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-basic-2dim-2typedef/metadata @@ -0,0 +1,23 @@ +/* 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]; + }; +}; + +typedef uint32_t A[10]; +typedef uint16_t B[2]; +typedef uint8_t C[1]; + +typedef A X[1]; +typedef B Y[1]; +typedef C Z[1]; \ No newline at end of file diff --git a/tests/1.8/regression/metadata/pass/array-basic-2dim-typedef/metadata b/tests/1.8/regression/metadata/pass/array-basic-2dim-typedef/metadata new file mode 100644 index 0000000..da15d10 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-basic-2dim-typedef/metadata @@ -0,0 +1,23 @@ +/* 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]; + }; +}; + +typedef uint32_t A[10][1]; +typedef uint16_t B[2][1]; +typedef uint8_t C[1][1]; + +typedef A X[1][1]; +typedef B Y[1][1]; +typedef C Z[1][1]; \ No newline at end of file diff --git a/tests/1.8/regression/metadata/pass/array-basic-2dim/metadata b/tests/1.8/regression/metadata/pass/array-basic-2dim/metadata new file mode 100644 index 0000000..a84cc24 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-basic-2dim/metadata @@ -0,0 +1,19 @@ +/* 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]; + }; +}; + +typedef uint32_t A[10][1]; +typedef uint16_t B[2][1]; +typedef uint8_t C[1][1]; \ No newline at end of file diff --git a/tests/1.8/regression/metadata/pass/array-of-enum/metadata b/tests/1.8/regression/metadata/pass/array-of-enum/metadata new file mode 100644 index 0000000..25ada2f --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-of-enum/metadata @@ -0,0 +1,22 @@ +/* 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]; + }; +}; + +typedef enum : uint8_t { + X, Y, Z +} MyEnum; + + +typedef MyEnum MyArray[1024]; diff --git a/tests/1.8/regression/metadata/pass/array-of-struct/metadata b/tests/1.8/regression/metadata/pass/array-of-struct/metadata new file mode 100644 index 0000000..b444aed --- /dev/null +++ b/tests/1.8/regression/metadata/pass/array-of-struct/metadata @@ -0,0 +1,22 @@ +/* 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]; + }; +}; + +typedef struct { + uint32_t A[10]; +} MyStruct; + + +typedef MyStruct MyArray[1024]; diff --git a/tests/1.8/regression/metadata/pass/sequence-basic-1dim/metadata b/tests/1.8/regression/metadata/pass/sequence-basic-1dim/metadata new file mode 100644 index 0000000..aa13771 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/sequence-basic-1dim/metadata @@ -0,0 +1,25 @@ +/* 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; + uint32_t A[len]; + }; +}; diff --git a/tests/1.8/regression/metadata/pass/sequence-basic-2dim/metadata b/tests/1.8/regression/metadata/pass/sequence-basic-2dim/metadata new file mode 100644 index 0000000..4460909 --- /dev/null +++ b/tests/1.8/regression/metadata/pass/sequence-basic-2dim/metadata @@ -0,0 +1,25 @@ +/* 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; + uint32_t A[len][len]; + }; +}; diff --git a/tests/1.8/regression/metadata/pass/sequence-scoped-length/metadata b/tests/1.8/regression/metadata/pass/sequence-scoped-length/metadata new file mode 100644 index 0000000..31c2e0a --- /dev/null +++ b/tests/1.8/regression/metadata/pass/sequence-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[len]; + } field; + }; +}; diff --git a/tests/1.8/regression/metadata/pass/sequence-typedef-length/metadata b/tests/1.8/regression/metadata/pass/sequence-typedef-length/metadata new file mode 100644 index 0000000..8d5503f --- /dev/null +++ b/tests/1.8/regression/metadata/pass/sequence-typedef-length/metadata @@ -0,0 +1,29 @@ +/* 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; + typedef struct { uint32_t A[len]; } Field; + struct { + string len; + Field x; + } field; + }; +}; -- 2.34.1