thrift/test
Roger Meier 72268b78a3 THRIFT-847 Test Framework harmonization across all languages
py-py, py-java, java-py, cpp-py, py-cpp, nodejs-py, py-nodejs tests added with
py_protocols="binary compact json accel"
py_transports="buffered"
py_sockets="ip",
test.sh refactored so that new protocols, transports and sockets can be easily added.

Patch: Chamila Dilshan Wijayarathna
2014-05-28 23:08:09 +02:00
..
cpp THRIFT-2497 server and client for test/go, also several fixes and improvements 2014-05-08 23:18:44 +02:00
go Fixed broken build: "thrift -out <dir>" expects that <dir> already exists 2014-05-17 01:54:09 +02:00
hs THRIFT-2002: Update Maybe to use Data.Maybe to prevent failure of the debug test 2013-06-06 20:53:32 -04:00
keys THRIFT-2325: SSL test certificates 2014-04-07 23:45:19 +02:00
lua THRIFT-1681: Add Lua Support Patch: Dave Watson 2014-04-05 00:50:35 +02:00
ocaml THRIFT-387. Add license headers to a bunch of files 2009-03-30 21:35:00 +00:00
perl THRIFT-847 Test Framework harmonization across all languages 2012-01-10 21:30:02 +00:00
php THRIFT-1822 PHP unit test does not work 2013-01-06 20:10:42 +01:00
py THRIFT-1914 Python: Support for Multiplexing Services on any 2014-05-03 17:51:21 +02:00
py.tornado THRIFT-1704: Tornado support (Python) 2013-03-07 11:32:48 -05:00
py.twisted THRIFT-581 Add a testsuite for txThrift (Twisted) / py.twisted 2010-10-08 17:46:06 +00:00
rb THRIFT-1810 add ruby to test/test.sh 2014-01-19 21:53:02 +01:00
threads Thrift-2029:Port C++ tests to Windows 2014-01-07 21:42:01 -05:00
AnnotationTest.thrift THRIFT-2499 Compiler: allow annotations without "= value" 2014-05-02 23:50:04 +02:00
BrokenConstants.thrift THRIFT-387. Add license headers to a bunch of files 2009-03-30 21:35:00 +00:00
ConstantsDemo.thrift THRIFT-918 : better haskell tests 2010-09-27 19:27:40 +00:00
DebugProtoTest.thrift THRIFT-2352 msvc failed to compile thrift tests 2014-02-09 11:31:02 +01:00
DenseLinkingTest.thrift THRIFT-420. Remove all negative structure field ids from the code 2009-04-02 19:24:02 +00:00
DocTest.thrift THRIFT-1755 Comment parsing bug - the missing test case from Brian's patch 2013-09-18 23:53:14 +02:00
FastbinaryTest.py THRIFT-420. Remove all negative structure field ids from the code 2009-04-02 19:24:02 +00:00
Include.thrift THRIFT-1995: IDL can generate uncompilable ocde 2013-06-09 05:28:47 -07:00
JavaBeansTest.thrift THRIFT-734. java: Can't use primitive types in service definitions for bean generated code 2010-03-16 03:13:26 +00:00
Makefile.am THRIFT-2497 server and client for test/go, also several fixes and improvements 2014-05-08 23:18:44 +02:00
ManyOptionals.thrift THRIFT-1469. java: Java isset space optimization 2011-12-21 18:13:29 +00:00
ManyTypedefs.thrift THRIFT-387. Add license headers to a bunch of files 2009-03-30 21:35:00 +00:00
OptionalRequiredTest.thrift THRIFT-1394:Treatment of optional fields is not consistent between C++ and Java 2012-01-27 04:48:26 +00:00
README.md test/README.md: fix link 2014-05-03 00:33:46 +02:00
Recursive.thrift THRIFT-2471 Make cpp.ref annotation language agnostic 2014-05-02 21:31:55 +02:00
ReuseObjects.thrift THRIFT-2368 New option: reuse-objects for Java generator 2014-03-31 16:21:37 +02:00
SmallTest.thrift THRIFT-387. Add license headers to a bunch of files 2009-03-30 21:35:00 +00:00
StressTest.thrift THRIFT-2497 server and client for test/go, also several fixes and improvements 2014-05-08 23:18:44 +02:00
test.sh THRIFT-847 Test Framework harmonization across all languages 2014-05-28 23:08:09 +02:00
ThriftTest.thrift THRIFT-2491 unable to import generated ThriftTest service 2014-05-02 23:37:39 +02:00

Apache Thrift - integration test suite

This is the cross everything integration test suite for Apache Thrift. executed by

make cross

at the moment, this starts the test.sh script which does the real cross test with different transports, protocols and languages.

Unit tests for languages ar usually located under lib//test/ cross language tests acording to ThriftTest.thrift shall be provided for every language including executables with the following command line interface for servers:

$ ./cpp/TestServer -h
Allowed options:
  -h [ --help ]               produce help message
  --port arg (=9090)          Port number to listen
  --domain-socket arg         Unix Domain Socket (e.g. /tmp/ThriftTest.thrift)
  --server-type arg (=simple) type of server, "simple", "thread-pool", 
                              "threaded", or "nonblocking"
  --transport arg (=buffered) transport: buffered, framed, http
  --protocol arg (=binary)    protocol: binary, compact, json
  --ssl                       Encrypted Transport using SSL
  --processor-events          processor-events
  -n [ --workers ] arg (=4)   Number of thread pools workers. Only valid for 
                          thread-pool server type

and this for clients:

$ ./cpp/TestClient -h
Allowed options:
  -h [ --help ]               produce help message
  --host arg (=localhost)     Host to connect
  --port arg (=9090)          Port number to connect
  --domain-socket arg         Domain Socket (e.g. /tmp/ThriftTest.thrift), 
                              instead of host and port
  --transport arg (=buffered) Transport: buffered, framed, http, evhttp
  --protocol arg (=binary)    Protocol: binary, compact, json
  --ssl                       Encrypted Transport using SSL
  -n [ --testloops ] arg (=1) Number of Tests

If you have executed the make check or make cross then you will be able to browse gen-html/ThriftTest.html with the test documentation.

return code shall be 0 on success or an integer in the range 1 - 255 on error

SSL

Test Keys and Certificates are provided in multiple formats under the following directory test/keys