[ https://issues.apache.org/jira/browse/CASSANDRA-9160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14577374#comment-14577374 ]
Joshua McKenzie commented on CASSANDRA-9160: -------------------------------------------- Re: Paxos testing: I'm fine with this change. We need formal paxos / CAS testing in dtests as well to confirm the multi-node setup is working, but testing the CQL3CasRequest in isolation makes sense. bq. A few dtests were exercising the QueryPager functionality of SelectStatement.execute(). This is not supported by executeInternal(). Should we add paging to executeInternal()? This might speak to my ignorance on this area of the code, but is there a reason you can't use execute() instead of executeInternal() and trust the QueryPager to make the determination on whether the query is local or not? I believe that should work fine on single-node unit tests. bq. 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. I'd say append the tests to the respective tickets so we don't calcify their interfaces / usage patterns while they're still in progress and leave the responsibility on the developers to test their code. bq. 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). I think the latter - the 1 dtest per CQL statement type nested under a test_storageproxy dtest (for example) would be clean and keep those concerns separated. I think network-based execution unnecessarily expands/blends the scope of CQLTester. bq. 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. A naive initial look at the file indicates some clear lines of separation: select tests, create tests, delete tests, dense/compact tests, batch tests, indexes, and collections are the first ones that pop to me. I'd recommend organizing the tests in terms of the underlying CQL operations they're testing and then renaming TableTest to something to indicate the "overflow" nature of those tests. I have more reading / reviewing to do on the tests but figured initial feedback could be helpful. > 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)