gitextract_muj9xuou/ ├── .coveragerc ├── .dockerignore ├── .github/ │ └── ISSUE_TEMPLATE/ │ └── bug_report.md ├── .gitignore ├── .readthedocs.yaml ├── .semaphore/ │ └── semaphore.yml ├── CODEOWNERS ├── Dockerfile ├── Jenkinsfile.disabled ├── README.md ├── Vagrantfile ├── docs/ │ ├── Makefile │ ├── README.md │ ├── _static/ │ │ └── theme_overrides.css │ ├── api/ │ │ ├── clusters.rst │ │ ├── remoteaccount.rst │ │ ├── services.rst │ │ ├── templates.rst │ │ └── test.rst │ ├── api.rst │ ├── changelog.rst │ ├── conf.py │ ├── debug_tests.rst │ ├── index.rst │ ├── install.rst │ ├── make.bat │ ├── misc.rst │ ├── new_services.rst │ ├── new_tests.rst │ ├── requirements.txt │ ├── run_tests.rst │ └── test_clusters.rst ├── ducktape/ │ ├── __init__.py │ ├── __main__.py │ ├── cluster/ │ │ ├── __init__.py │ │ ├── cluster.py │ │ ├── cluster_node.py │ │ ├── cluster_spec.py │ │ ├── consts.py │ │ ├── finite_subcluster.py │ │ ├── json.py │ │ ├── linux_remoteaccount.py │ │ ├── localhost.py │ │ ├── node_container.py │ │ ├── node_spec.py │ │ ├── remoteaccount.py │ │ ├── vagrant.py │ │ └── windows_remoteaccount.py │ ├── command_line/ │ │ ├── __init__.py │ │ ├── defaults.py │ │ ├── main.py │ │ └── parse_args.py │ ├── errors.py │ ├── json_serializable.py │ ├── jvm_logging.py │ ├── mark/ │ │ ├── __init__.py │ │ ├── _mark.py │ │ ├── consts.py │ │ ├── mark_expander.py │ │ └── resource.py │ ├── services/ │ │ ├── __init__.py │ │ ├── background_thread.py │ │ ├── service.py │ │ └── service_registry.py │ ├── template.py │ ├── templates/ │ │ └── report/ │ │ ├── report.css │ │ └── report.html │ ├── tests/ │ │ ├── __init__.py │ │ ├── event.py │ │ ├── loader.py │ │ ├── loggermaker.py │ │ ├── reporter.py │ │ ├── result.py │ │ ├── runner.py │ │ ├── runner_client.py │ │ ├── scheduler.py │ │ ├── serde.py │ │ ├── session.py │ │ ├── status.py │ │ ├── test.py │ │ └── test_context.py │ └── utils/ │ ├── __init__.py │ ├── http_utils.py │ ├── local_filesystem_utils.py │ ├── persistence.py │ ├── terminal_size.py │ └── util.py ├── requirements-test.txt ├── requirements.txt ├── ruff.toml ├── service.yml ├── setup.cfg ├── setup.py ├── systests/ │ ├── __init__.py │ └── cluster/ │ ├── __init__.py │ ├── test_debug.py │ ├── test_no_cluster.py │ ├── test_remote_account.py │ └── test_runner_operations.py ├── tests/ │ ├── __init__.py │ ├── cluster/ │ │ ├── __init__.py │ │ ├── check_cluster.py │ │ ├── check_cluster_spec.py │ │ ├── check_finite_subcluster.py │ │ ├── check_json.py │ │ ├── check_localhost.py │ │ ├── check_node_container.py │ │ ├── check_remoteaccount.py │ │ └── check_vagrant.py │ ├── command_line/ │ │ ├── __init__.py │ │ ├── check_main.py │ │ └── check_parse_args.py │ ├── ducktape_mock.py │ ├── loader/ │ │ ├── __init__.py │ │ ├── check_loader.py │ │ └── resources/ │ │ ├── __init__.py │ │ ├── loader_test_directory/ │ │ │ ├── README │ │ │ ├── __init__.py │ │ │ ├── invalid_test_suites/ │ │ │ │ ├── empty_file.yml │ │ │ │ ├── malformed_test_suite.yml │ │ │ │ ├── not_yaml.yml │ │ │ │ ├── test_suite_refers_to_non_existent_file.yml │ │ │ │ ├── test_suite_with_malformed_params.yml │ │ │ │ └── test_suites_with_no_tests.yml │ │ │ ├── name_does_not_match_pattern.py │ │ │ ├── sub_dir_a/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_c.py │ │ │ │ └── test_d.py │ │ │ ├── sub_dir_no_tests/ │ │ │ │ ├── __init__.py │ │ │ │ └── just_some_file.py │ │ │ ├── test_a.py │ │ │ ├── test_b.py │ │ │ ├── test_decorated.py │ │ │ ├── test_suite_cyclic_a.yml │ │ │ ├── test_suite_cyclic_b.yml │ │ │ ├── test_suite_decorated.yml │ │ │ ├── test_suite_import_malformed.yml │ │ │ ├── test_suite_import_py.yml │ │ │ ├── test_suite_malformed.yml │ │ │ ├── test_suite_multiple.yml │ │ │ ├── test_suite_single.yml │ │ │ ├── test_suite_with_self_import.yml │ │ │ ├── test_suite_with_single_import.yml │ │ │ └── test_suites/ │ │ │ ├── refers_to_parent_dir.yml │ │ │ ├── sub_dir_a_test_c.yml │ │ │ ├── sub_dir_a_test_c_via_class.yml │ │ │ ├── sub_dir_a_with_exclude.yml │ │ │ ├── sub_dir_test_import.yml │ │ │ └── test_suite_glob.yml │ │ └── report.json │ ├── logger/ │ │ ├── __init__.py │ │ └── check_logger.py │ ├── mark/ │ │ ├── __init__.py │ │ ├── check_cluster_use_metadata.py │ │ ├── check_env.py │ │ ├── check_ignore.py │ │ ├── check_parametrize.py │ │ └── resources/ │ │ └── __init__.py │ ├── reporter/ │ │ └── check_symbol_reporter.py │ ├── runner/ │ │ ├── __init__.py │ │ ├── check_runner.py │ │ ├── check_runner_memory.py │ │ ├── check_sender_receiver.py │ │ ├── fake_remote_account.py │ │ └── resources/ │ │ ├── __init__.py │ │ ├── test_bad_actor.py │ │ ├── test_failing_tests.py │ │ ├── test_fails_to_init.py │ │ ├── test_fails_to_init_in_setup.py │ │ ├── test_memory_leak.py │ │ ├── test_thingy.py │ │ └── test_various_num_nodes.py │ ├── scheduler/ │ │ ├── __init__.py │ │ └── check_scheduler.py │ ├── services/ │ │ ├── __init__.py │ │ ├── check_background_thread_service.py │ │ ├── check_jvm_logging.py │ │ └── check_service.py │ ├── templates/ │ │ ├── __init__.py │ │ ├── service/ │ │ │ ├── __init__.py │ │ │ ├── check_render.py │ │ │ └── templates/ │ │ │ └── sample │ │ └── test/ │ │ ├── __init__.py │ │ ├── check_render.py │ │ └── templates/ │ │ └── sample │ ├── test_utils.py │ ├── tests/ │ │ ├── __init__.py │ │ ├── check_session.py │ │ ├── check_test.py │ │ └── check_test_context.py │ └── utils/ │ ├── __init__.py │ └── check_util.py └── tox.ini