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

Blake Eggleston commented on CASSANDRA-14420:
---------------------------------------------

I have a few notes:

* could we rename parse_dtest_config to dtest_config. While I realize the 
fixture function itself is doing the parsing, it seems a little strange to be 
passing the dtest config into the misc setup methods with that name
* you could probably set the parse_dtest_config fixture scope to something like 
module or session, so it's not reinstantiated for every test
* auth_test:TestAuthRoles.role has a mutable default argument which can lead to 
difficult to diagnose bugs. It's default should be None, then evaluated in the 
function body as {{options = options or {}}}
* I don't feel too strongly about this, but it looks like the 
parse_dtest_config argument is only used in a handful of 
fixture_dtest_setup_override implementations. Maybe it would be better to have 
a separate fixture setup for places where we need to consult the config? Otoh, 
passing the config into one of the main setup method seems like a reasonable 
thing to do. WDYT?
* There's a {{parse_dtest_config}} definition in 
user_functions_test:TestUserFunctions that's just behaving as a pass through. 
Is this left over from some debugging something, or is there a reason it's 
there? If it's doing something, could you add a comment explaining what?

> dtests not determining C* version correctly
> -------------------------------------------
>
>                 Key: CASSANDRA-14420
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14420
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>            Priority: Major
>
> In the course of CASSANDRA-14134, the means of extracting the C* version 
> under test before starting a cluster became broken. This is necessary in 
> cases where we want to gate values in cassandra.yaml based on version, so a 
> couple of tests are affected. The specifics are that the global 
> {{CASSANDRA_VERSION_FROM_BUILD}} was hardcoded to '4.0' and the ways in which 
> the various tests use it have meant that it was undetected until now.
> Also, the {{fixture_since}} which we use to implement the {{@since}} 
> annotation is broken when a {{--cassandra-version}} is supplied, rather than 
> {{--cassandra-dir}}, meaning testing against released versions from git isn't 
> working right now.
> Tests directly affected:
>  * {{auth_test.py}} - CASSANDRA-13985 added some gating of yaml props and 
> additional checks on CQL results based on the build version. These failed on 
> 3.11, which is how this issue was uncovered, but they're also broken on 2.2 
> on builds.apache.org
>  * {{user_functions_test.py}} - gates setting a yaml property when version < 
> 3.0. Failing on 2.2.
>  * {{upgrade_tests}} - a number of these use the variable, but I don't think 
> they're actually being run at the moment.
>  * {{repair_tests/repair_test.py}}, {{replace_address_test.py}} & 
> {{thrift_test}} all use the global, but only to verify that the version is 
> not 3.9. As we're not running CI for that version, no-one noticed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to