[ https://issues.apache.org/jira/browse/CASSANDRA-16397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17268674#comment-17268674 ]
Tomasz Lasica commented on CASSANDRA-16397: ------------------------------------------- [~mck] do You remember such behavior maybe? > Running python dtest with --keep-failed-test-dir causes ERROR for SKIP tests > ---------------------------------------------------------------------------- > > Key: CASSANDRA-16397 > URL: https://issues.apache.org/jira/browse/CASSANDRA-16397 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest/python > Reporter: Tomasz Lasica > Priority: Normal > > There is a new flag, added in CASSANDRA-16070: "--keep-failed-test-dir". > In some cases (I am not sure if always), > when this flag is set and when test is SKIP-ed it will cause test ERROR. > > Good run (without --keep-failed-test-dir) > {code:java} > pytest --cassandra-dir=/home/tomek/repos/apache/cassandra > client_network_stop_start_test.py > ===================================================================================== > test session starts > ===================================================================================== > platform linux -- Python 3.6.12, pytest-3.6.4, py-1.10.0, pluggy-0.7.1 > rootdir: /home/tomek/repos/tlasica/cassandra-dtest, inifile: pytest.ini > plugins: timeout-1.4.2, flaky-3.7.0 > timeout: 900.0s > timeout method: signal > timeout func_only: False > collected 3 items > > client_network_stop_start_test.py .ss > > [100%] > ===Flaky Test Report===test_defaults passed 1 out of the required 1 times. > Success!===End Flaky Test > Report=============================================================================== > 1 passed, 2 skipped in 11.25 seconds > ============================================================================={code} > and bad one (with flag): > {code:java} > pytest --keep-failed-test-dir > --cassandra-dir=/home/tomek/repos/apache/cassandra > client_network_stop_start_test.py > ===================================================================================== > test session starts > ===================================================================================== > platform linux -- Python 3.6.12, pytest-3.6.4, py-1.10.0, pluggy-0.7.1 > rootdir: /home/tomek/repos/tlasica/cassandra-dtest, inifile: pytest.ini > plugins: timeout-1.4.2, flaky-3.7.0 > timeout: 900.0s > timeout method: signal > timeout func_only: False > collected 3 items > > client_network_stop_start_test.py .sEsE > > > [100%]=========================================================================================== > ERRORS > ============================================================================================ > _____________________________________________________________ ERROR at > teardown of TestClientNetworkStopStart.test_hsha_defaults > ______________________________________________________________request = > <SubRequest 'fixture_dtest_setup' for <Function 'test_hsha_defaults'>>, > dtest_config = <dtest_config.DTestConfig object at 0x7fd313af9908> > fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides > object at 0x7fd313263048>, fixture_logging_setup = None, > fixture_dtest_cluster_name = 'test' > fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster > at 0x7fd313b15488> @pytest.fixture(scope='function', autouse=False) > def fixture_dtest_setup(request, > dtest_config, > fixture_dtest_setup_overrides, > fixture_logging_setup, > fixture_dtest_cluster_name, > fixture_dtest_create_cluster_func): > 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=dtest_config, > > setup_overrides=fixture_dtest_setup_overrides, > cluster_name=fixture_dtest_cluster_name) > dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func) > > if not dtest_config.disable_active_log_watching: > dtest_setup.begin_active_log_watch() > > # at this point we're done with our setup operations in this fixture > # yield to allow the actual test to run > yield dtest_setup > > # phew! we're back after executing the test, now we need to do > # all of our teardown and cleanup operations > > reset_environment_vars(initial_environment) > dtest_setup.jvm_args = [] > > for con in dtest_setup.connections: > con.cluster.shutdown() > dtest_setup.connections = [] > > failed = False > try: > if not dtest_setup.allow_log_errors: > errors = check_logs_for_errors(dtest_setup) > if len(errors) > 0: > failed = True > pytest.fail(msg='Unexpected error found in node logs (see > stdout for full details). Errors: [{errors}]' > .format(errors=str.join(", ", > errors)), pytrace=False) > finally: > try: > # save the logs for inspection > 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)) > finally: > > dtest_setup.cleanup_cluster(request)conftest.py:352: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _self = <dtest_setup.DTestSetup object at > 0x7fd313adc898>, request = <SubRequest 'fixture_dtest_setup' for <Function > 'test_hsha_defaults'>> def cleanup_cluster(self, request=None): > with log_filter('cassandra'): # quiet noise from driver when nodes > start going down > > if self.dtest_config.keep_test_dir or > > (self.dtest_config.keep_failed_test_dir and request and > > request.node.rep_call.failed): > E AttributeError: 'Function' object has no attribute > 'rep_call'dtest_setup.py:351: AttributeError > ------------------------------------------------------------------------------------ > Captured stdout setup > ------------------------------------------------------------------------------------ > 17:18:59,827 ccm DEBUG Log-watching thread starting. > ------------------------------------------------------------------------------------- > Captured log setup > -------------------------------------------------------------------------------------- > 17:18:59,735 conftest INFO Starting execution of test_hsha_defaults at > 2021-01-20 17:18:59.735191 > 17:18:59,736 dtest_setup INFO cluster ccm directory: /tmp/dtest-10reduiu > ---------------------------------------------------------------------------------- > Captured stdout teardown > -----------------------------------------------------------------------------------_____________________________________________________________ > ERROR at teardown of TestClientNetworkStopStart.test_hsha_with_ssl > ______________________________________________________________request = > <SubRequest 'fixture_dtest_setup' for <Function 'test_hsha_with_ssl'>>, > dtest_config = <dtest_config.DTestConfig object at 0x7fd313af9908> > fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides > object at 0x7fd31301f5c0>, fixture_logging_setup = None, > fixture_dtest_cluster_name = 'test' > fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster > at 0x7fd313b15488> @pytest.fixture(scope='function', autouse=False) > def fixture_dtest_setup(request, > dtest_config, > fixture_dtest_setup_overrides, > fixture_logging_setup, > fixture_dtest_cluster_name, > fixture_dtest_create_cluster_func): > 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=dtest_config, > > setup_overrides=fixture_dtest_setup_overrides, > cluster_name=fixture_dtest_cluster_name) > dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func) > > if not dtest_config.disable_active_log_watching: > dtest_setup.begin_active_log_watch() > > # at this point we're done with our setup operations in this fixture > # yield to allow the actual test to run > yield dtest_setup > > # phew! we're back after executing the test, now we need to do > # all of our teardown and cleanup operations > > reset_environment_vars(initial_environment) > dtest_setup.jvm_args = [] > > for con in dtest_setup.connections: > con.cluster.shutdown() > dtest_setup.connections = [] > > failed = False > try: > if not dtest_setup.allow_log_errors: > errors = check_logs_for_errors(dtest_setup) > if len(errors) > 0: > failed = True > pytest.fail(msg='Unexpected error found in node logs (see > stdout for full details). Errors: [{errors}]' > .format(errors=str.join(", ", > errors)), pytrace=False) > finally: > try: > # save the logs for inspection > 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)) > finally: > > dtest_setup.cleanup_cluster(request)conftest.py:352: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _self = <dtest_setup.DTestSetup object at > 0x7fd31301f2b0>, request = <SubRequest 'fixture_dtest_setup' for <Function > 'test_hsha_with_ssl'>> def cleanup_cluster(self, request=None): > with log_filter('cassandra'): # quiet noise from driver when nodes > start going down > > if self.dtest_config.keep_test_dir or > > (self.dtest_config.keep_failed_test_dir and request and > > request.node.rep_call.failed): > E AttributeError: 'Function' object has no attribute > 'rep_call'dtest_setup.py:351: AttributeError > ------------------------------------------------------------------------------------ > Captured stdout setup > ------------------------------------------------------------------------------------ > 17:19:00,1 ccm DEBUG Log-watching thread starting. > ------------------------------------------------------------------------------------- > Captured log setup > -------------------------------------------------------------------------------------- > 17:18:59,922 conftest INFO Starting execution of test_hsha_with_ssl at > 2021-01-20 17:18:59.922782 > 17:18:59,923 dtest_setup INFO cluster ccm directory: /tmp/dtest-zlpb7lfk > ===Flaky Test Report===test_defaults passed 1 out of the required 1 times. > Success!===End Flaky Test Report=== > ======================================================================== 1 > passed, 2 skipped, 2 error in 12.22 seconds > ======================================================================== > {code} > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org