Repository: cassandra-dtest
Updated Branches:
  refs/heads/master 0e9388d77 -> a06c0e700


http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/configuration_test.py
----------------------------------------------------------------------
diff --git a/configuration_test.py b/configuration_test.py
index 6bb5e95..4a57986 100644
--- a/configuration_test.py
+++ b/configuration_test.py
@@ -15,7 +15,7 @@ logger = logging.getLogger(__name__)
 
 
 @pytest.fixture()
-def fixture_dtest_setup_overrides(request):
+def fixture_dtest_setup_overrides(request, dtest_config):
     dtest_setup_overrides = DTestSetupOverrides()
     if request.node.name == "test_change_durable_writes":
         dtest_setup_overrides.cluster_options = 
ImmutableMapping({'commitlog_segment_size_in_mb': 1})

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/conftest.py
----------------------------------------------------------------------
diff --git a/conftest.py b/conftest.py
index 04a0eec..a80448d 100644
--- a/conftest.py
+++ b/conftest.py
@@ -18,7 +18,7 @@ from netifaces import AF_INET
 from psutil import virtual_memory
 
 import netifaces as ni
-
+import ccmlib.repository
 from ccmlib.common import validate_install_dir, get_version_from_build, is_win
 
 from dtest_setup import DTestSetup
@@ -37,6 +37,7 @@ class DTestConfig:
         self.skip_resource_intensive_tests = False
         self.cassandra_dir = None
         self.cassandra_version = None
+        self.cassandra_version_from_build = None
         self.delete_logs = False
         self.execute_upgrade_tests = False
         self.disable_active_log_watching = False
@@ -54,6 +55,18 @@ class DTestConfig:
         if request.config.getoption("--cassandra-dir") is not None:
             self.cassandra_dir = 
os.path.expanduser(request.config.getoption("--cassandra-dir"))
         self.cassandra_version = 
request.config.getoption("--cassandra-version")
+
+        # There are times when we want to know the C* version we're testing 
against
+        # before we do any cluster. In the general case, we can't know that -- 
the
+        # test method could use any version it wants for self.cluster. 
However, we can
+        # get the version from build.xml in the C* repository specified by
+        # CASSANDRA_VERSION or CASSANDRA_DIR.
+        if self.cassandra_version is not None:
+            ccm_repo_cache_dir, _ = 
ccmlib.repository.setup(self.cassandra_version)
+            self.cassandra_version_from_build = 
get_version_from_build(ccm_repo_cache_dir)
+        elif self.cassandra_dir is not None:
+            self.cassandra_version_from_build = 
get_version_from_build(self.cassandra_dir)
+
         self.delete_logs = request.config.getoption("--delete-logs")
         self.execute_upgrade_tests = 
request.config.getoption("--execute-upgrade-tests")
         self.disable_active_log_watching = 
request.config.getoption("--disable-active-log-watching")
@@ -122,7 +135,7 @@ def 
sufficient_system_resources_for_resource_intensive_tests():
 
 
 @pytest.fixture(scope='function', autouse=True)
-def fixture_dtest_setup_overrides():
+def fixture_dtest_setup_overrides(dtest_config):
     """
     no-op default implementation of fixture_dtest_setup_overrides.
     we run this when a test class hasn't implemented their own
@@ -190,22 +203,12 @@ def fixture_logging_setup(request):
 
 
 @pytest.fixture(scope="session")
-def log_global_env_facts(fixture_dtest_config):
+def log_global_env_facts(fixture_dtest_config, fixture_logging_setup):
     if pytest.config.pluginmanager.hasplugin('junitxml'):
         my_junit = getattr(pytest.config, '_xml', None)
         my_junit.add_global_property('USE_VNODES', 
fixture_dtest_config.use_vnodes)
 
 
-@pytest.fixture
-def fixture_dtest_config(request, fixture_logging_setup):
-    # although we don't use fixture_logging_setup here, we do want to
-    # have that fixture run as a prerequisite to this one.. and right now
-    # this is the only way that can be done with pytests
-    dtest_config = DTestConfig()
-    dtest_config.setup(request)
-    return dtest_config
-
-
 @pytest.fixture(scope='function', autouse=True)
 def fixture_maybe_skip_tests_requiring_novnodes(request):
     """
@@ -221,7 +224,7 @@ def fixture_maybe_skip_tests_requiring_novnodes(request):
 
 
 @pytest.fixture(scope='function', autouse=True)
-def fixture_log_test_name_and_date(request):
+def fixture_log_test_name_and_date(request, fixture_logging_setup):
     logger.info("Starting execution of %s at %s" % (request.node.name, 
str(datetime.now())))
 
 
@@ -302,21 +305,18 @@ def reset_environment_vars(initial_environment):
     os.environ['PYTEST_CURRENT_TEST'] = pytest_current_test
 
 
-
-
-
 @pytest.fixture(scope='function', autouse=False)
-def fixture_dtest_setup(request, parse_dtest_config, 
fixture_dtest_setup_overrides, fixture_logging_setup):
+def fixture_dtest_setup(request, dtest_config, fixture_dtest_setup_overrides, 
fixture_logging_setup):
     if running_in_docker():
         cleanup_docker_environment_before_test_execution()
 
     # do all of our setup operations to get the enviornment ready for the 
actual test
     # to run (e.g. bring up a cluster with the necessary config, populate 
variables, etc)
     initial_environment = copy.deepcopy(os.environ)
-    dtest_setup = DTestSetup(dtest_config=parse_dtest_config, 
setup_overrides=fixture_dtest_setup_overrides)
+    dtest_setup = DTestSetup(dtest_config=dtest_config, 
setup_overrides=fixture_dtest_setup_overrides)
     dtest_setup.initialize_cluster()
 
-    if not parse_dtest_config.disable_active_log_watching:
+    if not dtest_config.disable_active_log_watching:
         dtest_setup.log_watch_thread = dtest_setup.begin_active_log_watch()
 
     # at this point we're done with our setup operations in this fixture
@@ -344,7 +344,7 @@ def fixture_dtest_setup(request, parse_dtest_config, 
fixture_dtest_setup_overrid
     finally:
         try:
             # save the logs for inspection
-            if failed or not parse_dtest_config.delete_logs:
+            if failed or not dtest_config.delete_logs:
                 copy_logs(request, dtest_setup.cluster)
         except Exception as e:
             logger.error("Error saving log:", str(e))
@@ -393,20 +393,32 @@ def fixture_since(request, fixture_dtest_setup):
 
         since_str = request.node.get_marker('since').args[0]
         since = LooseVersion(since_str)
-        current_running_version = fixture_dtest_setup.cluster.version()
+        # use cassandra_version_from_build as it's guaranteed to be a 
LooseVersion
+        # whereas cassandra_version may be a string if set in the cli options
+        current_running_version = 
fixture_dtest_setup.dtest_config.cassandra_version_from_build
         skip_msg = _skip_msg(current_running_version, since, max_version)
         if skip_msg:
             pytest.skip(skip_msg)
 
 
+@pytest.fixture(autouse=True)
+def fixture_skip_version(request, fixture_dtest_setup):
+    marker = request.node.get_marker('skip_version')
+    if marker is not None:
+        for info in marker:
+            version_to_skip = LooseVersion(info.args[0])
+            if version_to_skip == 
fixture_dtest_setup.dtest_config.cassandra_version_from_build:
+                pytest.skip("Test marked not to run on version %s" % 
version_to_skip)
+
+
 @pytest.fixture(scope='session', autouse=True)
 def install_debugging_signal_handler():
     import faulthandler
     faulthandler.enable()
 
 
-@pytest.fixture(scope='function')
-def parse_dtest_config(request):
+@pytest.fixture(scope='session')
+def dtest_config(request):
     dtest_config = DTestConfig()
     dtest_config.setup(request)
 

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/deletion_test.py
----------------------------------------------------------------------
diff --git a/deletion_test.py b/deletion_test.py
index 9c832b3..d6930db 100644
--- a/deletion_test.py
+++ b/deletion_test.py
@@ -75,7 +75,7 @@ def memtable_count(node, keyspace, table):
 
 def table_metric(node, keyspace, table, name):
     version = node.get_cassandra_version()
-    typeName = "ColumnFamily" if version <= '2.2.X' else 'Table'
+    typeName = "ColumnFamily" if version < '3.0' else 'Table'
     with JolokiaAgent(node) as jmx:
         mbean = make_mbean('metrics', type=typeName,
                            name=name, keyspace=keyspace, scope=table)

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/dtest.py
----------------------------------------------------------------------
diff --git a/dtest.py b/dtest.py
index 2aa30b8..f76789f 100644
--- a/dtest.py
+++ b/dtest.py
@@ -10,7 +10,6 @@ import time
 import traceback
 import pytest
 import cassandra
-import ccmlib.repository
 
 from subprocess import CalledProcessError
 
@@ -20,9 +19,7 @@ from cassandra import ConsistencyLevel, OperationTimedOut
 from cassandra.auth import PlainTextAuthProvider
 from cassandra.cluster import ExecutionProfile
 from cassandra.policies import RetryPolicy, RoundRobinPolicy
-from ccmlib.common import get_version_from_build, is_win
 from ccmlib.node import ToolError, TimeoutError
-from distutils.version import LooseVersion
 from tools.misc import retry_till_success
 
 
@@ -66,27 +63,6 @@ def get_sha(repo_dir):
             raise
 
 
-# There are times when we want to know the C* version we're testing against
-# before we call Tester.setUp. In the general case, we can't know that -- the
-# test method could use any version it wants for self.cluster. However, we can
-# get the version from build.xml in the C* repository specified by
-# CASSANDRA_VERSION or CASSANDRA_DIR. This should use the same resolution
-# strategy as the actual checkout code in Tester.setUp; if it does not, that is
-# a bug.
-_cassandra_version_slug = os.environ.get('CASSANDRA_VERSION')
-# Prefer CASSANDRA_VERSION if it's set in the environment. If not, use 
CASSANDRA_DIR
-if _cassandra_version_slug:
-    # fetch but don't build the specified C* version
-    ccm_repo_cache_dir, _ = ccmlib.repository.setup(_cassandra_version_slug)
-    CASSANDRA_VERSION_FROM_BUILD = get_version_from_build(ccm_repo_cache_dir)
-    CASSANDRA_GITREF = get_sha(ccm_repo_cache_dir)  # will be set None when 
not a git repo
-else:
-    CASSANDRA_VERSION_FROM_BUILD = LooseVersion("4.0") # todo kjkjkj
-    CASSANDRA_GITREF = ""
-    #CASSANDRA_VERSION_FROM_BUILD = 
get_version_from_build(self.dtest_config.cassandra_dir)
-    #CASSANDRA_GITREF = get_sha(dtest_config.cassandra_dir)
-
-
 # copy the initial environment variables so we can reset them later:
 initial_environment = copy.deepcopy(os.environ)
 
@@ -257,9 +233,9 @@ class Tester:
             return object.__getattribute__(fixture_dtest_setup , name)
 
     @pytest.fixture(scope='function', autouse=True)
-    def set_dtest_setup_on_function(self, fixture_dtest_setup, 
fixture_dtest_config):
+    def set_dtest_setup_on_function(self, fixture_dtest_setup):
         self.fixture_dtest_setup = fixture_dtest_setup
-        self.dtest_config = fixture_dtest_config
+        self.dtest_config = fixture_dtest_setup.dtest_config
 
     def set_node_to_current_version(self, node):
         version = os.environ.get('CASSANDRA_VERSION')

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/jmx_test.py
----------------------------------------------------------------------
diff --git a/jmx_test.py b/jmx_test.py
index 04c05d8..46adf3c 100644
--- a/jmx_test.py
+++ b/jmx_test.py
@@ -76,7 +76,7 @@ class TestJMX(Tester):
         version = cluster.version()
         node1.stress(['write', 'n=10K', 'no-warmup', '-schema', 
'replication(factor=3)'])
 
-        typeName = "ColumnFamily" if version <= '2.2.X' else 'Table'
+        typeName = "ColumnFamily" if version < '3.0' else 'Table'
         logger.debug('Version {} typeName {}'.format(version, typeName))
 
         # TODO the keyspace and table name are capitalized in 2.0

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/putget_test.py
----------------------------------------------------------------------
diff --git a/putget_test.py b/putget_test.py
index 3afcc9b..8d22f85 100644
--- a/putget_test.py
+++ b/putget_test.py
@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
 class TestPutGet(Tester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         dtest_setup_overrides.cluster_options = ImmutableMapping({'start_rpc': 
'true'})
         return dtest_setup_overrides

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/read_failures_test.py
----------------------------------------------------------------------
diff --git a/read_failures_test.py b/read_failures_test.py
index 80ebe5d..82e132c 100644
--- a/read_failures_test.py
+++ b/read_failures_test.py
@@ -26,14 +26,12 @@ class TestReadFailures(Tester):
         return fixture_dtest_setup
 
     @pytest.fixture(scope='function', autouse=True)
-    def parse_dtest_config(self, parse_dtest_config):
+    def fixture_dtest_setup_params(self):
         self.tombstone_failure_threshold = 500
         self.replication_factor = 3
         self.consistency_level = ConsistencyLevel.ALL
         self.expected_expt = ReadFailure
 
-        return parse_dtest_config
-
     def _prepare_cluster(self):
         self.cluster.set_configuration_options(
             values={'tombstone_failure_threshold': 
self.tombstone_failure_threshold}

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/repair_tests/repair_test.py
----------------------------------------------------------------------
diff --git a/repair_tests/repair_test.py b/repair_tests/repair_test.py
index 3459106..3a9f9a7 100644
--- a/repair_tests/repair_test.py
+++ b/repair_tests/repair_test.py
@@ -13,7 +13,7 @@ from cassandra import ConsistencyLevel
 from cassandra.query import SimpleStatement
 from ccmlib.node import ToolError
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, FlakyRetryPolicy, Tester, 
create_ks, create_cf
+from dtest import FlakyRetryPolicy, Tester, create_ks, create_cf
 from tools.data import insert_c1c2, query_c1c2
 
 since = pytest.mark.since
@@ -187,7 +187,8 @@ class TestRepair(BaseRepairTest):
         for node in cluster.nodelist():
             assert not node.grep_log("Starting anticompaction")
 
-    @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    # @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    @pytest.mark.skip_version('3.9')
     def test_nonexistent_table_repair(self):
         """
         * Check that repairing a non-existent table fails

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/replace_address_test.py
----------------------------------------------------------------------
diff --git a/replace_address_test.py b/replace_address_test.py
index 31c1394..bc122c7 100644
--- a/replace_address_test.py
+++ b/replace_address_test.py
@@ -13,7 +13,7 @@ from cassandra import ConsistencyLevel, ReadTimeout, 
Unavailable
 from cassandra.query import SimpleStatement
 from ccmlib.node import Node
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester
+from dtest import Tester
 from tools.assertions import assert_bootstrap_state, assert_all, 
assert_not_running
 from tools.data import rows_to_list
 
@@ -409,7 +409,7 @@ class TestReplaceAddress(BaseReplaceAddressTest):
                 self.replacement_node.watch_log_for('To perform this 
operation, please restart with -Dcassandra.allow_unsafe_replace=true',
                                                     from_mark=mark, timeout=20)
 
-    @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    @pytest.mark.skip_version('3.9')
     @since('2.2')
     def test_insert_data_during_replace_same_address(self):
         """
@@ -418,7 +418,7 @@ class TestReplaceAddress(BaseReplaceAddressTest):
         """
         self._test_insert_data_during_replace(same_address=True)
 
-    @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    @pytest.mark.skip_version('3.9')
     @since('2.2')
     def test_insert_data_during_replace_different_address(self):
         """

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/snapshot_test.py
----------------------------------------------------------------------
diff --git a/snapshot_test.py b/snapshot_test.py
index 9b561ce..036648e 100644
--- a/snapshot_test.py
+++ b/snapshot_test.py
@@ -193,7 +193,7 @@ class TestSnapshot(SnapshotTester):
 class TestArchiveCommitlog(SnapshotTester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         dtest_setup_overrides.cluster_options = ImmutableMapping({'start_rpc': 
'true'})
         return dtest_setup_overrides

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/super_column_cache_test.py
----------------------------------------------------------------------
diff --git a/super_column_cache_test.py b/super_column_cache_test.py
index b3113d3..ed420cd 100644
--- a/super_column_cache_test.py
+++ b/super_column_cache_test.py
@@ -21,7 +21,7 @@ logger = logging.getLogger(__name__)
 class TestSCCache(Tester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         dtest_setup_overrides.cluster_options = ImmutableMapping({'start_rpc': 
'true'})
         return dtest_setup_overrides

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/super_counter_test.py
----------------------------------------------------------------------
diff --git a/super_counter_test.py b/super_counter_test.py
index 03962ec..d21c00a 100644
--- a/super_counter_test.py
+++ b/super_counter_test.py
@@ -21,7 +21,7 @@ class TestSuperCounterClusterRestart(Tester):
     https://issues.apache.org/jira/browse/CASSANDRA-3821
     """
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         dtest_setup_overrides.cluster_options = ImmutableMapping({'start_rpc': 
'true'})
         return dtest_setup_overrides

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/thrift_test.py
----------------------------------------------------------------------
diff --git a/thrift_test.py b/thrift_test.py
index 4d51f91..aaf9dd2 100644
--- a/thrift_test.py
+++ b/thrift_test.py
@@ -14,7 +14,7 @@ from tools.assertions import assert_length_equal
 from tools.misc import ImmutableMapping
 
 from dtest_setup_overrides import DTestSetupOverrides
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester
+from dtest import Tester
 
 from thrift_bindings.thrift010 import Cassandra
 from thrift_bindings.thrift010.Cassandra import (CfDef, Column, ColumnDef,
@@ -60,7 +60,7 @@ def pid():
 class TestThrift(Tester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         """
         @jira_ticket CASSANDRA-7653
@@ -71,7 +71,7 @@ class TestThrift(Tester):
         return dtest_setup_overrides
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_set_cluster_settings(self, fixture_dtest_setup, 
set_dtest_setup_on_function):
+    def fixture_set_cluster_settings(self, fixture_dtest_setup):
         fixture_dtest_setup.cluster.populate(1)
         node1, = fixture_dtest_setup.cluster.nodelist()
 
@@ -79,7 +79,7 @@ class TestThrift(Tester):
         # Because ccm will not set a hex token for ByteOrderedPartitioner
         # automatically. It does not matter what token we set as we only
         # ever use one node.
-        if not self.dtest_config.use_vnodes:
+        if not fixture_dtest_setup.dtest_config.use_vnodes:
             node1.set_configuration_options(values={'initial_token': 'abcd'})
 
         # CASSANDRA-14092 - prevent max ttl tests from failing
@@ -2331,7 +2331,7 @@ class TestMutations(TestThrift):
         assert columns == [composite('0', '0'), composite('1', '1'), 
composite('2', '2'),
              composite('6', '6'), composite('7', '7'), composite('8', '8'), 
composite('9', '9')]
 
-    @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    @pytest.mark.skip_version('3.9')
     def test_range_deletion_eoc_0(self):
         """
         This test confirms that a range tombstone with a final EOC of 0
@@ -2682,7 +2682,7 @@ class TestMutations(TestThrift):
         client.insert(_i32(i), ColumnParent('cs1'), Column(utf8encode('v'), 
_i32(i), 0), CL)
         _assert_column('cs1', _i32(i), utf8encode('v'), _i32(i), 0)
 
-    @pytest.mark.skipif(CASSANDRA_VERSION_FROM_BUILD == '3.9', reason="Test 
doesn't run on 3.9")
+    @pytest.mark.skip_version('3.9')
     def test_range_tombstone_eoc_0(self):
         """
         Insert a range tombstone with EOC=0 for a compact storage table. 
Insert 2 rows that

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/upgrade_internal_auth_test.py
----------------------------------------------------------------------
diff --git a/upgrade_internal_auth_test.py b/upgrade_internal_auth_test.py
index a4de1ca..d0425b1 100644
--- a/upgrade_internal_auth_test.py
+++ b/upgrade_internal_auth_test.py
@@ -21,7 +21,7 @@ logger = logging.getLogger(__name__)
 class TestAuthUpgrade(Tester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
         dtest_setup_overrides.cluster_options = 
ImmutableMapping({'authenticator': 'PasswordAuthenticator',
                                                                'authorizer': 
'CassandraAuthorizer'})

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/upgrade_tests/storage_engine_upgrade_test.py
----------------------------------------------------------------------
diff --git a/upgrade_tests/storage_engine_upgrade_test.py 
b/upgrade_tests/storage_engine_upgrade_test.py
index acadbd3..4cc718c 100644
--- a/upgrade_tests/storage_engine_upgrade_test.py
+++ b/upgrade_tests/storage_engine_upgrade_test.py
@@ -3,7 +3,7 @@ import time
 import pytest
 import logging
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester
+from dtest import Tester
 from sstable_generation_loading_test import TestBaseSStableLoader
 from thrift_bindings.thrift010.Cassandra import (ConsistencyLevel, Deletion,
                                            Mutation, SlicePredicate,
@@ -40,7 +40,7 @@ class TestStorageEngineUpgrade(Tester):
             cluster.set_configuration_options(cluster_options)
 
         # Forcing cluster version on purpose
-        if CASSANDRA_VERSION_FROM_BUILD >= '4':
+        if self.dtest_config.cassandra_version_from_build >= '4':
             cluster.set_install_dir(version="git:cassandra-3.0")
         else:
             cluster.set_install_dir(version="git:cassandra-2.1")

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/upgrade_tests/upgrade_base.py
----------------------------------------------------------------------
diff --git a/upgrade_tests/upgrade_base.py b/upgrade_tests/upgrade_base.py
index cf5d46f..a403835 100644
--- a/upgrade_tests/upgrade_base.py
+++ b/upgrade_tests/upgrade_base.py
@@ -9,7 +9,7 @@ from abc import ABCMeta
 from ccmlib.common import get_version_from_build, is_win
 from tools.jmxutils import remove_perf_disable_shared_mem
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester, create_ks
+from dtest import Tester, create_ks
 
 logger = logging.getLogger(__name__)
 
@@ -49,7 +49,7 @@ class UpgradeTester(Tester, metaclass=ABCMeta):
     def fixture_add_additional_log_patterns(self, fixture_dtest_setup):
         # known non-critical bug during teardown:
         # https://issues.apache.org/jira/browse/CASSANDRA-12340
-        if CASSANDRA_VERSION_FROM_BUILD < '2.2':
+        if fixture_dtest_setup.dtest_config.cassandra_version_from_build < 
'2.2':
             _known_teardown_race_error = (
                 'ScheduledThreadPoolExecutor$ScheduledFutureTask@[0-9a-f]+ '
                 'rejected from 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor'

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/upgrade_tests/upgrade_manifest.py
----------------------------------------------------------------------
diff --git a/upgrade_tests/upgrade_manifest.py 
b/upgrade_tests/upgrade_manifest.py
index ce9442f..d26fd34 100644
--- a/upgrade_tests/upgrade_manifest.py
+++ b/upgrade_tests/upgrade_manifest.py
@@ -2,8 +2,7 @@ import logging
 
 from collections import namedtuple
 
-from dtest import (CASSANDRA_GITREF, CASSANDRA_VERSION_FROM_BUILD,
-                   RUN_STATIC_UPGRADE_MATRIX)
+from dtest import RUN_STATIC_UPGRADE_MATRIX
 
 logger = logging.getLogger(__name__)
 
@@ -16,7 +15,9 @@ def _get_version_family():
     """
     Detects the version family (line) using 
dtest.py:CASSANDRA_VERSION_FROM_BUILD
     """
-    current_version = CASSANDRA_VERSION_FROM_BUILD
+    # todo CASSANDRA-14421
+    # current_version = CASSANDRA_VERSION_FROM_BUILD
+    current_version = '4.0'
 
     version_family = 'unknown'
     if current_version.vstring.startswith('2.0'):
@@ -64,7 +65,9 @@ class VersionMeta(namedtuple('_VersionMeta', ('name', 
'family', 'variant', 'vers
         """
         Returns a new object cloned from this one, with the version replaced 
with the local env version.
         """
-        return self._replace(version=CASSANDRA_GITREF or 
CASSANDRA_VERSION_FROM_BUILD)
+        # todo CASSANDRA-14421
+        # return self._replace(version=CASSANDRA_GITREF or 
CASSANDRA_VERSION_FROM_BUILD)
+        return self
 
 
 indev_2_0_x = None  # None if release not likely

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/upgrade_tests/upgrade_supercolumns_test.py
----------------------------------------------------------------------
diff --git a/upgrade_tests/upgrade_supercolumns_test.py 
b/upgrade_tests/upgrade_supercolumns_test.py
index 28bf47c..e216f5c 100644
--- a/upgrade_tests/upgrade_supercolumns_test.py
+++ b/upgrade_tests/upgrade_supercolumns_test.py
@@ -2,7 +2,7 @@ import os
 import pytest
 import logging
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester
+from dtest import Tester
 from thrift_test import get_thrift_client
 from tools.assertions import assert_all
 
@@ -42,7 +42,7 @@ class TestSCUpgrade(Tester):
             # and when it does, it gets replayed and everything is fine.
             r'Can\'t send migration request: node.*is down',
         )
-        if CASSANDRA_VERSION_FROM_BUILD < '2.2':
+        if fixture_dtest_setup.dtest_config.cassandra_version_from_build < 
'2.2':
             _known_teardown_race_error = (
                 'ScheduledThreadPoolExecutor$ScheduledFutureTask@[0-9a-f]+ '
                 'rejected from 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor'

http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/a06c0e70/user_functions_test.py
----------------------------------------------------------------------
diff --git a/user_functions_test.py b/user_functions_test.py
index 7a10233..4102352 100644
--- a/user_functions_test.py
+++ b/user_functions_test.py
@@ -9,7 +9,7 @@ from cassandra import FunctionFailure
 
 from dtest_setup_overrides import DTestSetupOverrides
 
-from dtest import CASSANDRA_VERSION_FROM_BUILD, Tester, create_ks
+from dtest import Tester, create_ks
 from tools.assertions import assert_invalid, assert_none, assert_one
 from tools.misc import ImmutableMapping
 
@@ -21,20 +21,16 @@ logger = logging.getLogger(__name__)
 class TestUserFunctions(Tester):
 
     @pytest.fixture(scope='function', autouse=True)
-    def fixture_dtest_setup_overrides(self):
+    def fixture_dtest_setup_overrides(self, dtest_config):
         dtest_setup_overrides = DTestSetupOverrides()
-        if CASSANDRA_VERSION_FROM_BUILD >= '3.0':
+
+        if dtest_config.cassandra_version_from_build >= '3.0':
             dtest_setup_overrides.cluster_options = 
ImmutableMapping({'enable_user_defined_functions': 'true',
-                                                
'enable_scripted_user_defined_functions': 'true'})
+                                                                      
'enable_scripted_user_defined_functions': 'true'})
         else:
             dtest_setup_overrides.cluster_options = 
ImmutableMapping({'enable_user_defined_functions': 'true'})
         return dtest_setup_overrides
 
-    @pytest.fixture(scope='function', autouse=True)
-    def parse_dtest_config(self, parse_dtest_config):
-
-        return parse_dtest_config
-
     def prepare(self, create_keyspace=True, nodes=1, rf=1):
         cluster = self.cluster
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to