Commit Graph

4109 Commits

Author SHA1 Message Date
Jens Geyer
4f2c0a066f THRIFT-2900 Python THttpClient does not reset socket timeout on exception
Client: Python
Patch: Aiden Scandella <aiden@uber.com>

This closes #322

Wrap THttpClient withTimeout in a try/finally
Otherwise the original value of the socket timeout is not restored properly.
2015-01-05 21:17:06 +01:00
Nobuaki Sukegawa
8016af800f THRIFT-2924 TNonblockingServer crashes when user-provided event_base is used 2015-01-04 16:50:59 +01:00
radekg
1d30558c8c THRIFT-2923 Initialise tpos and tstack in the Protocol constructor so writing to a protocol without a message does not fail.
This closes: #342
2015-01-04 13:55:52 +01:00
Jens Geyer
8bcfdd98ae THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: C_glib, C++, D, Erlang, Go, Haskell, Lua, Java/Me, JavaScript, Node, Ocaml, Perl, PHP, Python, Ruby
Patch: Jens Geyer

This closes #341

Minimal server-side implementations and TODO stubs for various languages to let "make check" succeeed.
Not contained in this patch and still TODO:
- client side implementations, i.e. calls to testBinary() and appropriate tests
- server side hex printout missing for some languages
2015-01-03 17:37:54 +01:00
Jens Geyer
43e195afcd THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: Haxe
Patch: Jens Geyer
2015-01-03 17:37:22 +01:00
Jens Geyer
fd1b358559 THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: Delphi
Patch: Jens Geyer
2015-01-03 17:37:18 +01:00
Jens Geyer
71e814a9a2 THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: C#
Patch: Jens Geyer
2015-01-03 17:37:14 +01:00
Jens Geyer
a2d5dfd9f6 THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: Tests
Patch: Jens Geyer
2015-01-03 17:37:10 +01:00
Nobuaki Sukegawa
c444fb581d THRIFT-2925 CMake build does not work with OpenSSL nor anything installed in non-system location
This diff fixes them by correcting invalid CMake variable names:
* OPENSSL_... rather than OpenSSL_...
* LIBEVENT_... rather than Libevent_...
* Boost_INCLUDE_DIRS rather than Boost_INCLUDE_DIR
* LIBEVENT_INCLUDE_DIRS rather than LIBEVENT_INCLUDE_DIR
* ZLIB_INCLUDE_DIRS rather than ZLIB_INCLUDE_DIR

Note:
* OPENSSL_INCLUDE_DIR is correct (rather than ..._DIRS)
* Boost_INCLUDE_DIR exists and actually works for most cases but
  Boost_INCLUDE_DIRS is the one desinged to be included

Also, library headers are now included as SYSTEM headers.
2015-01-03 10:08:09 +01:00
Jens Geyer
5c10fd8cb1 Add-on-patch for THRIFT-2922 ($TRIAL used but not tested accordingly)
Client: Python
Patch: Jens Geyer

Simply added $TRIAL to configure output. Note that the actual issue is still unsolved.
2014-12-30 16:15:57 +01:00
Jens Geyer
3a3ba00b97 THRIFT-2920 Erlang Thrift test uses wrong IDL file
Client: Erlang
Patch: Jens Geyer
2014-12-30 00:10:06 +01:00
Jens Geyer
326cf0d0fb THRIFT-2920 Erlang Thrift test uses wrong IDL file
Client: Erlang
Patch: Jens Geyer
2014-12-29 23:56:12 +01:00
Jens Geyer
8c8e9c6a55 THRIFT-2919 Haxe test server timeout too large
Client: Haxe
Patch: Jens Geyer

This closes #340

- reduced timeout and made sure the test script waits appropriately
- added test to make sure Haxe >= 3.1.3 is used
2014-12-29 19:52:47 +01:00
Jens Geyer
89dc20f4e0 THRIFT-2915 Lua generator missing from Visual Studio build project
Client: Compiler (general)
Patch: Jens Geyer
2014-12-24 02:39:53 +01:00
Jens Geyer
4461a2fc16 THRIFT-2910 libevent is not really optional
Client: C++
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>

This closes #337
2014-12-23 18:22:54 +01:00
Jens Geyer
2ac3a3c821 THRIFT-2912 Autotool build for C++ Qt library is invalid
Client: C++
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>

This closes #336

* Fix incorrect AC_PATH_PROGS usage
* Exclude generated source code from distribution
2014-12-23 18:18:58 +01:00
Jens Geyer
3e9c3a2af3 THRIFT-2911 fix c++ version zeromq transport, the old version cannot work
Client: contrib
Patch: tiny <lox.xiao@gmail.com>

This closes #315
2014-12-22 22:34:21 +01:00
Roger Meier
1b17991f26 THRIFT-2897: Implement hash and isEqual: methods
Client: cocoa
Patch:  Jim Speth

This closes #330
2014-12-21 21:05:14 +01:00
Kirby1337
6d9a3ca7d9 THRIFT-2901 Fix for generated TypeScript functions + indentation of JavaScript maps 2014-12-21 17:38:58 +01:00
Nobuaki Sukegawa
a10697a9db THRIFT-2909 Improve travis build 2014-12-21 16:36:47 +01:00
Nobuaki Sukegawa
6622877a09 THRIFT-2098 Add support for Qt5+ 2014-12-21 16:36:47 +01:00
Nobuaki Sukegawa
6304a53414 THRIFT-2903 Qt4 library built with CMake does not work 2014-12-21 16:36:46 +01:00
Nobuaki Sukegawa
2825664f25 THRIFT-2893 CMake build fails with boost thread or std thread
Following changes are made to fix the build
* Add USE_..._THREAD compiler definitions correctly
* Link to boost_thread and boost_system when configured with boost thread
* Link to pthread if platform is posix and std thread is used
* Use PlatformThreadFactory in test code
2014-12-21 16:36:46 +01:00
Roger Meier
051ea1cf2f test/cpp/Makefile.am: add ZLIB_LIBS to LDFLAGS 2014-12-20 22:43:24 +01:00
Konrad Grochowski
38bf23404c THRIFT-2907 - macro ntohll defined only when needed
Client: C++
Patch: Jon Parise

This closes #334
2014-12-20 13:23:27 +01:00
Konrad Grochowski
ec8d8778b5 THRIFT-2906 - linking with boost_unit_test_framework made more portable
Client: C++
Patch: Jon Parise

BOOST_TEST_LDADD Makefile variable added and should be used when linking
with boost_unit_test_framework

This closes #333
2014-12-20 12:50:30 +01:00
Jens Geyer
6af074e419 THRIFT-2880 Read the network address from the listener if available.
Client: Go
Patch: awaw fumin <awawfumin@gmail.com>
2014-12-18 22:34:53 +01:00
Nobuaki Sukegawa
80784b1098 THRIFT-2902 Generated c_glib code does not compile with clang 2014-12-18 22:20:55 +01:00
Jens Geyer
20b51b667b Fixed a typo in test/README.md
Patch: Kirill Sevastyanenko <kirillseva@gmail.com>

This closes #329
2014-12-18 22:15:49 +01:00
Jens Geyer
c61b3a8170 THRIFT-2894 PHP json serializer skips maps with int/bool keys
Client: PHP
Patch: Stig Bakken <stig@zedge.net>

This closes #331

PHP generator: in jsonSerialize, only skip maps with non-scalar keys (previously skipped maps with non-string keys)
2014-12-18 21:48:42 +01:00
Jens Geyer
3bb34df8f3 THRIFT-2904 json_protocol_test.go fails
Client: Go
Patch: Jens Geyer
2014-12-18 00:14:46 +01:00
Jens Geyer
a792e5d5ac THRIFT-2894 PHP json serializer skips maps with int/bool keys
Client: PHP
Patch: Stig Bakken <stig@zedge.net>

This closes #320

PHP generator: in jsonSerialize, only skip maps with non-scalar keys (previously skipped maps with non-string keys)
2014-12-16 22:59:02 +01:00
Jens Geyer
9f9535c5fb THRIFT-2890 binary data may lose bytes with JSON transport under specific circumstances
Client: Delphi
Patch: Jens Geyer

minor fix regarding two warnings introduced with this patch
2014-12-14 15:00:34 +01:00
Jens Geyer
15fe1cb5f4 THRIFT-2891 binary data may cause a failure with JSON transport under specific circumstances
Client: Go
Patch: Jens Geyer
2014-12-14 03:18:18 +01:00
Jens Geyer
d8bddbcefb THRIFT-2890 binary data may lose bytes with JSON transport under specific circumstances
Client: Delphi
Patch: Jens Geyer

This closes #319

This patch consists of a ported version of the base64 encoding/decoding used in C#. It handles the above case correctly, decodes data more efficiently in-place, and removes the dependency to Indy (IdCoderMIME).
2014-12-14 00:41:33 +01:00
Jens Geyer
4991574b5e THRIFT-2884 Map does not serialize correctly for JSON protocol in Go library
Reverted commit 0a378709ab
See JIRA for details
2014-12-13 23:48:33 +01:00
Pascal Bach
54d3969e44 Add CMake builds to travis 2014-12-13 22:02:29 +01:00
Pascal Bach
d5f87e1f21 CMake: Add CMake support for Thrift libraries
Currently the following libraries are supported:
- C++
- C_Glib
- Java (using Ant wrapper)

The compilers CMake file is adjusted to work with the new global CMakeLists.txt file.

Signed-off-by: Roger Meier <r.meier@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Also-by: Sergei Nikulov <sergey.nikulov@gmail.com>
2014-12-13 22:02:29 +01:00
Jon Parise
a195a2574e THRIFT-2887 Respect --with-openssl when building C++ support. 2014-12-13 21:36:25 +01:00
winsweet
de76a3772b THRIFT-2882 Lua Generator: using string.len funtion to get struct(map,list,set) size 2014-12-13 21:29:55 +01:00
Nate Rosenblum
3c5a788d8f THRIFT-2836 Add moveable_types option to C++ generator
Setting this option enables generation of MoveConstructible types,
allowing types to be bound via move in std::bind. This is especially
pleasant when using Thrift container types.
2014-12-13 21:22:47 +01:00
Konrad Grochowski
714a9aa1c5 THRIFT-2888: JSON generator - fixed missing include
Client: JSON
Patch: Pascal Bach

<limits> was used but not directly included
2014-12-12 16:03:40 +01:00
Jens Geyer
0a378709ab THRIFT-2884 Map does not serialize correctly for JSON protocol in Go library
Client: Go
Patch: Liangliang He <lliang.he@gmail.com>

This closes #312
2014-12-10 21:04:28 +01:00
Jens Geyer
119869a204 THRIFT-2779 PHP TJSONProtocol encode unicode into UCS-4LE which can't be parsed by other langurage bindings
Client: PHP
Patch: Liangliang He <lliang.he@gmail.com>

This closes #313

This closes #244
2014-12-10 20:54:14 +01:00
Konrad Grochowski
40b2b64b16 some binary files excluded from codespell check in 'make style' 2014-12-09 15:26:39 +01:00
Konrad Grochowski
3876ea70a2 make style applied 2014-12-09 15:24:56 +01:00
Jens Geyer
1f42d31575 THRIFT-2868 Enhance error handling in the Go client
Client: Go
Patch: Chi Vinh Le <cvl@chinet.info>

This closes #297
2014-12-08 21:49:54 +01:00
Jens Geyer
57cd421de3 THRIFT-2881 Handle errors from Accept() correctly
Client: Go
Patch: awaw fumin <awawfumin@gmail.com>

This closes #309

Often in tests, servers are started and closed when a test case is
finished, as in the standard library's "httptest" package.

http://golang.org/pkg/net/http/httptest/#example_Server

However, currently the "p.quit" channel of TSimpleServer does not
correctly handle the case when the listener socket is Closed, resulting
in spurious logs with the text "Accept err: ...".
For details of handling closed listener sockets, see

https://code.google.com/p/go/issues/detail?id=4373
http://zhen.org/blog/graceful-shutdown-of-go-net-dot-listeners/
http://stackoverflow.com/a/13419724/2182406
2014-12-08 21:31:33 +01:00
winsweet
38a1c66428 THRIFT-2879 TMemoryBuffer: using lua string in wrong way 2014-12-08 20:54:46 +01:00
Nobuaki Sukegawa
d0d7a65581 THRIFT-2838 TNonblockingServer can bind to port 0 (i.e., get an OS-assigned port) but there is no way to get the port number 2014-12-07 17:00:02 +01:00