summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuaki Sukegawa <nsukeg@gmail.com>2015-08-16 15:42:58 +0900
committerHenrique Mendonça <henrique@apache.org>2015-08-17 21:54:23 +1000
commit2fab3deb09e492cbcb2b1e4ed1c1d302787a9abd (patch)
tree0509cd21f9a3e6e8a043d7b07b42f6600644fa0a
parent738143cf36436d65c7e379351968e6e0a1f4ca3f (diff)
downloadthrift-2fab3deb09e492cbcb2b1e4ed1c1d302787a9abd.tar.gz
THRIFT-3296 - Go cross test does not conform to spec
-rw-r--r--.gitignore1
-rw-r--r--test/go/src/bin/testclient/main.go43
-rw-r--r--test/go/src/common/clientserver_test.go2
-rw-r--r--test/go/src/common/printing_handler.go11
-rw-r--r--test/known_failures_Linux.json68
5 files changed, 52 insertions, 73 deletions
diff --git a/.gitignore b/.gitignore
index 013dc9e26..8c5376d37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -241,6 +241,7 @@ test-driver
/test/go/ThriftTest.thrift
/test/go/gopath
/test/go/pkg/
+/test/go/src/code.google.com/
/test/go/src/github.com/golang/
/test/go/src/gen/
/test/go/src/thrift
diff --git a/test/go/src/bin/testclient/main.go b/test/go/src/bin/testclient/main.go
index 94b5c61eb..f19743a8e 100644
--- a/test/go/src/bin/testclient/main.go
+++ b/test/go/src/bin/testclient/main.go
@@ -192,6 +192,44 @@ func callEverything(client *thrifttest.ThriftTestClient) {
t.Fatalf("Unexpected TestMapmap() result expected %#v, got %#v ", rmapmap, mapmap)
}
+ crazy := thrifttest.NewInsanity()
+ crazy.UserMap = map[thrifttest.Numberz]thrifttest.UserId {
+ thrifttest.Numberz_FIVE: 5,
+ thrifttest.Numberz_EIGHT: 8,
+ }
+ truck1 := thrifttest.NewXtruct()
+ truck1.StringThing = "Goodbye4"
+ truck1.ByteThing = 4;
+ truck1.I32Thing = 4;
+ truck1.I64Thing = 4;
+ truck2 := thrifttest.NewXtruct()
+ truck2.StringThing = "Hello2"
+ truck2.ByteThing = 2;
+ truck2.I32Thing = 2;
+ truck2.I64Thing = 2;
+ crazy.Xtructs = []*thrifttest.Xtruct {
+ truck1,
+ truck2,
+ }
+ insanity, err := client.TestInsanity(crazy)
+ if err != nil {
+ t.Fatalf("Unexpected error in TestInsanity() call: ", err)
+ }
+ if !reflect.DeepEqual(crazy, insanity[1][2]) {
+ t.Fatalf("Unexpected TestInsanity() first result expected %#v, got %#v ",
+ crazy,
+ insanity[1][2])
+ }
+ if !reflect.DeepEqual(crazy, insanity[1][3]) {
+ t.Fatalf("Unexpected TestInsanity() second result expected %#v, got %#v ",
+ crazy,
+ insanity[1][3])
+ }
+ if len(insanity[2][6].UserMap) > 0 || len(insanity[2][6].Xtructs) > 0 {
+ t.Fatalf("Unexpected TestInsanity() non-empty result got %#v ",
+ insanity[2][6])
+ }
+
xxsret, err := client.TestMulti(42, 4242, 424242, map[int16]string{1: "blah", 2: "thing"}, thrifttest.Numberz_EIGHT, thrifttest.UserId(24))
if err != nil {
t.Fatalf("Unexpected error in TestMulti() call: ", err)
@@ -208,10 +246,9 @@ func callEverything(client *thrifttest.ThriftTestClient) {
t.Fatalf("Unexpected TestException() result expected %#v, got %#v ", xcept, err)
}
- // TODO: connection is being closed on this
err = client.TestException("TException")
- tex, ok := err.(thrift.TApplicationException)
- if err == nil || !ok || tex.TypeId() != thrift.INTERNAL_ERROR {
+ _, ok := err.(thrift.TApplicationException)
+ if err == nil || !ok {
t.Fatalf("Unexpected TestException() result expected ApplicationError, got %#v ", err)
}
diff --git a/test/go/src/common/clientserver_test.go b/test/go/src/common/clientserver_test.go
index 0080ead63..a7bd46c4e 100644
--- a/test/go/src/common/clientserver_test.go
+++ b/test/go/src/common/clientserver_test.go
@@ -103,7 +103,7 @@ func callEverythingWithMock(t *testing.T, client *thrifttest.ThriftTestClient, h
handler.EXPECT().TestEnum(thrifttest.Numberz_TWO).Return(thrifttest.Numberz_TWO, nil),
handler.EXPECT().TestTypedef(thrifttest.UserId(42)).Return(thrifttest.UserId(42), nil),
handler.EXPECT().TestMapMap(int32(42)).Return(rmapmap, nil),
- //not testing insanity
+ // TODO: not testing insanity
handler.EXPECT().TestMulti(int8(42), int32(4242), int64(424242), map[int16]string{1: "blah", 2: "thing"}, thrifttest.Numberz_EIGHT, thrifttest.UserId(24)).Return(xxs, nil),
handler.EXPECT().TestException("some").Return(xcept),
handler.EXPECT().TestException("TException").Return(errors.New("Just random exception")),
diff --git a/test/go/src/common/printing_handler.go b/test/go/src/common/printing_handler.go
index bed7086d8..8c902d1e8 100644
--- a/test/go/src/common/printing_handler.go
+++ b/test/go/src/common/printing_handler.go
@@ -263,7 +263,16 @@ func (p *printingHandler) TestMapMap(hello int32) (r map[int32]map[int32]int32,
// Parameters:
// - Argument
func (p *printingHandler) TestInsanity(argument *Insanity) (r map[UserId]map[Numberz]*Insanity, err error) {
- return nil, errors.New("No Insanity")
+ fmt.Printf("testInsanity()\n")
+ r = make(map[UserId]map[Numberz]*Insanity)
+ r[1] = map[Numberz]*Insanity {
+ 2: argument,
+ 3: argument,
+ }
+ r[2] = map[Numberz]*Insanity {
+ 6: NewInsanity(),
+ }
+ return
}
// Prints 'testMulti()'
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index 416a53d82..eef9f4656 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -1,8 +1,6 @@
[
"c_glib-csharp_binary_buffered-ip",
"c_glib-csharp_binary_framed-ip",
- "c_glib-go_binary_buffered-ip",
- "c_glib-go_binary_framed-ip",
"c_glib-hs_binary_framed-ip",
"c_glib-nodejs_binary_buffered-ip",
"c_glib-nodejs_binary_framed-ip",
@@ -26,18 +24,6 @@
"cpp-csharp_compact_framed-ip-ssl",
"cpp-csharp_json_buffered-ip-ssl",
"cpp-csharp_json_framed-ip-ssl",
- "cpp-go_binary_buffered-ip",
- "cpp-go_binary_buffered-ip-ssl",
- "cpp-go_binary_framed-ip",
- "cpp-go_binary_framed-ip-ssl",
- "cpp-go_compact_buffered-ip",
- "cpp-go_compact_buffered-ip-ssl",
- "cpp-go_compact_framed-ip",
- "cpp-go_compact_framed-ip-ssl",
- "cpp-go_json_buffered-ip",
- "cpp-go_json_buffered-ip-ssl",
- "cpp-go_json_framed-ip",
- "cpp-go_json_framed-ip-ssl",
"cpp-hs_binary_buffered-ip-ssl",
"cpp-hs_binary_framed-ip",
"cpp-hs_binary_framed-ip-ssl",
@@ -165,29 +151,11 @@
"csharp-rb_json_framed-ip",
"go-c_glib_binary_buffered-ip",
"go-c_glib_binary_framed-ip",
- "go-cpp_binary_buffered-ip",
- "go-cpp_binary_buffered-ip-ssl",
- "go-cpp_binary_framed-ip",
- "go-cpp_binary_framed-ip-ssl",
- "go-cpp_compact_buffered-ip",
- "go-cpp_compact_buffered-ip-ssl",
- "go-cpp_compact_framed-ip",
- "go-cpp_compact_framed-ip-ssl",
- "go-cpp_json_buffered-ip",
- "go-cpp_json_buffered-ip-ssl",
- "go-cpp_json_framed-ip",
- "go-cpp_json_framed-ip-ssl",
- "go-csharp_binary_buffered-ip",
"go-csharp_binary_buffered-ip-ssl",
- "go-csharp_binary_framed-ip",
"go-csharp_binary_framed-ip-ssl",
- "go-csharp_compact_buffered-ip",
"go-csharp_compact_buffered-ip-ssl",
- "go-csharp_compact_framed-ip",
"go-csharp_compact_framed-ip-ssl",
- "go-csharp_json_buffered-ip",
"go-csharp_json_buffered-ip-ssl",
- "go-csharp_json_framed-ip",
"go-csharp_json_framed-ip-ssl",
"go-hs_binary_buffered-ip-ssl",
"go-hs_binary_framed-ip",
@@ -198,24 +166,6 @@
"go-hs_json_buffered-ip-ssl",
"go-hs_json_framed-ip",
"go-hs_json_framed-ip-ssl",
- "go-java_binary_buffered-ip",
- "go-java_binary_buffered-ip-ssl",
- "go-java_binary_framed-fastframed-ip",
- "go-java_binary_framed-fastframed-ip-ssl",
- "go-java_binary_framed-ip",
- "go-java_binary_framed-ip-ssl",
- "go-java_compact_buffered-ip",
- "go-java_compact_buffered-ip-ssl",
- "go-java_compact_framed-fastframed-ip",
- "go-java_compact_framed-fastframed-ip-ssl",
- "go-java_compact_framed-ip",
- "go-java_compact_framed-ip-ssl",
- "go-java_json_buffered-ip",
- "go-java_json_buffered-ip-ssl",
- "go-java_json_framed-fastframed-ip",
- "go-java_json_framed-fastframed-ip-ssl",
- "go-java_json_framed-ip",
- "go-java_json_framed-ip-ssl",
"go-nodejs_binary_buffered-ip",
"go-nodejs_binary_buffered-ip-ssl",
"go-nodejs_binary_framed-ip",
@@ -228,14 +178,8 @@
"go-nodejs_json_buffered-ip-ssl",
"go-nodejs_json_framed-ip",
"go-nodejs_json_framed-ip-ssl",
- "go-perl_binary_buffered-ip",
"go-perl_binary_buffered-ip-ssl",
- "go-perl_binary_framed-ip",
"go-perl_binary_framed-ip-ssl",
- "go-php_binary_buffered-ip",
- "go-php_binary_framed-ip",
- "go-php_compact_buffered-ip",
- "go-php_compact_framed-ip",
"go-py_json_buffered-ip",
"go-py_json_buffered-ip-ssl",
"go-py_json_framed-ip",
@@ -404,18 +348,6 @@
"nodejs-csharp_json_buffered-ip-ssl",
"nodejs-csharp_json_framed-ip",
"nodejs-csharp_json_framed-ip-ssl",
- "nodejs-go_binary_buffered-ip",
- "nodejs-go_binary_buffered-ip-ssl",
- "nodejs-go_binary_framed-ip",
- "nodejs-go_binary_framed-ip-ssl",
- "nodejs-go_compact_buffered-ip",
- "nodejs-go_compact_buffered-ip-ssl",
- "nodejs-go_compact_framed-ip",
- "nodejs-go_compact_framed-ip-ssl",
- "nodejs-go_json_buffered-ip",
- "nodejs-go_json_buffered-ip-ssl",
- "nodejs-go_json_framed-ip",
- "nodejs-go_json_framed-ip-ssl",
"nodejs-hs_binary_buffered-ip-ssl",
"nodejs-hs_binary_framed-ip",
"nodejs-hs_binary_framed-ip-ssl",