Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: jeremie.galarneau@efficios.com (Jérémie Galarneau)
Subject: [lttng-dev] [PATCH babeltrace 2/2] Test: Validate that enumeration mapping strings are properly escaped
Date: Thu, 28 Nov 2013 15:46:41 -0500	[thread overview]
Message-ID: <1385671601-5884-2-git-send-email-jeremie.galarneau@efficios.com> (raw)
In-Reply-To: <1385671601-5884-1-git-send-email-jeremie.galarneau@efficios.com>

Signed-off-by: J?r?mie Galarneau <jeremie.galarneau at efficios.com>
---
 tests/lib/test_ctf_writer.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c
index d7f7db7..0927a32 100644
--- a/tests/lib/test_ctf_writer.c
+++ b/tests/lib/test_ctf_writer.c
@@ -254,13 +254,30 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
 		bt_ctf_field_type_integer_create(12);
 	struct bt_ctf_field_type *float_type =
 		bt_ctf_field_type_floating_point_create();
+	struct bt_ctf_field_type *enum_type =
+		bt_ctf_field_type_enumeration_create(uint_12_type);
 	struct bt_ctf_event *simple_event;
 	struct bt_ctf_field *integer_field;
 	struct bt_ctf_field *float_field;
+	struct bt_ctf_field *enum_field;
+	struct bt_ctf_field *enum_container_field;
 
 	bt_ctf_field_type_set_alignment(float_type, 32);
 	bt_ctf_field_type_floating_point_set_exponent_digits(float_type, 11);
 	bt_ctf_field_type_floating_point_set_mantissa_digits(float_type, 53);
+
+	ok(bt_ctf_field_type_enumeration_add_mapping(enum_type,
+		"escaping; \"test\"", 0, 0) == 0,
+		"Accept enumeration mapping strings containing quotes");
+	ok(bt_ctf_field_type_enumeration_add_mapping(enum_type,
+		"\tanother \'escaping\'\n test\"", 1, 4) == 0,
+		"Accept enumeration mapping strings containing special characters");
+	ok(bt_ctf_field_type_enumeration_add_mapping(enum_type,
+		"event clock int float", 5, 22) == 0,
+		"Accept enumeration mapping strings containing reserved keywords");
+	ok(bt_ctf_event_class_add_field(simple_event_class, enum_type,
+		"enum_field") == 0, "Add enumeration field to event");
+
 	ok(uint_12_type, "Create an unsigned integer type");
 	bt_ctf_event_class_add_field(simple_event_class, uint_12_type,
 		"integer_field");
@@ -281,6 +298,13 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
 
 	float_field = bt_ctf_event_get_payload(simple_event, "float_field");
 	bt_ctf_field_floating_point_set_value(float_field, 3.1415);
+	enum_field = bt_ctf_field_create(enum_type);
+	enum_container_field = bt_ctf_field_enumeration_get_container(
+		enum_field);
+	ok(bt_ctf_field_unsigned_integer_set_value(
+		enum_container_field, 1) == 0,
+		"Set enumeration container value");
+	bt_ctf_event_set_payload(simple_event, "enum_field", enum_field);
 
 	ok(bt_ctf_clock_set_time(clock, current_time) == 0, "Set clock time");
 
@@ -294,8 +318,11 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
 	bt_ctf_event_put(simple_event);
 	bt_ctf_field_type_put(uint_12_type);
 	bt_ctf_field_type_put(float_type);
+	bt_ctf_field_type_put(enum_type);
 	bt_ctf_field_put(integer_field);
 	bt_ctf_field_put(float_field);
+	bt_ctf_field_put(enum_field);
+	bt_ctf_field_put(enum_container_field);
 }
 
 void append_complex_event(struct bt_ctf_stream_class *stream_class,
-- 
1.8.4.2




  reply	other threads:[~2013-11-28 20:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-28 20:46 [lttng-dev] [PATCH babeltrace 1/2] Fix ctf-writer: Quote strings provided as enumeration mappings Jérémie Galarneau
2013-11-28 20:46 ` Jérémie Galarneau [this message]
2013-11-29  6:06   ` [lttng-dev] [PATCH babeltrace 2/2] Test: Validate that enumeration mapping strings are properly escaped Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1385671601-5884-2-git-send-email-jeremie.galarneau@efficios.com \
    --to=jeremie.galarneau@efficios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox