summaryrefslogtreecommitdiff
path: root/test/c_glib
diff options
context:
space:
mode:
authorNobuaki Sukegawa <nsukeg@gmail.com>2015-09-21 13:53:25 +0900
committerRoger Meier <roger@apache.org>2015-09-21 23:07:39 +0200
commita649e7473bd0229f160332f0c80407ba49765065 (patch)
tree44dea5abd7123a132851b6e1e181bf6caf3d3a44 /test/c_glib
parent245c347b7374182f8142ac07e43473ddd8c4d0de (diff)
downloadthrift-a649e7473bd0229f160332f0c80407ba49765065.tar.gz
THRIFT-3337 Add testBool method to cross tests
This closes #611
Diffstat (limited to 'test/c_glib')
-rw-r--r--test/c_glib/src/test_client.c47
-rw-r--r--test/c_glib/src/thrift_test_handler.c18
-rw-r--r--test/c_glib/src/thrift_test_handler.h4
3 files changed, 64 insertions, 5 deletions
diff --git a/test/c_glib/src/test_client.c b/test/c_glib/src/test_client.c
index dba2daf13..b1fe0657c 100644
--- a/test/c_glib/src/test_client.c
+++ b/test/c_glib/src/test_client.c
@@ -194,11 +194,12 @@ main (int argc, char **argv)
/* Execute the actual tests */
for (test_num = 0; test_num < num_tests; ++test_num) {
if (thrift_transport_open (transport, &error)) {
- gchar *string = NULL;
- gint8 byte = 0;
- gint32 int32 = 0;
- gint64 int64 = 0;
- gdouble dub = 0;
+ gchar *string = NULL;
+ gboolean boolean = 0;
+ gint8 byte = 0;
+ gint32 int32 = 0;
+ gint64 int64 = 0;
+ gdouble dub = 0;
gint byte_thing, i32_thing, inner_byte_thing, inner_i32_thing;
gint64 i64_thing, inner_i64_thing;
@@ -300,6 +301,42 @@ main (int argc, char **argv)
}
/**
+ * BOOL TEST
+ */
+ printf ("testByte(true)");
+ if (t_test_thrift_test_if_test_bool (test_client,
+ &boolean,
+ 1,
+ &error)) {
+ printf (" = %s\n", boolean ? "true" : "false");
+ if (boolean != 1)
+ fail_count++;
+ }
+ else {
+ printf ("%s\n", error->message);
+ g_error_free (error);
+ error = NULL;
+
+ fail_count++;
+ }
+ printf ("testByte(false)");
+ if (t_test_thrift_test_if_test_bool (test_client,
+ &boolean,
+ 0,
+ &error)) {
+ printf (" = %s\n", boolean ? "true" : "false");
+ if (boolean != 0)
+ fail_count++;
+ }
+ else {
+ printf ("%s\n", error->message);
+ g_error_free (error);
+ error = NULL;
+
+ fail_count++;
+ }
+
+ /**
* BYTE TEST
*/
printf ("testByte(1)");
diff --git a/test/c_glib/src/thrift_test_handler.c b/test/c_glib/src/thrift_test_handler.c
index ae273bf37..d82befbe6 100644
--- a/test/c_glib/src/thrift_test_handler.c
+++ b/test/c_glib/src/thrift_test_handler.c
@@ -60,6 +60,21 @@ thrift_test_handler_test_string (TTestThriftTestIf *iface,
}
gboolean
+thrift_test_handler_test_bool (TTestThriftTestIf *iface,
+ gboolean *_return,
+ const gboolean thing,
+ GError **error)
+{
+ THRIFT_UNUSED_VAR (iface);
+ THRIFT_UNUSED_VAR (error);
+
+ printf ("testByte(%s)\n", thing ? "true" : "false");
+ *_return = thing;
+
+ return TRUE;
+}
+
+gboolean
thrift_test_handler_test_byte (TTestThriftTestIf *iface,
gint8 *_return,
const gint8 thing,
@@ -796,6 +811,9 @@ thrift_test_handler_class_init (ThriftTestHandlerClass *klass)
base_class->test_string =
klass->test_string =
thrift_test_handler_test_string;
+ base_class->test_bool =
+ klass->test_bool =
+ thrift_test_handler_test_bool;
base_class->test_byte =
klass->test_byte =
thrift_test_handler_test_byte;
diff --git a/test/c_glib/src/thrift_test_handler.h b/test/c_glib/src/thrift_test_handler.h
index a34f90aa9..957bbda5d 100644
--- a/test/c_glib/src/thrift_test_handler.h
+++ b/test/c_glib/src/thrift_test_handler.h
@@ -66,6 +66,10 @@ struct _ThriftTestHandlerClass {
gchar **_return,
const gchar *thing,
GError **error);
+ gboolean (*test_bool) (TTestThriftTestIf *iface,
+ gboolean*_return,
+ const gboolean thing,
+ GError **error);
gboolean (*test_byte) (TTestThriftTestIf *iface,
gint8*_return,
const gint8 thing,