From 0abce37efb1cdc6a34a5844dae45992f7055f6a3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Sun, 17 Nov 2013 23:23:30 -0500 Subject: [PATCH] Test ctf-writer: Verify that enumerations are validated before use MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau Signed-off-by: Mathieu Desnoyers --- tests/lib/test_ctf_writer.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index d55c6297..d7f7db7b 100644 --- a/tests/lib/test_ctf_writer.c +++ b/tests/lib/test_ctf_writer.c @@ -469,6 +469,7 @@ void type_field_tests() struct bt_ctf_field *uint_12; struct bt_ctf_field *int_16; struct bt_ctf_field *string; + struct bt_ctf_field *enumeration; struct bt_ctf_field_type *composite_structure_type; struct bt_ctf_field_type *structure_seq_type; struct bt_ctf_field_type *string_type; @@ -477,6 +478,9 @@ void type_field_tests() struct bt_ctf_field_type *int_16_type; struct bt_ctf_field_type *uint_12_type = bt_ctf_field_type_integer_create(12); + struct bt_ctf_field_type *enumeration_type; + struct bt_ctf_field_type *enumeration_sequence_type; + struct bt_ctf_field_type *enumeration_array_type; ok(uint_12_type, "Create an unsigned integer type"); ok(bt_ctf_field_type_integer_set_base(uint_12_type, @@ -578,9 +582,28 @@ void type_field_tests() ok(bt_ctf_field_string_set_value(string, "A value") == 0, "Set a string's value"); + enumeration_type = bt_ctf_field_type_enumeration_create(uint_12_type); + ok(enumeration_type, + "Create an enumeration type with an unsigned 12-bit integer as container"); + enumeration_sequence_type = bt_ctf_field_type_sequence_create( + enumeration_type, "count"); + ok(!enumeration_sequence_type, + "Check enumeration types are validated when creating a sequence"); + enumeration_array_type = bt_ctf_field_type_array_create( + enumeration_type, 10); + ok(!enumeration_array_type, + "Check enumeration types are validated when creating an array"); + ok(bt_ctf_field_type_structure_add_field(composite_structure_type, + enumeration_type, "enumeration") == 0, + "Check enumeration types are validated when adding them as structure members"); + enumeration = bt_ctf_field_create(enumeration_type); + ok(!enumeration, + "Check enumeration types are validated before instantiation"); + bt_ctf_field_put(string); bt_ctf_field_put(uint_12); bt_ctf_field_put(int_16); + bt_ctf_field_put(enumeration); bt_ctf_field_type_put(composite_structure_type); bt_ctf_field_type_put(structure_seq_type); bt_ctf_field_type_put(string_type); @@ -588,6 +611,9 @@ void type_field_tests() bt_ctf_field_type_put(uint_8_type); bt_ctf_field_type_put(int_16_type); bt_ctf_field_type_put(uint_12_type); + bt_ctf_field_type_put(enumeration_type); + bt_ctf_field_type_put(enumeration_sequence_type); + bt_ctf_field_type_put(enumeration_array_type); } void packet_resize_test(struct bt_ctf_stream_class *stream_class, -- 2.34.1