[ 
https://issues.apache.org/jira/browse/THRIFT-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920138#action_12920138
 ] 

Roger Meier commented on THRIFT-847:
------------------------------------

Thanks Christian for your inputs.

I had the following things in mind:
   #  identify the language with the reference implementation (well defined 
return values for all test cases) based on ThriftTest.thrift, probably Java 
(lib/java/test/org/apache/thrift/server/ServerTestBase.java) or cpp 
(test/cpp/src/TestClient.cpp  test/cpp/src/TestServer.cpp)
   # update the ThriftTest.thrift with details about the required return values 
that have to be implemented
   # update test implementations
   # add some wrapper scripts to automate the cross language tests (as 
Christian did)
   # move language tests into their appropriate library directory (THRIFT-35)
   # a public test server that supports multiple protocols and transports could 
be another enhancement for testing purposes

Today neary every language has already Test Server and Test Clients based on 
ThriftTest.thrift , we just have to modify them a bit so that they have exactly 
the same behavior. I think it is not worth to add another SimpleTest.thrift, 
the target should be extending ThriftTest.thrift. 

> Test Framework harmonization across all languages
> -------------------------------------------------
>
>                 Key: THRIFT-847
>                 URL: https://issues.apache.org/jira/browse/THRIFT-847
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C# - Library, C++ - Library, Cocoa - Library, Erlang - 
> Library, Haskell - Library, Java - Library, JavaScript - Library, OCaml - 
> Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library, 
> Test Suite
>    Affects Versions: 0.1, 0.2, 0.3
>            Reporter: Roger Meier
>            Assignee: Christian Lavoie
>             Fix For: 0.6
>
>         Attachments: v1-WORK_IN_PROGRESS-unified_tests.tar.gz
>
>
> Today each Language supported by Thrift, have its own unit test, all are 
> using the same Thrift IDL's located at the test directory. But the behavior 
> of these tests seems to be different from language to language... this makes 
> it difficult to do tests and bug fixing across different Languages. e.g.
> * C++ Test and JavaScript Test Server written in Java have different 
> responses for the same services
> * C# and Java Test Server have different responses for testException as C++
> I propose the following steps:
> * identify the language with the reference implementation (well defined 
> return values for all test cases) 
> * update the ThriftTest.thrift with details about the required return values 
> that have to be implemented
> * update test implementations and move language tests into their appropriate 
> library directory (THRIFT-35)
> * a public test server that supports multiple protocols and transports could 
> be another enhancement for testing purposes
> I'm ready to help preparing patches, just tell me what you need!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to