Repository: thrift
Updated Branches:
  refs/heads/master 245c347b7 -> a649e7473


THRIFT-3337 Add testBool method to cross tests

This closes #611


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/a649e747
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/a649e747
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/a649e747

Branch: refs/heads/master
Commit: a649e7473bd0229f160332f0c80407ba49765065
Parents: 245c347
Author: Nobuaki Sukegawa <[email protected]>
Authored: Mon Sep 21 13:53:25 2015 +0900
Committer: Roger Meier <[email protected]>
Committed: Mon Sep 21 23:07:39 2015 +0200

----------------------------------------------------------------------
 lib/c_glib/test/testthrifttestclient.cpp        |  4 ++
 lib/csharp/test/ThriftTest/TestClient.cs        |  7 +++
 lib/csharp/test/ThriftTest/TestServer.cs        |  6 +++
 lib/go/test/tests/thrifttest_handler.go         |  4 ++
 .../apache/thrift/server/ServerTestBase.java    | 18 ++++++++
 lib/nodejs/test/test-cases.js                   |  2 +
 lib/nodejs/test/test_handler.js                 |  1 +
 test/ThriftTest.thrift                          |  7 +++
 test/c_glib/src/test_client.c                   | 47 +++++++++++++++++---
 test/c_glib/src/thrift_test_handler.c           | 18 ++++++++
 test/c_glib/src/thrift_test_handler.h           |  4 ++
 test/cpp/src/TestClient.cpp                     | 15 +++++++
 test/cpp/src/TestServer.cpp                     | 10 +++++
 test/go/src/bin/testclient/main.go              | 19 +++++++-
 test/go/src/common/clientserver_test.go         | 17 +++++++
 test/go/src/common/mock_handler.go              | 12 +++++
 test/go/src/common/printing_handler.go          | 11 +++++
 test/go/src/common/simple_handler.go            |  4 ++
 test/hs/TestServer.hs                           |  4 ++
 test/known_failures_Linux.json                  |  4 ++
 test/perl/TestClient.pl                         | 11 +++++
 test/perl/TestServer.pl                         |  8 ++++
 test/py/TestClient.py                           |  4 ++
 test/py/TestServer.py                           |  5 +++
 24 files changed, 235 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/c_glib/test/testthrifttestclient.cpp
----------------------------------------------------------------------
diff --git a/lib/c_glib/test/testthrifttestclient.cpp 
b/lib/c_glib/test/testthrifttestclient.cpp
index e1737cd..e618fe9 100755
--- a/lib/c_glib/test/testthrifttestclient.cpp
+++ b/lib/c_glib/test/testthrifttestclient.cpp
@@ -67,6 +67,10 @@ class TestHandler : public ThriftTestIf {
     out = thing;
   }
 
+  bool testBool(const bool thing) {
+    printf("[C -> C++] testBool(%s)\n", thing ? "true" : "false");
+    return thing;
+  }
   int8_t testByte(const int8_t thing) {
     printf("[C -> C++] testByte(%d)\n", (int)thing);
     return thing;

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/csharp/test/ThriftTest/TestClient.cs
----------------------------------------------------------------------
diff --git a/lib/csharp/test/ThriftTest/TestClient.cs 
b/lib/csharp/test/ThriftTest/TestClient.cs
index ec0696a..68949ac 100644
--- a/lib/csharp/test/ThriftTest/TestClient.cs
+++ b/lib/csharp/test/ThriftTest/TestClient.cs
@@ -242,6 +242,13 @@ namespace Test
             string s = client.testString("Test");
             Console.WriteLine(" = \"" + s + "\"");
 
+            Console.Write("testBool(true)");
+            bool t = client.testBool((bool)true);
+            Console.WriteLine(" = " + t);
+            Console.Write("testBool(false)");
+            bool f = client.testBool((bool)false);
+            Console.WriteLine(" = " + f);
+
             Console.Write("testByte(1)");
             sbyte i8 = client.testByte((sbyte)1);
             Console.WriteLine(" = " + i8);

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/csharp/test/ThriftTest/TestServer.cs
----------------------------------------------------------------------
diff --git a/lib/csharp/test/ThriftTest/TestServer.cs 
b/lib/csharp/test/ThriftTest/TestServer.cs
index 0e9fe05..b5cc73c 100644
--- a/lib/csharp/test/ThriftTest/TestServer.cs
+++ b/lib/csharp/test/ThriftTest/TestServer.cs
@@ -73,6 +73,12 @@ namespace Test
                 return thing;
             }
 
+            public bool testBool(bool thing)
+            {
+                Console.WriteLine("testBool(" + thing + ")");
+                return thing;
+            }
+
             public sbyte testByte(sbyte thing)
             {
                 Console.WriteLine("testByte(" + thing + ")");

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/go/test/tests/thrifttest_handler.go
----------------------------------------------------------------------
diff --git a/lib/go/test/tests/thrifttest_handler.go 
b/lib/go/test/tests/thrifttest_handler.go
index eef45d5..50fe718 100644
--- a/lib/go/test/tests/thrifttest_handler.go
+++ b/lib/go/test/tests/thrifttest_handler.go
@@ -56,6 +56,10 @@ func (p *ThriftTestHandler) TestString(thing string) (r 
string, err error) {
        return thing, nil
 }
 
+func (p *ThriftTestHandler) TestBool(thing bool) (r bool, err error) {
+       return thing, nil
+}
+
 func (p *ThriftTestHandler) TestByte(thing int8) (r int8, err error) {
        return thing, nil
 }

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/java/test/org/apache/thrift/server/ServerTestBase.java
----------------------------------------------------------------------
diff --git a/lib/java/test/org/apache/thrift/server/ServerTestBase.java 
b/lib/java/test/org/apache/thrift/server/ServerTestBase.java
index a2836aa..b95779b 100755
--- a/lib/java/test/org/apache/thrift/server/ServerTestBase.java
+++ b/lib/java/test/org/apache/thrift/server/ServerTestBase.java
@@ -65,6 +65,11 @@ public abstract class ServerTestBase extends TestCase {
       System.out.print("testString(\"" + thing + "\")\n");
       return thing;
     }
+
+    public boolean testBool(boolean thing) {
+      System.out.print("testBool(" + thing + ")\n");
+      return thing;
+    }
   
     public byte testByte(byte thing) {
       System.out.print("testByte(" + thing + ")\n");
@@ -305,6 +310,13 @@ public abstract class ServerTestBase extends TestCase {
 
   public abstract TTransport getClientTransport(TTransport 
underlyingTransport) throws Exception;
 
+  private void testBool(ThriftTest.Client testClient) throws TException {
+    boolean t = testClient.testBool(true);
+    assertEquals(true, t);
+    boolean f = testClient.testBool(false);
+    assertEquals(false, f);
+  }
+
   private void testByte(ThriftTest.Client testClient) throws TException {
     byte i8 = testClient.testByte((byte)1);
     assertEquals(1, i8);
@@ -404,6 +416,7 @@ public abstract class ServerTestBase extends TestCase {
       open(transport);
       testVoid(testClient);
       testString(testClient);
+      testBool(testClient);
       testByte(testClient);
       testI32(testClient);
       testI64(testClient);
@@ -585,6 +598,11 @@ public abstract class ServerTestBase extends TestCase {
         }
 
         @Override
+        public void testBool(boolean thing, AsyncMethodCallback resultHandler) 
throws TException {
+            resultHandler.onComplete(handler.testBool(thing));
+        }
+
+        @Override
         public void testByte(byte thing, AsyncMethodCallback resultHandler) 
throws TException {
             resultHandler.onComplete(handler.testByte(thing));
         }

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/nodejs/test/test-cases.js
----------------------------------------------------------------------
diff --git a/lib/nodejs/test/test-cases.js b/lib/nodejs/test/test-cases.js
index 7872295..2384221 100644
--- a/lib/nodejs/test/test-cases.js
+++ b/lib/nodejs/test/test-cases.js
@@ -49,6 +49,8 @@ var simple = [
   ['testString', ''],
   ['testString', stringTest],
   ['testString', specialCharacters],
+  ['testBool', true],
+  ['testBool', false],
   ['testByte', 1],
   ['testByte', 0],
   ['testByte', -1],

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/lib/nodejs/test/test_handler.js
----------------------------------------------------------------------
diff --git a/lib/nodejs/test/test_handler.js b/lib/nodejs/test/test_handler.js
index da32906..41df441 100644
--- a/lib/nodejs/test/test_handler.js
+++ b/lib/nodejs/test/test_handler.js
@@ -57,6 +57,7 @@ var asyncHandlers = {
 
 var identityHandlers = [
   'testString',
+  'testBool',
   'testByte',
   'testI32',
   'testI64',

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/ThriftTest.thrift
----------------------------------------------------------------------
diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift
index 467968a..a749566 100644
--- a/test/ThriftTest.thrift
+++ b/test/ThriftTest.thrift
@@ -144,6 +144,13 @@ service ThriftTest
   string       testString(1: string thing),
 
   /**
+   * Prints 'testBool("%s")' where '%s' with thing as 'true' or 'false'
+   * @param bool  thing - the bool data to print
+   * @return bool  - returns the bool 'thing'
+   */
+  bool         testBool(1: bool thing),
+
+  /**
    * Prints 'testByte("%d")' with thing as '%d'
    * @param byte thing - the byte to print
    * @return byte - returns the byte 'thing'

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/c_glib/src/test_client.c
----------------------------------------------------------------------
diff --git a/test/c_glib/src/test_client.c b/test/c_glib/src/test_client.c
index dba2daf..b1fe065 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)");

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/c_glib/src/thrift_test_handler.c
----------------------------------------------------------------------
diff --git a/test/c_glib/src/thrift_test_handler.c 
b/test/c_glib/src/thrift_test_handler.c
index ae273bf..d82befb 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;

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/c_glib/src/thrift_test_handler.h
----------------------------------------------------------------------
diff --git a/test/c_glib/src/thrift_test_handler.h 
b/test/c_glib/src/thrift_test_handler.h
index a34f90a..957bbda 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,

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/cpp/src/TestClient.cpp
----------------------------------------------------------------------
diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
index fa5b635..1c0254b 100644
--- a/test/cpp/src/TestClient.cpp
+++ b/test/cpp/src/TestClient.cpp
@@ -307,6 +307,21 @@ int main(int argc, char** argv) {
       failCount++;
 
     /**
+     * BOOL TEST
+     */
+    printf("testBool(true)");
+    bool bl = testClient.testBool(true);
+    printf(" = %s\n", bl ? "true" : "false");
+    if (bl != true)
+      failCount++;
+
+    printf("testBool(false)");
+    bl = testClient.testBool(false);
+    printf(" = %s\n", bl ? "true" : "false");
+    if (bl != false)
+      failCount++;
+
+    /**
      * BYTE TEST
      */
     printf("testByte(1)");

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/cpp/src/TestServer.cpp
----------------------------------------------------------------------
diff --git a/test/cpp/src/TestServer.cpp b/test/cpp/src/TestServer.cpp
index 7b3c04b..e5bc31e 100644
--- a/test/cpp/src/TestServer.cpp
+++ b/test/cpp/src/TestServer.cpp
@@ -78,6 +78,11 @@ public:
     out = thing;
   }
 
+  bool testBool(const bool thing) {
+    printf("testBool(%s)\n", thing ? "true" : "false");
+    return thing;
+  }
+
   int8_t testByte(const int8_t thing) {
     printf("testByte(%d)\n", (int)thing);
     return thing;
@@ -398,6 +403,11 @@ public:
     cob(res);
   }
 
+  virtual void testBool(tcxx::function<void(bool const& _return)> cob, const 
bool thing) {
+    bool res = _delegate->testBool(thing);
+    cob(res);
+  }
+
   virtual void testByte(tcxx::function<void(int8_t const& _return)> cob, const 
int8_t thing) {
     int8_t res = _delegate->testByte(thing);
     cob(res);

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/go/src/bin/testclient/main.go
----------------------------------------------------------------------
diff --git a/test/go/src/bin/testclient/main.go 
b/test/go/src/bin/testclient/main.go
index f19743a..d0e5ff8 100644
--- a/test/go/src/bin/testclient/main.go
+++ b/test/go/src/bin/testclient/main.go
@@ -75,6 +75,21 @@ func callEverything(client *thrifttest.ThriftTestClient) {
                t.Fatalf("Unexpected TestString() result, expected 'thing' got 
'%s' ", thing)
        }
 
+       bl, err := client.TestBool(true)
+       if err != nil {
+               t.Fatalf("Unexpected error in TestBool() call: ", err)
+       }
+       if !bl {
+               t.Fatalf("Unexpected TestBool() result expected true, got %f ", 
bl)
+       }
+       bl, err = client.TestBool(false)
+       if err != nil {
+               t.Fatalf("Unexpected error in TestBool() call: ", err)
+       }
+       if bl {
+               t.Fatalf("Unexpected TestBool() result expected false, got %f 
", bl)
+       }
+
        b, err := client.TestByte(42)
        if err != nil {
                t.Fatalf("Unexpected error in TestByte() call: ", err)
@@ -186,10 +201,10 @@ func callEverything(client *thrifttest.ThriftTestClient) {
 
        mapmap, err := client.TestMapMap(42)
        if err != nil {
-               t.Fatalf("Unexpected error in TestMapmap() call: ", err)
+               t.Fatalf("Unexpected error in TestMapMap() call: ", err)
        }
        if !reflect.DeepEqual(mapmap, rmapmap) {
-               t.Fatalf("Unexpected TestMapmap() result expected %#v, got %#v 
", rmapmap, mapmap)
+               t.Fatalf("Unexpected TestMapMap() result expected %#v, got %#v 
", rmapmap, mapmap)
        }
 
        crazy := thrifttest.NewInsanity()

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/go/src/common/clientserver_test.go
----------------------------------------------------------------------
diff --git a/test/go/src/common/clientserver_test.go 
b/test/go/src/common/clientserver_test.go
index a7bd46c..5c8915a 100644
--- a/test/go/src/common/clientserver_test.go
+++ b/test/go/src/common/clientserver_test.go
@@ -89,6 +89,8 @@ func callEverythingWithMock(t *testing.T, client 
*thrifttest.ThriftTestClient, h
        gomock.InOrder(
                handler.EXPECT().TestVoid(),
                handler.EXPECT().TestString("thing").Return("thing", nil),
+               handler.EXPECT().TestBool(true).Return(true, nil),
+               handler.EXPECT().TestBool(false).Return(false, nil),
                handler.EXPECT().TestByte(int8(42)).Return(int8(42), nil),
                handler.EXPECT().TestI32(int32(4242)).Return(int32(4242), nil),
                handler.EXPECT().TestI64(int64(424242)).Return(int64(424242), 
nil),
@@ -125,6 +127,21 @@ func callEverythingWithMock(t *testing.T, client 
*thrifttest.ThriftTestClient, h
                t.Errorf("Unexpected TestString() result, expected 'thing' got 
'%s' ", thing)
        }
 
+       bl, err := client.TestBool(true)
+       if err != nil {
+               t.Errorf("Unexpected error in TestBool() call: ", err)
+       }
+       if !bl {
+               t.Errorf("Unexpected TestBool() result expected true, got %f ", 
bl)
+       }
+       bl, err = client.TestBool(false)
+       if err != nil {
+               t.Errorf("Unexpected error in TestBool() call: ", err)
+       }
+       if bl {
+               t.Errorf("Unexpected TestBool() result expected false, got %f 
", bl)
+       }
+
        b, err := client.TestByte(42)
        if err != nil {
                t.Errorf("Unexpected error in TestByte() call: ", err)

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/go/src/common/mock_handler.go
----------------------------------------------------------------------
diff --git a/test/go/src/common/mock_handler.go 
b/test/go/src/common/mock_handler.go
index ec7e051..7495fc6 100644
--- a/test/go/src/common/mock_handler.go
+++ b/test/go/src/common/mock_handler.go
@@ -48,6 +48,18 @@ func (_m *MockThriftTest) EXPECT() *_MockThriftTestRecorder {
        return _m.recorder
 }
 
+func (_m *MockThriftTest) TestBool(_param0 bool) (bool, error) {
+       ret := _m.ctrl.Call(_m, "TestBool", _param0)
+       ret0, _ := ret[0].(bool)
+       ret1, _ := ret[1].(error)
+       return ret0, ret1
+}
+
+func (_mr *_MockThriftTestRecorder) TestBool(arg0 interface{}) *gomock.Call {
+       return _mr.mock.ctrl.RecordCall(_mr.mock, "TestBool", arg0)
+}
+
+
 func (_m *MockThriftTest) TestByte(_param0 int8) (int8, error) {
        ret := _m.ctrl.Call(_m, "TestByte", _param0)
        ret0, _ := ret[0].(int8)

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/go/src/common/printing_handler.go
----------------------------------------------------------------------
diff --git a/test/go/src/common/printing_handler.go 
b/test/go/src/common/printing_handler.go
index 8c902d1..bc308b6 100644
--- a/test/go/src/common/printing_handler.go
+++ b/test/go/src/common/printing_handler.go
@@ -48,6 +48,17 @@ func (p *printingHandler) TestString(thing string) (r 
string, err error) {
        return thing, nil
 }
 
+// Prints 'testBool("%d")' with thing as 'true' or 'false'
+// @param bool thing - the bool to print
+// @return bool - returns the bool 'thing'
+//
+// Parameters:
+//  - Thing
+func (p *printingHandler) TestBool(thing bool) (r bool, err error) {
+       fmt.Printf("testBool(%d)\n", thing)
+       return thing, nil
+}
+
 // Prints 'testByte("%d")' with thing as '%d'
 // @param byte thing - the byte to print
 // @return byte - returns the byte 'thing'

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/go/src/common/simple_handler.go
----------------------------------------------------------------------
diff --git a/test/go/src/common/simple_handler.go 
b/test/go/src/common/simple_handler.go
index 97ff52d..944f11c 100644
--- a/test/go/src/common/simple_handler.go
+++ b/test/go/src/common/simple_handler.go
@@ -37,6 +37,10 @@ func (p *simpleHandler) TestString(thing string) (r string, 
err error) {
        return thing, nil
 }
 
+func (p *simpleHandler) TestBool(thing []byte) (r []byte, err error) {
+       return thing, nil
+}
+
 func (p *simpleHandler) TestByte(thing int8) (r int8, err error) {
        return thing, nil
 }

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/hs/TestServer.hs
----------------------------------------------------------------------
diff --git a/test/hs/TestServer.hs b/test/hs/TestServer.hs
index d991de1..fb80cf8 100755
--- a/test/hs/TestServer.hs
+++ b/test/hs/TestServer.hs
@@ -111,6 +111,10 @@ instance ThriftTest_Iface TestHandler where
     System.IO.putStrLn $ "testString(" ++ show s ++ ")"
     return s
 
+  testBool _ x = do
+    System.IO.putStrLn $ "testBool(" ++ show x ++ ")"
+    return x
+
   testByte _ x = do
     System.IO.putStrLn $ "testByte(" ++ show x ++ ")"
     return x

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/known_failures_Linux.json
----------------------------------------------------------------------
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index 2f21c3a..97551e2 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -204,6 +204,7 @@
   "hs-cpp_compact_framed-ip-ssl",
   "hs-cpp_compact_http-ip",
   "hs-cpp_compact_http-ip-ssl",
+  "hs-cpp_json_buffered-ip",
   "hs-cpp_json_buffered-ip-ssl",
   "hs-cpp_json_evhttp-http-ip",
   "hs-cpp_json_evhttp-http-ip-ssl",
@@ -274,6 +275,8 @@
   "hs-nodejs_json_buffered-ip-ssl",
   "hs-nodejs_json_framed-ip",
   "hs-nodejs_json_framed-ip-ssl",
+  "hs-php_binary_framed-ip",
+  "hs-php_compact_framed-ip",
   "hs-py_binary-accel_buffered-ip-ssl",
   "hs-py_binary-accel_framed-ip",
   "hs-py_binary-accel_framed-ip-ssl",
@@ -283,6 +286,7 @@
   "hs-py_compact_buffered-ip-ssl",
   "hs-py_compact_framed-ip",
   "hs-py_compact_framed-ip-ssl",
+  "hs-py_json_buffered-ip",
   "hs-py_json_buffered-ip-ssl",
   "hs-py_json_framed-ip",
   "hs-py_json_framed-ip-ssl",

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/perl/TestClient.pl
----------------------------------------------------------------------
diff --git a/test/perl/TestClient.pl b/test/perl/TestClient.pl
index 0f1ce65..40f8f59 100755
--- a/test/perl/TestClient.pl
+++ b/test/perl/TestClient.pl
@@ -133,6 +133,17 @@ my $s = $testClient->testString("Test");
 print(" = \"$s\"\n");
 
 #
+# BOOL TEST
+#
+print("testBool(1)");
+my $u8 = $testClient->testBool(1);
+print(" = $u8\n");
+print("testBool(0)");
+my $u8 = $testClient->testBool(0);
+print(" = $u8\n");
+
+
+#
 # BYTE TEST
 #
 print("testByte(1)");

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/perl/TestServer.pl
----------------------------------------------------------------------
diff --git a/test/perl/TestServer.pl b/test/perl/TestServer.pl
index 57a1367..eebebc8 100644
--- a/test/perl/TestServer.pl
+++ b/test/perl/TestServer.pl
@@ -148,6 +148,14 @@ sub testString() {
   return $thing;
 }
 
+sub testBool() {
+  my $self = shift;
+  my $thing = shift;
+  my $str = $thing ? "true" : "false";
+  print("testBool($str)\n");
+  return $thing;
+}
+
 sub testByte() {
   my $self = shift;
   my $thing = shift;

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/py/TestClient.py
----------------------------------------------------------------------
diff --git a/test/py/TestClient.py b/test/py/TestClient.py
index a810b3f..592a541 100755
--- a/test/py/TestClient.py
+++ b/test/py/TestClient.py
@@ -101,6 +101,10 @@ class AbstractTest(unittest.TestCase):
     self.assertEqual(self.client.testString('Python' * 20), 'Python' * 20)
     self.assertEqual(self.client.testString(''), '')
 
+  def testBool(self):
+    self.assertEqual(self.client.testBool(True), True)
+    self.assertEqual(self.client.testBool(False), False)
+
   def testByte(self):
     self.assertEqual(self.client.testByte(63), 63)
     self.assertEqual(self.client.testByte(-127), -127)

http://git-wip-us.apache.org/repos/asf/thrift/blob/a649e747/test/py/TestServer.py
----------------------------------------------------------------------
diff --git a/test/py/TestServer.py b/test/py/TestServer.py
index bcf9376..89b74da 100755
--- a/test/py/TestServer.py
+++ b/test/py/TestServer.py
@@ -76,6 +76,11 @@ class TestHandler:
       print 'testString(%s)' % str
     return str
 
+  def testBool(self, boolean):
+    if options.verbose > 1:
+      print 'testBool(%s)' % str(boolean).lower()
+    return boolean
+
   def testByte(self, byte):
     if options.verbose > 1:
       print 'testByte(%d)' % byte

Reply via email to