[ 
https://issues.apache.org/jira/browse/CASSANDRA-9160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14555771#comment-14555771
 ] 

Stefania commented on CASSANDRA-9160:
-------------------------------------

[~jbellis], [~slebresne]: 

The conversion of cql dtests from python to java is complete, please refer to 
the spreadsheet for details. Here's a summary:

- Several dtests were testing cas statements, for which I added support in 
ModificationStatement and BatchStatement executeInternal() methods. However, 
this simply checks that the conditions are met and applies the mutations if 
that's the case. It obviously doesn't test any paxos, unlike the dtests 
(although most of the cas dtests were using only one node).

- A few dtests were exercising the QueryPager functionality of 
SelectStatement.execute(). This is not supported by executeInternal(). Should 
we add paging to executeInternal()? 

- I wasn't able to convert 5 dtests due to various reasons (decoder or driver 
features, thrift protocol). 

- I converted tests for two patches not yet delivered to trunk, CASSANDRA-7281 
and CASSANDRA-7396. We can either commit the tests with the @Ignore annotation 
or we can remove them from this patch and add them as a separate patch the the 
respective tickets.

Overall I feel we may end up with a gap if we move the CQL tests entirely to 
unit tests, specifically the statement execute() methods and the code paths 
around these methods (e.g. StorageProxy). Perhaps we should extend CQLTester to 
execute over the network rather than only internally or leave some very basic 
CQL statements as dtests (one per statement for example).

*TODO*:

- The dtests need to be deleted, so far I just marked them with the equivalent 
java test. The remaining 5 dtests should be re-housed.

- The rearrangement of converted or existing CQL unit tests is not done yet. I 
parked most of the converted tests in a class called "TableTest" unless it was 
clear they belonged somewhere else. To rearrange properly I would need some 
guidance on a top level structure. 

> Migrate CQL dtests to unit tests
> --------------------------------
>
>                 Key: CASSANDRA-9160
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9160
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Sylvain Lebresne
>            Assignee: Stefania
>
> We have CQL tests in 2 places: dtests and unit tests. The unit tests are 
> actually somewhat better in the sense that they have the ability to test both 
> prepared and unprepared statements at the flip of a switch. It's also better 
> to have all those tests in the same place so we can improve the test 
> framework in only one place (CASSANDRA-7959, CASSANDRA-9159, etc...). So we 
> should move the CQL dtests to the unit tests (which will be a good occasion 
> to organize them better).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to