thrift/test
Roger Meier 284101c7a0 THRIFT-2029 Port C++ tests to Windows
THRIFT-847 Test Framework harmonization across all languages

fix compact protocol test within TestServer.cpp and TestClient.cpp
remove stuff that breaks the cross language test suite
- TestServer.cpp: cin read
- test.sh: mkfifo

Reported-by: Chamila Wijayarathna
2014-03-11 21:20:35 +01:00
..
cpp THRIFT-2029 Port C++ tests to Windows 2014-03-11 21:20:35 +01: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.patch 2014-02-22 20:05:21 +01: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-2325 SSL test certificates 2014-02-19 19:59:25 +01: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-1651 Support annotations on all elements 2012-09-17 21:18:05 +00: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-2327 nodejs: nodejs test suite should be bundled with the library 2014-01-26 11:44:27 +01: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 THRIFT-847 Test Framework harmonization across all languages 2014-03-01 17:00:46 +01:00
SmallTest.thrift THRIFT-387. Add license headers to a bunch of files 2009-03-30 21:35:00 +00:00
StressTest.thrift THRIFT-1500: d programming language support 2012-03-22 21:49:10 +00:00
test.sh THRIFT-2029 Port C++ tests to Windows 2014-03-11 21:20:35 +01:00
ThriftTest.thrift THRIFT-2053 NodeJS: Support for Multiplexing Services 2013-08-28 14:03:34 +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.

SSL

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

test/keys