SYMBOL INDEX (1130 symbols across 96 files) FILE: docs/conf.py function skip (line 167) | def skip(app, what, name, obj, skip, options): function setup (line 173) | def setup(app): FILE: ducktape/cluster/cluster.py class Cluster (line 22) | class Cluster(object): method __init__ (line 28) | def __init__(self): method __len__ (line 31) | def __len__(self) -> int: method alloc (line 35) | def alloc(self, cluster_spec) -> Union[ClusterNode, List[ClusterNode],... method do_alloc (line 47) | def do_alloc(self, cluster_spec) -> Union[ClusterNode, List[ClusterNod... method free (line 57) | def free(self, nodes: Union[Iterable[ClusterNode], ClusterNode]) -> None: method free_single (line 65) | def free_single(self, node: ClusterNode) -> None: method __eq__ (line 68) | def __eq__(self, other): method __hash__ (line 71) | def __hash__(self): method num_available_nodes (line 74) | def num_available_nodes(self) -> int: method available (line 77) | def available(self) -> ClusterSpec: method used (line 83) | def used(self) -> ClusterSpec: method max_used (line 89) | def max_used(self) -> int: method all (line 92) | def all(self): FILE: ducktape/cluster/cluster_node.py class ClusterNode (line 6) | class ClusterNode(object): method __init__ (line 7) | def __init__(self, account: RemoteAccount, **kwargs): method name (line 13) | def name(self) -> Optional[str]: method operating_system (line 17) | def operating_system(self) -> Optional[str]: FILE: ducktape/cluster/cluster_spec.py class ClusterSpec (line 26) | class ClusterSpec(object): method empty (line 34) | def empty(): method simple_linux (line 38) | def simple_linux(num_nodes, node_type=None): method from_nodes (line 53) | def from_nodes(nodes): method __init__ (line 59) | def __init__(self, nodes=None): method __len__ (line 67) | def __len__(self): method __iter__ (line 70) | def __iter__(self): method size (line 73) | def size(self): method add (line 77) | def add(self, other): method clone (line 88) | def clone(self): method __str__ (line 94) | def __str__(self): FILE: ducktape/cluster/finite_subcluster.py class FiniteSubcluster (line 21) | class FiniteSubcluster(Cluster): method __init__ (line 24) | def __init__(self, nodes: typing.Iterable[ClusterNode]): method do_alloc (line 30) | def do_alloc(self, cluster_spec) -> typing.List[ClusterNode]: method free_single (line 41) | def free_single(self, node): method available (line 45) | def available(self): method used (line 48) | def used(self): FILE: ducktape/cluster/json.py function make_remote_account (line 33) | def make_remote_account(ssh_config, *args, **kwargs): class JsonCluster (line 42) | class JsonCluster(Cluster): method __init__ (line 45) | def __init__( method do_alloc (line 133) | def do_alloc(self, cluster_spec): method free_single (line 153) | def free_single(self, node): method _externally_routable_ip (line 158) | def _externally_routable_ip(self, account): method available (line 161) | def available(self): method used (line 164) | def used(self): FILE: ducktape/cluster/linux_remoteaccount.py class LinuxRemoteAccount (line 23) | class LinuxRemoteAccount(RemoteAccount): method __init__ (line 24) | def __init__(self, *args, **kwargs): method local (line 31) | def local(self): method get_network_devices (line 36) | def get_network_devices(self): method get_external_accessible_network_devices (line 42) | def get_external_accessible_network_devices(self): method fetch_externally_routable_ip (line 56) | def fetch_externally_routable_ip(self, is_aws=None): FILE: ducktape/cluster/localhost.py class LocalhostCluster (line 24) | class LocalhostCluster(Cluster): method __init__ (line 31) | def __init__(self, *args, **kwargs): method do_alloc (line 47) | def do_alloc(self, cluster_spec): method free_single (line 54) | def free_single(self, node): method available (line 59) | def available(self): method used (line 62) | def used(self): FILE: ducktape/cluster/node_container.py class NodeNotPresentError (line 39) | class NodeNotPresentError(Exception): class InsufficientResourcesError (line 43) | class InsufficientResourcesError(Exception): class InsufficientHealthyNodesError (line 47) | class InsufficientHealthyNodesError(InsufficientResourcesError): method __init__ (line 48) | def __init__(self, bad_nodes: List, *args): function _get_node_key (line 53) | def _get_node_key(node: NodeType) -> NodeGroupKey: class NodeContainer (line 60) | class NodeContainer(object): method __init__ (line 72) | def __init__(self, nodes: Optional[Iterable[NodeType]] = None) -> None: method size (line 86) | def size(self) -> int: method __len__ (line 92) | def __len__(self): method __iter__ (line 95) | def __iter__(self) -> Iterator[Any]: method elements (line 98) | def elements(self, operating_system: Optional[str] = None, node_type: ... method grouped_by_os_and_type (line 117) | def grouped_by_os_and_type(self) -> Dict[Tuple[Optional[str], Optional... method add_node (line 132) | def add_node(self, node: Union[ClusterNode, RemoteAccount]) -> None: method add_nodes (line 141) | def add_nodes(self, nodes): method remove_node (line 150) | def remove_node(self, node): method remove_nodes (line 164) | def remove_nodes(self, nodes): method _find_matching_nodes (line 173) | def _find_matching_nodes( method remove_spec (line 221) | def remove_spec(self, cluster_spec: ClusterSpec) -> Tuple[List[NodeTyp... method can_remove_spec (line 275) | def can_remove_spec(self, cluster_spec: ClusterSpec) -> bool: method _count_nodes_by_os (line 286) | def _count_nodes_by_os(self, target_os: str) -> int: method _count_nodes_by_os_and_type (line 299) | def _count_nodes_by_os_and_type(self, target_os: str, target_type: str... method attempt_remove_spec (line 309) | def attempt_remove_spec(self, cluster_spec: ClusterSpec) -> str: method clone (line 375) | def clone(self) -> "NodeContainer": FILE: ducktape/cluster/node_spec.py class NodeSpec (line 23) | class NodeSpec(object): method __init__ (line 35) | def __init__(self, operating_system: str = LINUX, node_type: Optional[... method matches (line 41) | def matches(self, available_node_spec: "NodeSpec") -> bool: method __str__ (line 59) | def __str__(self): method __eq__ (line 65) | def __eq__(self, other): method __hash__ (line 70) | def __hash__(self): FILE: ducktape/cluster/remoteaccount.py function check_ssh (line 34) | def check_ssh(method: Callable) -> Callable: class RemoteAccountSSHConfig (line 53) | class RemoteAccountSSHConfig(object): method __init__ (line 54) | def __init__( method from_string (line 81) | def from_string(config_str): method to_json (line 106) | def to_json(self): method __repr__ (line 109) | def __repr__(self): method __eq__ (line 112) | def __eq__(self, other): method __hash__ (line 115) | def __hash__(self): class RemoteAccountError (line 119) | class RemoteAccountError(DucktapeError): method __init__ (line 122) | def __init__(self, account, msg): method __str__ (line 126) | def __str__(self): class RemoteCommandError (line 130) | class RemoteCommandError(RemoteAccountError): method __init__ (line 133) | def __init__(self, account, cmd, exit_status, msg): method __str__ (line 139) | def __str__(self): class RemoteAccount (line 150) | class RemoteAccount(HttpMixin): method __init__ (line 162) | def __init__( method operating_system (line 192) | def operating_system(self) -> Optional[str]: method logger (line 196) | def logger(self): method logger (line 203) | def logger(self, logger): method _log (line 206) | def _log(self, level, msg, *args, **kwargs): method _set_ssh_client (line 211) | def _set_ssh_client(self): method ssh_client (line 233) | def ssh_client(self): method _set_sftp_client (line 249) | def _set_sftp_client(self): method sftp_client (line 255) | def sftp_client(self): method close (line 263) | def close(self) -> None: method __str__ (line 273) | def __str__(self): method __repr__ (line 280) | def __repr__(self): method __eq__ (line 283) | def __eq__(self, other): method __hash__ (line 286) | def __hash__(self): method wait_for_http_service (line 289) | def wait_for_http_service(self, port, headers, timeout=20, path="/"): method _can_ping_url (line 304) | def _can_ping_url(self, url, headers): method available (line 312) | def available(self): method ssh (line 325) | def ssh(self, cmd, allow_fail=False): method ssh_capture (line 362) | def ssh_capture( method ssh_output (line 424) | def ssh_output(self, cmd, allow_fail=False, combine_stderr=True, timeo... method alive (line 469) | def alive(self, pid): method signal (line 477) | def signal(self, pid, sig, allow_fail=False): method kill_process (line 481) | def kill_process(self, process_grep_str, clean_shutdown=True, allow_fa... method java_pids (line 493) | def java_pids(self, match): method kill_java_processes (line 502) | def kill_java_processes(self, match, clean_shutdown=True, allow_fail=F... method copy_between (line 522) | def copy_between(self, src, dest, dest_node): method scp_from (line 549) | def scp_from(self, src, dest, recursive=False): method _re_anchor_basename (line 553) | def _re_anchor_basename(self, path, directory): method copy_from (line 579) | def copy_from(self, src, dest): method scp_to (line 601) | def scp_to(self, src, dest, recursive=False): method copy_to (line 606) | def copy_to(self, src, dest): method islink (line 630) | def islink(self, path): method isdir (line 639) | def isdir(self, path): method exists (line 648) | def exists(self, path): method isfile (line 658) | def isfile(self, path): method open (line 671) | def open(self, path, mode="r"): method create_file (line 675) | def create_file(self, path, contents): method mkdir (line 689) | def mkdir(self, path, mode=_DEFAULT_PERMISSIONS): method mkdirs (line 692) | def mkdirs(self, path, mode=_DEFAULT_PERMISSIONS): method remove (line 695) | def remove(self, path, allow_fail=False): method monitor_log (line 706) | def monitor_log(self, log): class SSHOutputIter (line 724) | class SSHOutputIter(object): method __init__ (line 727) | def __init__(self, iter_obj_func, channel_file=None): method __iter__ (line 741) | def __iter__(self): method next (line 744) | def next(self): method has_next (line 753) | def has_next(self, timeout_sec=None): class LogMonitor (line 780) | class LogMonitor(object): method __init__ (line 791) | def __init__(self, acct, log, offset): method wait_until (line 796) | def wait_until(self, pattern, **kwargs): class IgnoreMissingHostKeyPolicy (line 812) | class IgnoreMissingHostKeyPolicy(MissingHostKeyPolicy): method missing_host_key (line 817) | def missing_host_key(self, client, hostname, key): FILE: ducktape/cluster/vagrant.py class VagrantCluster (line 27) | class VagrantCluster(JsonCluster): method __init__ (line 38) | def __init__(self, *args, make_remote_account_func=make_remote_account... method _get_nodes_from_vagrant (line 84) | def _get_nodes_from_vagrant(self, make_remote_account_func): method _vagrant_ssh_config (line 112) | def _vagrant_ssh_config(self): FILE: ducktape/cluster/windows_remoteaccount.py class WindowsRemoteAccount (line 29) | class WindowsRemoteAccount(RemoteAccount): method __init__ (line 39) | def __init__(self, *args, **kwargs): method winrm_client (line 45) | def winrm_client(self): method fetch_externally_routable_ip (line 103) | def fetch_externally_routable_ip(self, is_aws=None): method run_winrm_command (line 107) | def run_winrm_command(self, cmd, allow_fail=False): FILE: ducktape/command_line/defaults.py class ConsoleDefaults (line 18) | class ConsoleDefaults(object): FILE: ducktape/command_line/main.py function get_user_defined_globals (line 48) | def get_user_defined_globals(globals_str): function setup_results_directory (line 93) | def setup_results_directory(new_results_dir): function update_latest_symlink (line 100) | def update_latest_symlink(results_root, new_results_dir): function main (line 108) | def main(): FILE: ducktape/command_line/parse_args.py function create_ducktape_parser (line 27) | def create_ducktape_parser() -> argparse.ArgumentParser: function get_user_config_file (line 218) | def get_user_config_file(args: List[str]) -> str: function config_file_to_args_list (line 228) | def config_file_to_args_list(config_file): function parse_non_default_args (line 244) | def parse_non_default_args(parser: argparse.ArgumentParser, defaults: di... function parse_args (line 258) | def parse_args( FILE: ducktape/errors.py class DucktapeError (line 16) | class DucktapeError(RuntimeError): class TimeoutError (line 20) | class TimeoutError(DucktapeError): FILE: ducktape/json_serializable.py class DucktapeJSONEncoder (line 19) | class DucktapeJSONEncoder(JSONEncoder): method default (line 20) | def default(self, obj): FILE: ducktape/jvm_logging.py class JVMLogger (line 31) | class JVMLogger: method __init__ (line 34) | def __init__(self, log_dir="/mnt/jvm_logs"): method enable_for_service (line 42) | def enable_for_service(self, service): method _get_jvm_options (line 142) | def _get_jvm_options(self): method _setup_on_node (line 163) | def _setup_on_node(self, node): method _cleanup_on_node (line 168) | def _cleanup_on_node(self, node): FILE: ducktape/mark/_mark.py class Mark (line 23) | class Mark(object): method mark (line 27) | def mark(fun, mark): method marked (line 49) | def marked(f, mark): method clear_marks (line 59) | def clear_marks(f): method name (line 67) | def name(self): method apply (line 70) | def apply(self, seed_context, context_list): method __eq__ (line 73) | def __eq__(self, other): class Ignore (line 80) | class Ignore(Mark): method __init__ (line 83) | def __init__(self, **kwargs): method name (line 88) | def name(self): method apply (line 91) | def apply(self, seed_context, context_list): method __eq__ (line 97) | def __eq__(self, other): class IgnoreAll (line 101) | class IgnoreAll(Ignore): method __init__ (line 104) | def __init__(self): class Matrix (line 109) | class Matrix(Mark): method __init__ (line 114) | def __init__(self, **kwargs): method name (line 123) | def name(self): method apply (line 126) | def apply(self, seed_context, context_list): method __eq__ (line 133) | def __eq__(self, other): class Defaults (line 137) | class Defaults(Mark): method __init__ (line 142) | def __init__(self, **kwargs): method name (line 151) | def name(self): method apply (line 154) | def apply(self, seed_context, context_list): method __eq__ (line 179) | def __eq__(self, other): class Parametrize (line 183) | class Parametrize(Mark): method __init__ (line 186) | def __init__(self, **kwargs): method name (line 190) | def name(self): method apply (line 193) | def apply(self, seed_context, context_list): method __eq__ (line 201) | def __eq__(self, other): class Env (line 205) | class Env(Mark): method __init__ (line 206) | def __init__(self, **kwargs): method name (line 211) | def name(self): method apply (line 214) | def apply(self, seed_context, context_list): method __eq__ (line 220) | def __eq__(self, other): function _is_parametrize_mark (line 231) | def _is_parametrize_mark(m): function parametrized (line 235) | def parametrized(f): function ignored (line 240) | def ignored(f): function is_env (line 245) | def is_env(f): function cartesian_product_dict (line 249) | def cartesian_product_dict(d): function matrix (line 296) | def matrix(**kwargs): function defaults (line 325) | def defaults(**kwargs): function parametrize (line 361) | def parametrize(**kwargs): function ignore (line 387) | def ignore(*args, **kwargs): function env (line 427) | def env(**kwargs): function _inject (line 435) | def _inject(*args, **kwargs): FILE: ducktape/mark/mark_expander.py class MarkedFunctionExpander (line 21) | class MarkedFunctionExpander(object): method __init__ (line 24) | def __init__( method expand (line 47) | def expand(self, test_parameters=None): FILE: ducktape/mark/resource.py class ClusterUseMetadata (line 22) | class ClusterUseMetadata(Mark): method __init__ (line 25) | def __init__(self, **kwargs) -> None: method name (line 30) | def name(self) -> str: method apply (line 33) | def apply(self, seed_context: TestContext, context_list: List[TestCont... function cluster (line 43) | def cluster(**kwargs) -> Callable: FILE: ducktape/services/background_thread.py class BackgroundThreadService (line 21) | class BackgroundThreadService(Service): method __init__ (line 22) | def __init__(self, context, num_nodes=None, cluster_spec=None, *args, ... method _protected_worker (line 29) | def _protected_worker(self, idx, node): method start_node (line 48) | def start_node(self, node): method wait (line 64) | def wait(self, timeout_sec=600): method stop (line 73) | def stop(self): method wait_node (line 84) | def wait_node(self, node, timeout_sec=600): method _propagate_exceptions (line 95) | def _propagate_exceptions(self): FILE: ducktape/services/service.py class ServiceIdFactory (line 27) | class ServiceIdFactory: method generate_service_id (line 28) | def generate_service_id(self, service): class MultiRunServiceIdFactory (line 36) | class MultiRunServiceIdFactory: method __init__ (line 37) | def __init__(self, run_number=1): method generate_service_id (line 40) | def generate_service_id(self, service): class Service (line 52) | class Service(TemplateRenderer): method __init__ (line 80) | def __init__(self, context, num_nodes=None, cluster_spec=None, *args, ... method setup_cluster_spec (line 126) | def setup_cluster_spec(num_nodes=None, cluster_spec=None): method __repr__ (line 137) | def __repr__(self): method num_nodes (line 144) | def num_nodes(self): method local_scratch_dir (line 148) | def local_scratch_dir(self): method service_id (line 155) | def service_id(self): method _order (line 160) | def _order(self): method logger (line 191) | def logger(self): method cluster (line 196) | def cluster(self): method allocated (line 201) | def allocated(self): method who_am_i (line 205) | def who_am_i(self, node=None): method allocate_nodes (line 216) | def allocate_nodes(self): method start (line 245) | def start(self, **kwargs): method start_node (line 278) | def start_node(self, node, **kwargs): method wait (line 282) | def wait(self, timeout_sec=600): method wait_node (line 307) | def wait_node(self, node, timeout_sec=None): method stop (line 313) | def stop(self, **kwargs): method stop_node (line 325) | def stop_node(self, node, **kwargs): method clean (line 329) | def clean(self, **kwargs): method clean_node (line 339) | def clean_node(self, node, **kwargs): method free (line 346) | def free(self): method run (line 354) | def run(self): method get_node (line 360) | def get_node(self, idx): method idx (line 364) | def idx(self, node): method close (line 374) | def close(self): method run_parallel (line 381) | def run_parallel(*args): method to_json (line 393) | def to_json(self): FILE: ducktape/services/service_registry.py class ServiceRegistry (line 21) | class ServiceRegistry(object): method __init__ (line 22) | def __init__(self, enable_jvm_logs=False) -> None: method __contains__ (line 32) | def __contains__(self, item): method __iter__ (line 35) | def __iter__(self): method __repr__ (line 38) | def __repr__(self): method append (line 41) | def append(self, service): method to_json (line 49) | def to_json(self): method stop_all (line 52) | def stop_all(self): method clean_all (line 69) | def clean_all(self): method free_all (line 83) | def free_all(self): method errors (line 99) | def errors(self): FILE: ducktape/template.py class TemplateRenderer (line 23) | class TemplateRenderer(object): method _get_ctx (line 24) | def _get_ctx(self): method render_template (line 29) | def render_template(self, template, **kwargs): method _package_search_path (line 43) | def _package_search_path(module_name): method render (line 58) | def render(self, path, **kwargs): FILE: ducktape/tests/event.py class ClientEventFactory (line 20) | class ClientEventFactory(object): method __init__ (line 33) | def __init__(self, test_id, test_index, source_id): method _event (line 40) | def _event(self, event_type, payload=None): method copy (line 68) | def copy(self, event): method running (line 76) | def running(self): method ready (line 82) | def ready(self): method setting_up (line 88) | def setting_up(self): method finished (line 91) | def finished(self, result): method log (line 94) | def log(self, message, level): class EventResponseFactory (line 101) | class EventResponseFactory(object): method _event_response (line 104) | def _event_response(self, client_event, payload=None): method running (line 122) | def running(self, client_event): method ready (line 125) | def ready(self, client_event, session_context, test_context, cluster): method setting_up (line 134) | def setting_up(self, client_event): method finished (line 137) | def finished(self, client_event): method log (line 140) | def log(self, client_event): FILE: ducktape/tests/loader.py class LoaderException (line 37) | class LoaderException(Exception): class TestLoader (line 52) | class TestLoader(object): method __init__ (line 55) | def __init__( method load (line 88) | def load(self, symbols: List[str], excluded_test_symbols: None = None)... method discover (line 200) | def discover( method _parse_discovery_symbol (line 255) | def _parse_discovery_symbol(self, discovery_symbol: str, base_dir: Non... method _import_module (line 299) | def _import_module(self, file_path: str) -> Optional[ModuleAndFile]: method _expand_module (line 379) | def _expand_module(self, module_and_file: ModuleAndFile) -> List[TestC... method _expand_class (line 403) | def _expand_class(self, t_ctx: TestContext) -> List[TestContext]: method _expand_function (line 417) | def _expand_function(self, t_ctx: TestContext) -> List[TestContext]: method _find_test_files (line 428) | def _find_test_files(self, path_or_glob): method _is_test_file (line 470) | def _is_test_file(self, file_name): method _is_test_class (line 474) | def _is_test_class(self, obj: Any) -> bool: method _is_test_function (line 478) | def _is_test_function(self, function: Any) -> bool: method _load_test_suite_files (line 488) | def _load_test_suite_files(self, test_suite_files: List[Any]) -> Set[A... method _load_file (line 498) | def _load_file(self, suite_file_path): method _load_suites (line 520) | def _load_suites(self, file_path, file_content): method _read_test_suite_from_file (line 546) | def _read_test_suite_from_file(self, root_suite_file_paths: List[Any])... method _load_test_suite (line 574) | def _load_test_suite(self, **kwargs): method _load_test_contexts (line 592) | def _load_test_contexts( method _filter_by_unique_test_id (line 647) | def _filter_by_unique_test_id(self, contexts: Iterable[TestContext]) -... method _filter_excluded_test_contexts (line 654) | def _filter_excluded_test_contexts( method _add_top_level_dirs_to_sys_path (line 660) | def _add_top_level_dirs_to_sys_path(self, test_files: List[str]) -> None: FILE: ducktape/tests/loggermaker.py class LoggerMaker (line 18) | class LoggerMaker(object): method __init__ (line 21) | def __init__(self, logger_name: str) -> None: method logger (line 25) | def logger(self) -> logging.Logger: method configured (line 36) | def configured(self) -> bool: method configure_logger (line 44) | def configure_logger(self): function close_logger (line 48) | def close_logger(logger): FILE: ducktape/tests/reporter.py function format_time (line 34) | def format_time(t): class SingleResultReporter (line 48) | class SingleResultReporter(object): method __init__ (line 51) | def __init__(self, result): method result_string (line 55) | def result_string(self): method report_string (line 73) | def report_string(self): class SingleResultFileReporter (line 78) | class SingleResultFileReporter(SingleResultReporter): method report (line 79) | def report(self): class SummaryReporter (line 92) | class SummaryReporter(object): method __init__ (line 93) | def __init__(self, results): method report (line 97) | def report(self): class SimpleSummaryReporter (line 101) | class SimpleSummaryReporter(SummaryReporter): method header_string (line 102) | def header_string(self): method report_string (line 120) | def report_string(self): class SimpleFileSummaryReporter (line 131) | class SimpleFileSummaryReporter(SimpleSummaryReporter): method report (line 132) | def report(self): class SimpleStdoutSummaryReporter (line 139) | class SimpleStdoutSummaryReporter(SimpleSummaryReporter): method report (line 140) | def report(self): class JSONReporter (line 144) | class JSONReporter(object): method __init__ (line 145) | def __init__(self, results): method report (line 148) | def report(self): class JUnitReporter (line 162) | class JUnitReporter(object): method __init__ (line 163) | def __init__(self, results): method report (line 166) | def report(self): class HTMLSummaryReporter (line 250) | class HTMLSummaryReporter(SummaryReporter): method __init__ (line 251) | def __init__(self, results, expected_test_count): method format_test_name (line 255) | def format_test_name(self, result): method format_result (line 276) | def format_result(self, result): method test_results_dir (line 292) | def test_results_dir(self, result): method format_report (line 304) | def format_report(self): method report (line 377) | def report(self): class FailedTestSymbolReporter (line 381) | class FailedTestSymbolReporter(SummaryReporter): method __init__ (line 382) | def __init__(self, results): method to_symbol (line 387) | def to_symbol(self, result): method dump_test_suite (line 395) | def dump_test_suite(self, lines): method print_test_symbols_string (line 404) | def print_test_symbols_string(self, lines): method report (line 411) | def report(self): FILE: ducktape/tests/result.py class TestResult (line 31) | class TestResult(object): method __init__ (line 34) | def __init__( method __repr__ (line 90) | def __repr__(self): method run_time_seconds (line 98) | def run_time_seconds(self): method report (line 106) | def report(self): method dump_json (line 114) | def dump_json(self): method to_json (line 119) | def to_json(self): class TestResults (line 148) | class TestResults(object): method __init__ (line 151) | def __init__(self, session_context: SessionContext, cluster: VagrantCl... method append (line 164) | def append(self, obj: TestResult): method __len__ (line 167) | def __len__(self): method __iter__ (line 170) | def __iter__(self): method num_passed (line 174) | def num_passed(self): method num_failed (line 178) | def num_failed(self): method num_ignored (line 182) | def num_ignored(self): method num_flaky (line 186) | def num_flaky(self): method run_time_seconds (line 190) | def run_time_seconds(self): method get_aggregate_success (line 198) | def get_aggregate_success(self): method _stats (line 207) | def _stats(self, num_list): method to_json (line 217) | def to_json(self): FILE: ducktape/tests/runner.py class Receiver (line 54) | class Receiver(object): method __init__ (line 55) | def __init__(self, min_port: int, max_port: int) -> None: method start (line 69) | def start(self): method recv (line 79) | def recv(self, timeout=1800000): method send (line 90) | def send(self, event): method close (line 93) | def close(self): class TestRunner (line 101) | class TestRunner(object): method __init__ (line 105) | def __init__( method _terminate_process (line 154) | def _terminate_process(self, process: multiprocessing.Process): method _join_test_process (line 163) | def _join_test_process(self, process_key, timeout: int = DEFAULT_MP_JO... method _propagate_sigterm (line 186) | def _propagate_sigterm(self, signum, frame): method who_am_i (line 206) | def who_am_i(self): method _ready_to_trigger_more_tests (line 211) | def _ready_to_trigger_more_tests(self): method _expect_client_requests (line 218) | def _expect_client_requests(self): method _report_unschedulable (line 221) | def _report_unschedulable(self, unschedulable, err_msg=None): method _check_unschedulable (line 254) | def _check_unschedulable(self): method _report_remaining_as_failed (line 257) | def _report_remaining_as_failed(self, reason): method _report_active_as_failed (line 285) | def _report_active_as_failed(self, reason): method run_all_tests (line 323) | def run_all_tests(self): method _run_single_test (line 424) | def _run_single_test(self, test_context): method _preallocate_subcluster (line 460) | def _preallocate_subcluster(self, test_context): method _handle (line 478) | def _handle(self, event): method _handle_ready (line 496) | def _handle_ready(self, event): method _handle_log (line 503) | def _handle_log(self, event): method _handle_finished (line 507) | def _handle_finished(self, event): method _should_print_separator (line 558) | def _should_print_separator(self): method _handle_lifecycle (line 571) | def _handle_lifecycle(self, event): method _log (line 574) | def _log(self, log_level, msg, *args, **kwargs): FILE: ducktape/tests/runner_client.py function run_client (line 39) | def run_client(*args, **kwargs): class Sender (line 45) | class Sender(object): method __init__ (line 58) | def __init__( method _init_socket (line 76) | def _init_socket(self): method send (line 81) | def send(self, event, blocking=True): method close (line 113) | def close(self): class RunnerClient (line 119) | class RunnerClient(object): method __init__ (line 140) | def __init__( method deflake_enabled (line 174) | def deflake_enabled(self) -> bool: method ready (line 177) | def ready(self): method send (line 183) | def send(self, event): method _kill_all_child_processes (line 190) | def _kill_all_child_processes(self, send_signal=signal.SIGTERM): method _sigterm_handler (line 198) | def _sigterm_handler(self, signum, frame): method _collect_test_context (line 208) | def _collect_test_context(self, directory, file_name, cls_name, method... method run (line 225) | def run(self): method process_run_summaries (line 314) | def process_run_summaries(self, run_summaries: List[List[str]], test_s... method _do_run (line 359) | def _do_run(self, num_runs): method _check_cluster_utilization (line 402) | def _check_cluster_utilization(self, result, summary): method setup_test (line 423) | def setup_test(self): method run_test (line 428) | def run_test(self): method _exc_msg (line 437) | def _exc_msg(self, e): method _do_safely (line 440) | def _do_safely(self, action, err_msg): method teardown_test (line 446) | def teardown_test(self, teardown_services=True, test_status=None): method log (line 478) | def log(self, log_level, msg, *args, **kwargs): method dump_threads (line 494) | def dump_threads(self, msg): FILE: ducktape/tests/scheduler.py class TestScheduler (line 22) | class TestScheduler(object): method __init__ (line 29) | def __init__(self, test_contexts: List[TestContext], cluster: VagrantC... method __len__ (line 38) | def __len__(self) -> int: method __iter__ (line 42) | def __iter__(self): method filter_unschedulable_tests (line 45) | def filter_unschedulable_tests(self): method _sort_test_context_list (line 59) | def _sort_test_context_list(self) -> None: method peek (line 67) | def peek(self): method remove (line 79) | def remove(self, tc): method drain_remaining_tests (line 87) | def drain_remaining_tests(self): FILE: ducktape/tests/serde.py class SerDe (line 18) | class SerDe(object): method serialize (line 19) | def serialize(self, obj): method deserialize (line 25) | def deserialize(self, bytes_obj, obj_cls=None): FILE: ducktape/tests/session.py class SessionContext (line 24) | class SessionContext(object): method __init__ (line 29) | def __init__(self, **kwargs) -> None: method globals (line 47) | def globals(self): method to_json (line 51) | def to_json(self): class SessionLoggerMaker (line 55) | class SessionLoggerMaker(LoggerMaker): method __init__ (line 56) | def __init__(self, session_context: SessionContext) -> None: method configure_logger (line 61) | def configure_logger(self) -> None: function generate_session_id (line 89) | def generate_session_id(session_id_file: str) -> str: function generate_results_dir (line 134) | def generate_results_dir(results_root: str, session_id: str) -> str: FILE: ducktape/tests/status.py class TestStatus (line 16) | class TestStatus(object): method __init__ (line 17) | def __init__(self, status: str) -> None: method __eq__ (line 20) | def __eq__(self, other): method __str__ (line 23) | def __str__(self): method to_json (line 26) | def to_json(self): FILE: ducktape/tests/test.py class Test (line 27) | class Test(TemplateRenderer): method __init__ (line 30) | def __init__(self, test_context, *args, **kwargs): method cluster (line 38) | def cluster(self): method logger (line 42) | def logger(self): method min_cluster_spec (line 45) | def min_cluster_spec(self): method min_cluster_size (line 53) | def min_cluster_size(self): method setup (line 61) | def setup(self): method teardown (line 67) | def teardown(self): method setUp (line 73) | def setUp(self): method tearDown (line 76) | def tearDown(self): method free_nodes (line 79) | def free_nodes(self): method compress_service_logs (line 86) | def compress_service_logs(self, node, service, node_logs): method copy_service_logs (line 109) | def copy_service_logs(self, test_status): method mark_for_collect (line 166) | def mark_for_collect(self, service, log_name=None): method mark_no_collect (line 174) | def mark_no_collect(self, service, log_name=None): method should_collect_log (line 177) | def should_collect_log(self, log_name, service): function _compress_cmd (line 184) | def _compress_cmd(log_path): function in_dir (line 195) | def in_dir(path): function in_temp_dir (line 208) | def in_temp_dir(): function _new_temp_dir (line 216) | def _new_temp_dir(): FILE: ducktape/tests/test_context.py function _escape_pathname (line 36) | def _escape_pathname(s): class TestLoggerMaker (line 50) | class TestLoggerMaker(LoggerMaker): method __init__ (line 51) | def __init__(self, logger_name, log_dir, debug): method configure_logger (line 56) | def configure_logger(self): function test_logger (line 91) | def test_logger(logger_name, log_dir, debug): class TestContext (line 100) | class TestContext(object): method __init__ (line 103) | def __init__(self, **kwargs) -> None: method __repr__ (line 142) | def __repr__(self) -> str: method copy (line 149) | def copy(self, **kwargs) -> "TestContext": method local_scratch_dir (line 159) | def local_scratch_dir(self): method test_metadata (line 166) | def test_metadata(self): method logger_name (line 176) | def logger_name(test_context, test_index): method results_dir (line 183) | def results_dir(test_context, test_index): method expected_num_nodes (line 198) | def expected_num_nodes(self) -> int: method expected_cluster_spec (line 208) | def expected_cluster_spec(self) -> Optional[ClusterSpec]: method globals (line 230) | def globals(self): method module_name (line 234) | def module_name(self) -> str: method cls_name (line 238) | def cls_name(self) -> str: method function_name (line 242) | def function_name(self) -> str: method description (line 246) | def description(self): method injected_args_name (line 258) | def injected_args_name(self) -> str: method test_id (line 266) | def test_id(self) -> str: method test_name (line 270) | def test_name(self) -> str: method logger (line 285) | def logger(self): method close (line 294) | def close(self): FILE: ducktape/utils/http_utils.py class HttpMixin (line 18) | class HttpMixin(object): method http_request (line 19) | def http_request(self, url, method, data="", headers=None, timeout=None): FILE: ducktape/utils/local_filesystem_utils.py function mkdir_p (line 19) | def mkdir_p(path: str) -> None: FILE: ducktape/utils/persistence.py function not_implemented_method (line 27) | def not_implemented_method(*args, **kwargs): class PDict (line 31) | class PDict(dict): method _as_transient (line 43) | def _as_transient(self): method copy (line 46) | def copy(self): method without (line 49) | def without(self, *keys): method using (line 55) | def using(self, **kwargs): method __reduce__ (line 60) | def __reduce__(self): FILE: ducktape/utils/terminal_size.py function get_terminal_size (line 26) | def get_terminal_size(): function _get_terminal_size_windows (line 47) | def _get_terminal_size_windows(): function _get_terminal_size_tput (line 78) | def _get_terminal_size_tput(): function _get_terminal_size_linux (line 89) | def _get_terminal_size_linux(): FILE: ducktape/utils/util.py function wait_until (line 23) | def wait_until(condition, timeout_sec, backoff_sec=0.1, err_msg="", retr... function package_is_installed (line 62) | def package_is_installed(package_name): function ducktape_version (line 71) | def ducktape_version(): function load_function (line 76) | def load_function(func_module_path) -> Callable: FILE: setup.py class PyTest (line 14) | class PyTest(TestCommand): method initialize_options (line 17) | def initialize_options(self): method finalize_options (line 21) | def finalize_options(self): method run_tests (line 26) | def run_tests(self): FILE: systests/cluster/test_debug.py class FailingTest (line 15) | class FailingTest(Test): method setup (line 20) | def setup(self): method matrix_test (line 28) | def matrix_test(self, string_param, int_param): method parametrized_test (line 34) | def parametrized_test(self, string_param, int_param): method failing_test (line 38) | def failing_test(self): method successful_test (line 42) | def successful_test(self): class DebugThisTest (line 46) | class DebugThisTest(Test): method one_node_test_sleep_90s (line 48) | def one_node_test_sleep_90s(self): method one_node_test_sleep_30s (line 55) | def one_node_test_sleep_30s(self): method another_one_node_test_sleep_30s (line 62) | def another_one_node_test_sleep_30s(self): method two_node_test (line 69) | def two_node_test(self): method another_two_node_test (line 74) | def another_two_node_test(self): method a_two_node_ignored_test (line 80) | def a_two_node_ignored_test(self): method yet_another_two_node_test (line 84) | def yet_another_two_node_test(self): method three_node_test (line 89) | def three_node_test(self): method three_node_test_sleeping_30s (line 94) | def three_node_test_sleeping_30s(self): method another_three_node_test (line 101) | def another_three_node_test(self): method bad_alloc_test (line 106) | def bad_alloc_test(self): FILE: systests/cluster/test_no_cluster.py class NoClusterTest (line 5) | class NoClusterTest(Test): method test_zero_nodes (line 9) | def test_zero_nodes(self): FILE: systests/cluster/test_remote_account.py function generate_tempdir_name (line 35) | def generate_tempdir_name(): class RemoteAccountTestService (line 42) | class RemoteAccountTestService(Service): method __init__ (line 45) | def __init__(self, context): method log_file (line 57) | def log_file(self): method start_node (line 60) | def start_node(self, node): method stop_node (line 64) | def stop_node(self, node): method clean_node (line 67) | def clean_node(self, node): method write_to_log (line 70) | def write_to_log(self, msg): class GenericService (line 74) | class GenericService(Service): method __init__ (line 77) | def __init__(self, context, num_nodes): method stop_node (line 83) | def stop_node(self, node): method clean_node (line 87) | def clean_node(self, node): class UnderUtilizedTest (line 91) | class UnderUtilizedTest(Test): method setup (line 92) | def setup(self): method under_utilized_test (line 96) | def under_utilized_test(self): class FileSystemTest (line 111) | class FileSystemTest(Test): method setup (line 116) | def setup(self): method create_file_test (line 122) | def create_file_test(self): method mkdir_test (line 137) | def mkdir_test(self): method mkdirs_nested_test (line 152) | def mkdirs_nested_test(self): method open_test (line 162) | def open_test(self): method exists_file_test (line 185) | def exists_file_test(self): method exists_dir_test (line 202) | def exists_dir_test(self): method remove_test (line 217) | def remove_test(self): function make_dir_structure (line 253) | def make_dir_structure(base_dir, dir_structure, node=None): function verify_dir_structure (line 285) | def verify_dir_structure(base_dir, dir_structure, node=None): class CopyToAndFroTest (line 315) | class CopyToAndFroTest(Test): method setup (line 318) | def setup(self): method test_copy_to_dir_with_rename (line 329) | def test_copy_to_dir_with_rename(self): method test_copy_to_dir_as_subtree (line 339) | def test_copy_to_dir_as_subtree(self): method test_copy_from_dir_with_rename (line 350) | def test_copy_from_dir_with_rename(self): method test_copy_from_dir_as_subtree (line 360) | def test_copy_from_dir_as_subtree(self): method teardown (line 367) | def teardown(self): class CopyDirectTest (line 373) | class CopyDirectTest(Test): method setup (line 374) | def setup(self): method test_copy_file (line 383) | def test_copy_file(self): method test_copy_directory (line 400) | def test_copy_directory(self): class TestClusterSpec (line 412) | class TestClusterSpec(Test): method test_create_two_node_service (line 414) | def test_create_two_node_service(self): method three_nodes_test (line 428) | def three_nodes_test(self): class RemoteAccountTest (line 434) | class RemoteAccountTest(Test): method __init__ (line 435) | def __init__(self, test_context): method setup (line 439) | def setup(self): method test_flaky (line 443) | def test_flaky(self): method test_ssh_capture_combine_stderr (line 457) | def test_ssh_capture_combine_stderr(self): method test_ssh_output_combine_stderr (line 473) | def test_ssh_output_combine_stderr(self): method test_ssh_capture (line 487) | def test_ssh_capture(self): method test_ssh_output (line 497) | def test_ssh_output(self): method test_monitor_log (line 506) | def test_monitor_log(self): method test_monitor_log_exception (line 536) | def test_monitor_log_exception(self): method test_kill_process (line 556) | def test_kill_process(self): class TestIterWrapper (line 586) | class TestIterWrapper(Test): method setup (line 587) | def setup(self): method test_iter_wrapper (line 601) | def test_iter_wrapper(self): method test_iter_wrapper_timeout (line 612) | def test_iter_wrapper_timeout(self): method teardown (line 631) | def teardown(self): class RemoteAccountCompressedTest (line 639) | class RemoteAccountCompressedTest(Test): method __init__ (line 640) | def __init__(self, test_context): method setup (line 647) | def setup(self): method test_log_compression_with_non_existent_files (line 651) | def test_log_compression_with_non_existent_files(self): class CompressionErrorFilter (line 664) | class CompressionErrorFilter(logging.Filter): method __init__ (line 665) | def __init__(self, test): method filter (line 669) | def filter(self, record): FILE: systests/cluster/test_runner_operations.py class SimpleEchoService (line 20) | class SimpleEchoService(Service): method __init__ (line 27) | def __init__(self, context): method echo (line 31) | def echo(self): class SimpleRunnerTest (line 36) | class SimpleRunnerTest(Test): method setup (line 37) | def setup(self): method timeout_test (line 41) | def timeout_test(self): method quick1_test (line 52) | def quick1_test(self): method quick2_test (line 63) | def quick2_test(self): FILE: tests/cluster/check_cluster.py class CheckCluster (line 26) | class CheckCluster(object): method setup_method (line 27) | def setup_method(self, _): method spec (line 35) | def spec(self, linux_nodes, windows_nodes): method check_enough_capacity (line 43) | def check_enough_capacity(self): method check_not_enough_capacity (line 47) | def check_not_enough_capacity(self): FILE: tests/cluster/check_cluster_spec.py class CheckClusterSpec (line 19) | class CheckClusterSpec(object): method check_cluster_spec_sizes (line 20) | def check_cluster_spec_sizes(self): method check_to_string (line 25) | def check_to_string(self): method check_simple_linux_with_node_type (line 31) | def check_simple_linux_with_node_type(self): method check_simple_linux_without_node_type (line 39) | def check_simple_linux_without_node_type(self): method check_grouped_by_os_and_type_empty (line 47) | def check_grouped_by_os_and_type_empty(self): method check_grouped_by_os_and_type_single_type (line 53) | def check_grouped_by_os_and_type_single_type(self): method check_grouped_by_os_and_type_mixed (line 59) | def check_grouped_by_os_and_type_mixed(self): FILE: tests/cluster/check_finite_subcluster.py class MockFiniteSubclusterNode (line 26) | class MockFiniteSubclusterNode: method operating_system (line 28) | def operating_system(self): class CheckFiniteSubcluster (line 32) | class CheckFiniteSubcluster(object): method check_cluster_size (line 35) | def check_cluster_size(self): method check_pickleable (line 43) | def check_pickleable(self): method check_allocate_free (line 47) | def check_allocate_free(self): method check_alloc_too_many (line 69) | def check_alloc_too_many(self): method check_free_too_many (line 75) | def check_free_too_many(self): FILE: tests/cluster/check_json.py function create_json_cluster (line 23) | def create_json_cluster(*args, **kwargs): class CheckJsonCluster (line 27) | class CheckJsonCluster(object): method check_invalid_json (line 30) | def check_invalid_json(self): method cluster_hostnames (line 40) | def cluster_hostnames(nodes): method check_cluster_size (line 43) | def check_cluster_size(self): method check_pickleable (line 52) | def check_pickleable(self): method check_allocate_free (line 65) | def check_allocate_free(self): method check_parsing (line 97) | def check_parsing(self): method check_exhausts_supply (line 126) | def check_exhausts_supply(self): method check_node_names (line 131) | def check_node_names(self): FILE: tests/cluster/check_localhost.py class CheckLocalhostCluster (line 21) | class CheckLocalhostCluster(object): method setup_method (line 22) | def setup_method(self, _): method check_size (line 25) | def check_size(self): method check_pickleable (line 28) | def check_pickleable(self): method check_request_free (line 32) | def check_request_free(self): FILE: tests/cluster/check_node_container.py function fake_account (line 32) | def fake_account(host, is_available=True, node_type=None): function fake_win_account (line 38) | def fake_win_account(host, is_available=True, node_type=None): function count_nodes_by_os (line 44) | def count_nodes_by_os(container, target_os): class CheckNodeContainer (line 53) | class CheckNodeContainer(object): method check_sizes (line 54) | def check_sizes(self): method check_add_and_remove (line 63) | def check_add_and_remove(self): method check_remove_single_node_spec (line 88) | def check_remove_single_node_spec(self): method check_not_enough_nodes_to_remove (line 153) | def check_not_enough_nodes_to_remove(self, cluster_spec): method check_not_enough_healthy_nodes (line 204) | def check_not_enough_healthy_nodes(self, accounts): method check_enough_healthy_but_some_bad_nodes_too (line 279) | def check_enough_healthy_but_some_bad_nodes_too(self, accounts): method check_empty_cluster_spec (line 318) | def check_empty_cluster_spec(self): method check_none_cluster_spec (line 328) | def check_none_cluster_spec(self): method check_node_groups_by_type (line 339) | def check_node_groups_by_type(self): method check_remove_spec_with_node_type (line 362) | def check_remove_spec_with_node_type(self): method check_remove_spec_with_node_type_not_available (line 383) | def check_remove_spec_with_node_type_not_available(self): method check_remove_spec_node_type_none_matches_any (line 397) | def check_remove_spec_node_type_none_matches_any(self): method check_remove_spec_mixed_node_types (line 413) | def check_remove_spec_mixed_node_types(self): method check_mixed_typed_and_untyped_double_counting_rejected (line 441) | def check_mixed_typed_and_untyped_double_counting_rejected(self): method check_mixed_typed_and_untyped_valid_passes (line 476) | def check_mixed_typed_and_untyped_valid_passes(self): method check_specific_type_shortage_detected (line 507) | def check_specific_type_shortage_detected(self): method check_holistic_os_capacity_check (line 536) | def check_holistic_os_capacity_check(self): method check_multi_os_mixed_requirements (line 563) | def check_multi_os_mixed_requirements(self): method check_only_any_type_requirements (line 594) | def check_only_any_type_requirements(self): method check_allocation_order_specific_before_any (line 629) | def check_allocation_order_specific_before_any(self): method check_allocation_order_with_multiple_specific_types (line 666) | def check_allocation_order_with_multiple_specific_types(self): FILE: tests/cluster/check_remoteaccount.py class DummyException (line 30) | class DummyException(Exception): function raise_error_checker (line 34) | def raise_error_checker(error, remote_account): function raise_no_error_checker (line 38) | def raise_no_error_checker(error, remote_account): class SimpleServer (line 42) | class SimpleServer(object): method __init__ (line 45) | def __init__(self): method start (line 52) | def start(self, delay_sec=0.0): method stop (line 65) | def stop(self): class CheckRemoteAccount (line 75) | class CheckRemoteAccount(object): method setup (line 76) | def setup(self): method check_wait_for_http (line 80) | def check_wait_for_http(self): method check_wait_for_http_timeout (line 85) | def check_wait_for_http_timeout(self): method check_ssh_checker (line 110) | def check_ssh_checker(self, checkers): method teardown (line 125) | def teardown(self): class CheckRemoteAccountEquality (line 129) | class CheckRemoteAccountEquality(object): method check_remote_account_equality (line 130) | def check_remote_account_equality(self): FILE: tests/cluster/check_vagrant.py function make_vagrant_cluster (line 51) | def make_vagrant_cluster(*args, **kwargs): class CheckVagrantCluster (line 55) | class CheckVagrantCluster(object): method setup_method (line 56) | def setup_method(self, _): method teardown_method (line 63) | def teardown_method(self, _): method _set_monkeypatch_attr (line 67) | def _set_monkeypatch_attr(self, monkeypatch): method check_pickleable (line 77) | def check_pickleable(self, monkeypatch): method check_one_host_parsing (line 82) | def check_one_host_parsing(self, monkeypatch): method check_cluster_file_write (line 101) | def check_cluster_file_write(self, monkeypatch): method check_cluster_file_read (line 132) | def check_cluster_file_read(self, monkeypatch): method check_no_valid_network_devices (line 196) | def check_no_valid_network_devices(self, monkeypatch): FILE: tests/command_line/check_main.py class CheckSetupResultsDirectory (line 27) | class CheckSetupResultsDirectory(object): method setup_method (line 28) | def setup_method(self, _): method validate_directories (line 33) | def validate_directories(self): method check_creation (line 42) | def check_creation(self): method check_symlink (line 49) | def check_symlink(self): class CheckUserDefinedGlobals (line 92) | class CheckUserDefinedGlobals(object): method check_immutable (line 95) | def check_immutable(self): method check_pickleable (line 105) | def check_pickleable(self): method check_parseable_json_string (line 112) | def check_parseable_json_string(self): method check_unparseable (line 117) | def check_unparseable(self): method check_parse_from_file (line 122) | def check_parse_from_file(self): method check_bad_parse_from_file (line 135) | def check_bad_parse_from_file(self): method check_non_dict (line 149) | def check_non_dict(self): method check_non_dict_from_file (line 158) | def check_non_dict_from_file(self): FILE: tests/command_line/check_parse_args.py class Capturing (line 26) | class Capturing(object): method __enter__ (line 34) | def __enter__(self): method __exit__ (line 39) | def __exit__(self, *args): class CheckParseArgs (line 44) | class CheckParseArgs(object): method check_empty_args (line 45) | def check_empty_args(self): method check_version (line 54) | def check_version(self): method check_empty_test_path (line 63) | def check_empty_test_path(self): method check_multiple_test_paths (line 71) | def check_multiple_test_paths(self): method check_multiple_exclude (line 83) | def check_multiple_exclude(self): method check_config_overrides (line 89) | def check_config_overrides(self, monkeypatch): method check_config_file_option (line 132) | def check_config_file_option(self): method check_config_overrides_for_n_args (line 148) | def check_config_overrides_for_n_args(self, monkeypatch): FILE: tests/ducktape_mock.py function mock_cluster (line 32) | def mock_cluster(): class FakeClusterNode (line 40) | class FakeClusterNode(object): method operating_system (line 42) | def operating_system(self): class FakeCluster (line 46) | class FakeCluster(Cluster): method __init__ (line 49) | def __init__(self, num_nodes): method do_alloc (line 56) | def do_alloc(self, cluster_spec): method free_single (line 61) | def free_single(self, node): method available (line 65) | def available(self): method used (line 68) | def used(self): function session_context (line 72) | def session_context(**kwargs): class TestMockTest (line 84) | class TestMockTest(Test): method mock_test (line 85) | def mock_test(self): function test_context (line 89) | def test_context(session_context=session_context(), cluster=mock_cluster... class MockNode (line 101) | class MockNode(object): method __init__ (line 104) | def __init__(self): class MockAccount (line 108) | class MockAccount(LinuxRemoteAccount): method __init__ (line 111) | def __init__(self, **kwargs): class MockSender (line 117) | class MockSender(MagicMock): method __init__ (line 120) | def __init__(self, *args, **kwargs): method send (line 124) | def send(self, *args, **kwargs): FILE: tests/loader/check_loader.py class LocalFileAdapter (line 31) | class LocalFileAdapter(requests.adapters.HTTPAdapter): method build_response_from_file (line 32) | def build_response_from_file(self, request): method send (line 42) | def send(self, request, stream=False, timeout=None, verify=True, cert=... function resources_dir (line 46) | def resources_dir(): function discover_dir (line 50) | def discover_dir(): function sub_dir_a (line 55) | def sub_dir_a(): function num_tests_in_file (line 59) | def num_tests_in_file(fpath): function num_tests_in_dir (line 73) | def num_tests_in_dir(dpath): function invalid_test_suites (line 88) | def invalid_test_suites(): class CheckTestLoader (line 100) | class CheckTestLoader(object): method setup_method (line 101) | def setup_method(self, method): method check_test_loader_raises_on_invalid_test_suite (line 108) | def check_test_loader_raises_on_invalid_test_suite(self, suite_file_pa... method check_test_loader_with_test_suites_and_files (line 237) | def check_test_loader_with_test_suites_and_files(self, expected_count,... method check_test_loader_with_directory (line 248) | def check_test_loader_with_directory(self): method check_test_loader_with_file (line 261) | def check_test_loader_with_file(self, dir_, file_name): method check_test_loader_with_glob (line 269) | def check_test_loader_with_glob(self): method check_test_loader_multiple_files (line 275) | def check_test_loader_multiple_files(self): method check_test_loader_include_dir_exclude_file (line 283) | def check_test_loader_include_dir_exclude_file(self): method check_test_loader_exclude_subdir (line 291) | def check_test_loader_exclude_subdir(self): method check_test_loader_exclude_subdir_glob (line 298) | def check_test_loader_exclude_subdir_glob(self): method check_test_loader_raises_when_nothing_is_included (line 306) | def check_test_loader_raises_when_nothing_is_included(self): method check_test_loader_raises_on_include_subdir_exclude_parent_dir (line 313) | def check_test_loader_raises_on_include_subdir_exclude_parent_dir(self): method check_test_loader_with_nonexistent_file (line 318) | def check_test_loader_with_nonexistent_file(self): method check_test_loader_include_dir_without_tests (line 324) | def check_test_loader_include_dir_without_tests(self): method check_test_loader_include_file_without_tests (line 329) | def check_test_loader_include_file_without_tests(self): method check_test_loader_allow_exclude_dir_without_tests (line 334) | def check_test_loader_allow_exclude_dir_without_tests(self): method check_test_loader_allow_exclude_file_without_tests (line 339) | def check_test_loader_allow_exclude_file_without_tests(self): method check_test_loader_allow_exclude_nonexistent_file (line 347) | def check_test_loader_allow_exclude_nonexistent_file(self): method check_test_loader_with_class (line 355) | def check_test_loader_with_class(self): method check_test_loader_include_dir_exclude_class (line 365) | def check_test_loader_include_dir_exclude_class(self): method check_test_loader_include_class_exclude_method (line 372) | def check_test_loader_include_class_exclude_method(self): method check_test_loader_include_dir_exclude_method (line 380) | def check_test_loader_include_dir_exclude_method(self): method check_test_loader_with_matrix_params (line 387) | def check_test_loader_with_matrix_params(self): method check_test_loader_with_params_special_chars (line 401) | def check_test_loader_with_params_special_chars(self): method check_test_loader_with_multiple_matrix_params (line 419) | def check_test_loader_with_multiple_matrix_params(self): method check_test_loader_with_parametrize (line 436) | def check_test_loader_with_parametrize(self): method check_test_loader_with_parametrize_with_objects (line 448) | def check_test_loader_with_parametrize_with_objects(self): method check_test_loader_with_injected_args (line 461) | def check_test_loader_with_injected_args(self): method check_test_loader_raises_with_both_injected_args_and_parameters (line 480) | def check_test_loader_raises_with_both_injected_args_and_parameters(se... method check_test_loader_raises_on_params_not_found (line 495) | def check_test_loader_raises_on_params_not_found(self): method check_test_loader_raises_on_malformed_test_discovery_symbol (line 518) | def check_test_loader_raises_on_malformed_test_discovery_symbol(self, ... method check_test_loader_exclude_with_injected_args (line 524) | def check_test_loader_exclude_with_injected_args(self): method check_test_loader_exclude_with_params (line 539) | def check_test_loader_exclude_with_params(self): method check_test_loader_exclude_with_params_multiple (line 557) | def check_test_loader_exclude_with_params_multiple(self): method check_test_loader_with_subsets (line 576) | def check_test_loader_with_subsets(self): method check_test_loader_with_invalid_subsets (line 600) | def check_test_loader_with_invalid_subsets(self): method check_test_loader_with_time_based_subsets (line 607) | def check_test_loader_with_time_based_subsets(self): method check_loader_with_non_yml_file (line 639) | def check_loader_with_non_yml_file(self): method check_loader_with_non_suite_yml_file (line 648) | def check_loader_with_non_suite_yml_file(self): method check_test_loader_with_absolute_path (line 660) | def check_test_loader_with_absolute_path(self): function join_parsed_symbol_components (line 686) | def join_parsed_symbol_components(parsed): function normalize_ending_slash (line 711) | def normalize_ending_slash(dirname): class CheckParseSymbol (line 717) | class CheckParseSymbol(object): method check_parse_discovery_symbol (line 718) | def check_parse_discovery_symbol(self): FILE: tests/loader/resources/loader_test_directory/name_does_not_match_pattern.py class TestNotLoaded (line 4) | class TestNotLoaded(Test): method test_a (line 7) | def test_a(self): FILE: tests/loader/resources/loader_test_directory/sub_dir_a/test_c.py class TestC (line 20) | class TestC(Test): method test (line 23) | def test(self): class TestInvisible (line 27) | class TestInvisible(object): method test_invisible (line 30) | def test_invisible(self): FILE: tests/loader/resources/loader_test_directory/sub_dir_a/test_d.py class TestD (line 20) | class TestD(Test): method test_d (line 23) | def test_d(self): method test_dd (line 26) | def test_dd(self): method ddd_test (line 29) | def ddd_test(self): class TestInvisible (line 33) | class TestInvisible(object): method test_invisible (line 36) | def test_invisible(self): FILE: tests/loader/resources/loader_test_directory/sub_dir_no_tests/just_some_file.py class JustSomeClass (line 1) | class JustSomeClass(object): FILE: tests/loader/resources/loader_test_directory/test_a.py class TestA (line 20) | class TestA(Test): method test_a (line 23) | def test_a(self): class TestInvisible (line 27) | class TestInvisible(object): method test_invisible (line 30) | def test_invisible(self): FILE: tests/loader/resources/loader_test_directory/test_b.py class TestB (line 20) | class TestB(Test): method test_b (line 23) | def test_b(self): class TestBB (line 27) | class TestBB(Test): method test_bb_one (line 32) | def test_bb_one(self): method bb_two_test (line 35) | def bb_two_test(self): method other_method (line 38) | def other_method(self): class TestInvisible (line 42) | class TestInvisible(object): method test_invisible (line 45) | def test_invisible(self): FILE: tests/loader/resources/loader_test_directory/test_decorated.py class TestMatrix (line 22) | class TestMatrix(Test): method test_thing (line 26) | def test_thing(self, x, y): class TestStackedMatrix (line 30) | class TestStackedMatrix(Test): method test_thing (line 34) | def test_thing(self, x, y): class TestParametrized (line 38) | class TestParametrized(Test): method test_single_decorator (line 40) | def test_single_decorator(self, x=1, y="hi"): method test_thing (line 46) | def test_thing(self, x, y): class TestParametrizdeSpecial (line 51) | class TestParametrizdeSpecial(Test): method test_special_characters_params (line 53) | def test_special_characters_params(self, version, chars): class TestObjectParameters (line 58) | class TestObjectParameters(Test): method test_thing (line 61) | def test_thing(self, d, lst): FILE: tests/logger/check_logger.py class DummyFileLoggerMaker (line 24) | class DummyFileLoggerMaker(LoggerMaker): method __init__ (line 25) | def __init__(self, log_dir, n_handles): method logger_name (line 31) | def logger_name(self): method configure_logger (line 34) | def configure_logger(self): function open_files (line 40) | def open_files(): class CheckLogger (line 46) | class CheckLogger(object): method setup_method (line 47) | def setup_method(self, _): method check_close_logger (line 50) | def check_close_logger(self): method teardown_method (line 63) | def teardown_method(self, _): FILE: tests/mark/check_cluster_use_metadata.py class CheckClusterUseAnnotation (line 26) | class CheckClusterUseAnnotation(object): method check_basic_usage_arbitrary_metadata (line 27) | def check_basic_usage_arbitrary_metadata(self): method check_basic_usage_cluster_spec (line 40) | def check_basic_usage_cluster_spec(self): method check_basic_usage_num_nodes (line 56) | def check_basic_usage_num_nodes(self): method check_empty_cluster_annotation (line 71) | def check_empty_cluster_annotation(self, fail_greedy_tests, has_annota... method check_zero_nodes_annotation (line 99) | def check_zero_nodes_annotation(self, fail_greedy_tests): method check_with_parametrize (line 115) | def check_with_parametrize(self): method check_beneath_parametrize (line 127) | def check_beneath_parametrize(self): method check_with_nodes_default_parametrize_matrix (line 145) | def check_with_nodes_default_parametrize_matrix(self): method check_no_override (line 174) | def check_no_override(self): method check_parametrized_with_multiple_cluster_annotations (line 192) | def check_parametrized_with_multiple_cluster_annotations(self): method check_matrix_with_multiple_cluster_annotations (line 211) | def check_matrix_with_multiple_cluster_annotations(self): method check_with_ignore (line 233) | def check_with_ignore(self): FILE: tests/mark/check_env.py class CheckEnv (line 21) | class CheckEnv(object): method check_does_not_raise_exception_when_key_not_exists (line 22) | def check_does_not_raise_exception_when_key_not_exists(self): method check_has_env_annotation (line 28) | def check_has_env_annotation(self): method check_is_ignored_if_env_not_correct (line 36) | def check_is_ignored_if_env_not_correct(self): method check_is_not_ignore_if_correct_env (line 45) | def check_is_not_ignore_if_correct_env(self): FILE: tests/mark/check_ignore.py class CheckIgnore (line 21) | class CheckIgnore(object): method check_simple (line 22) | def check_simple(self): method check_simple_method (line 32) | def check_simple_method(self): method check_ignore_all (line 43) | def check_ignore_all(self): method check_ignore_all_method (line 58) | def check_ignore_all_method(self): method check_ignore_specific (line 77) | def check_ignore_specific(self): method check_ignore_specific_method (line 95) | def check_ignore_specific_method(self): method check_invalid_specific_ignore (line 114) | def check_invalid_specific_ignore(self): method check_invalid_ignore_all (line 132) | def check_invalid_ignore_all(self): FILE: tests/mark/check_parametrize.py class CheckParametrize (line 19) | class CheckParametrize(object): method check_simple (line 20) | def check_simple(self): method check_simple_method (line 35) | def check_simple_method(self): method check_stacked (line 50) | def check_stacked(self): method check_stacked_method (line 69) | def check_stacked_method(self): class CheckMatrix (line 91) | class CheckMatrix(object): method check_simple (line 92) | def check_simple(self): method check_simple_method (line 109) | def check_simple_method(self): method check_stacked (line 128) | def check_stacked(self): method check_stacked_method (line 148) | def check_stacked_method(self): class CheckDefaults (line 170) | class CheckDefaults(object): method check_defaults (line 171) | def check_defaults(self): method check_defaults_method (line 199) | def check_defaults_method(self): method check_overlap_param (line 233) | def check_overlap_param(self): method check_overlap_matrix (line 253) | def check_overlap_matrix(self): method check_only_defaults (line 282) | def check_only_defaults(self): FILE: tests/reporter/check_symbol_reporter.py function check_to_symbol_no_args (line 7) | def check_to_symbol_no_args(tmp_path): function check_to_symbol_relative_path (line 19) | def check_to_symbol_relative_path(tmp_path): function check_to_symbol_with_args (line 31) | def check_to_symbol_with_args(): FILE: tests/runner/check_runner.py class CheckRunner (line 54) | class CheckRunner(object): method check_insufficient_cluster_resources (line 55) | def check_insufficient_cluster_resources(self): method _do_expand (line 78) | def _do_expand(self, test_file, test_class, test_methods, cluster=None... method check_simple_run (line 92) | def check_simple_run(self): method check_deflake_run (line 122) | def check_deflake_run(self): method check_runner_report_junit (line 144) | def check_runner_report_junit(self): method check_exit_first (line 191) | def check_exit_first(self): method check_exits_if_failed_to_initialize (line 211) | def check_exits_if_failed_to_initialize(self): method check_sends_result_when_error_reporting_exception (line 245) | def check_sends_result_when_error_reporting_exception(self, exc_msg_mo... method check_run_failure_with_bad_cluster_allocation (line 267) | def check_run_failure_with_bad_cluster_allocation(self): method check_test_failure_with_too_many_nodes_requested (line 291) | def check_test_failure_with_too_many_nodes_requested(self): method check_runner_timeout (line 322) | def check_runner_timeout(self): method check_fail_greedy_tests (line 362) | def check_fail_greedy_tests(self, fail_greedy_tests): method check_cluster_shrink (line 386) | def check_cluster_shrink(self): method check_cluster_shrink_reschedule (line 424) | def check_cluster_shrink_reschedule(self): method check_cluster_shrink_to_zero (line 487) | def check_cluster_shrink_to_zero(self): method check_runner_client_report (line 518) | def check_runner_client_report(self): method check_report_remaining_as_failed (line 547) | def check_report_remaining_as_failed(self): method check_report_active_as_failed (line 576) | def check_report_active_as_failed(self): method check_report_active_as_failed_frees_cluster (line 617) | def check_report_active_as_failed_frees_cluster(self): method check_runner_client_shutdown_flag (line 661) | def check_runner_client_shutdown_flag(self): method check_duplicate_finished_message_handling (line 695) | def check_duplicate_finished_message_handling(self): method check_timeout_exception_join_timeout_param (line 762) | def check_timeout_exception_join_timeout_param(self): class ShrinkingLocalhostCluster (line 791) | class ShrinkingLocalhostCluster(LocalhostCluster): method __init__ (line 792) | def __init__(self, *args, shrink_on=1, **kwargs): method do_alloc (line 799) | def do_alloc(self, cluster_spec): FILE: tests/runner/check_runner_memory.py class InstrumentedTestRunner (line 39) | class InstrumentedTestRunner(TestRunner): method __init__ (line 44) | def __init__(self, *args, **kwargs): method _run_single_test (line 49) | def _run_single_test(self, test_context): class CheckMemoryUsage (line 58) | class CheckMemoryUsage(object): method setup_method (line 59) | def setup_method(self, _): method check_for_inter_test_memory_leak (line 63) | def check_for_inter_test_memory_leak(self): method validate_memory_measurements (line 100) | def validate_memory_measurements(self, measurements): method _linear_regression_slope (line 129) | def _linear_regression_slope(self, arr): FILE: tests/runner/check_sender_receiver.py class CheckSenderReceiver (line 29) | class CheckSenderReceiver(object): method ready_response (line 30) | def ready_response(self, client_id, port): method check_simple_messaging (line 40) | def check_simple_messaging(self): method check_timeout (line 64) | def check_timeout(self): method check_exponential_backoff (line 83) | def check_exponential_backoff(self): FILE: tests/runner/fake_remote_account.py class FakeRemoteAccount (line 5) | class FakeRemoteAccount(RemoteAccount): method __init__ (line 6) | def __init__(self, *args, is_available=True, **kwargs): method available (line 11) | def available(self): method fetch_externally_routable_ip (line 14) | def fetch_externally_routable_ip(self, *args, **kwargs): class FakeWindowsRemoteAccount (line 18) | class FakeWindowsRemoteAccount(FakeRemoteAccount): method __init__ (line 19) | def __init__(self, *args, **kwargs): function create_fake_remote_account (line 24) | def create_fake_remote_account(*args, **kwargs): FILE: tests/runner/resources/test_bad_actor.py class FakeService (line 6) | class FakeService(Service): class BadActorTest (line 10) | class BadActorTest(Test): method test_too_many_nodes (line 12) | def test_too_many_nodes(self): FILE: tests/runner/resources/test_failing_tests.py class FailingTest (line 24) | class FailingTest(Test): method __init__ (line 25) | def __init__(self, test_context): method test_fail (line 30) | def test_fail(self, x): FILE: tests/runner/resources/test_fails_to_init.py class FailsToInitTest (line 21) | class FailsToInitTest(Test): method __init__ (line 24) | def __init__(self, test_context): method test_nothing (line 30) | def test_nothing(self): FILE: tests/runner/resources/test_fails_to_init_in_setup.py class FailsToInitInSetupTest (line 21) | class FailsToInitInSetupTest(Test): method __init__ (line 24) | def __init__(self, test_context): method setUp (line 27) | def setUp(self): method test_nothing (line 32) | def test_nothing(self): FILE: tests/runner/resources/test_memory_leak.py class MemoryEater (line 24) | class MemoryEater(Service): method __init__ (line 27) | def __init__(self, context): method start_node (line 31) | def start_node(self, node): method stop_node (line 34) | def stop_node(self, node): method clean_node (line 37) | def clean_node(self, node): method num_nodes (line 41) | def num_nodes(self): class MemoryLeakTest (line 45) | class MemoryLeakTest(Test): method __init__ (line 50) | def __init__(self, test_context): method test_leak (line 56) | def test_leak(self, x): FILE: tests/runner/resources/test_thingy.py class TestThingy (line 24) | class TestThingy(Test): method test_pi (line 28) | def test_pi(self): method test_delayed (line 32) | def test_delayed(self): method test_ignore1 (line 37) | def test_ignore1(self): method test_ignore2 (line 43) | def test_ignore2(self, x=2): method test_failure (line 47) | def test_failure(self): method test_flaky (line 51) | def test_flaky(self): class ClusterTestThingy (line 57) | class ClusterTestThingy(Test): method test_bad_num_nodes (line 61) | def test_bad_num_nodes(self): FILE: tests/runner/resources/test_various_num_nodes.py class VariousNumNodesTest (line 7) | class VariousNumNodesTest(Test): method test_five_nodes_a (line 13) | def test_five_nodes_a(self): method test_five_nodes_b (line 17) | def test_five_nodes_b(self): method test_four_nodes (line 21) | def test_four_nodes(self): method test_three_nodes_asleep (line 25) | def test_three_nodes_asleep(self): method test_three_nodes_a (line 30) | def test_three_nodes_a(self): method test_three_nodes_b (line 34) | def test_three_nodes_b(self): method test_two_nodes_a (line 38) | def test_two_nodes_a(self): method test_two_nodes_b (line 42) | def test_two_nodes_b(self): method test_one_node_a (line 46) | def test_one_node_a(self): method test_one_node_b (line 50) | def test_one_node_b(self): method test_no_cluster_annotation (line 53) | def test_no_cluster_annotation(self): method test_empty_cluster_annotation (line 57) | def test_empty_cluster_annotation(self): method test_zero_nodes (line 64) | def test_zero_nodes(self): FILE: tests/scheduler/check_scheduler.py class CheckScheduler (line 26) | class CheckScheduler(object): method setup_method (line 27) | def setup_method(self, _): method check_empty (line 42) | def check_empty(self): method check_non_empty_cluster_too_small (line 49) | def check_non_empty_cluster_too_small(self): method check_simple_usage (line 63) | def check_simple_usage(self): method check_with_changing_cluster_availability (line 79) | def check_with_changing_cluster_availability(self): method check_filter_unschedulable_tests (line 116) | def check_filter_unschedulable_tests(self): method check_drain_remaining_tests (line 126) | def check_drain_remaining_tests(self): method check_drain_remaining_tests_partial (line 148) | def check_drain_remaining_tests_partial(self): FILE: tests/services/check_background_thread_service.py class DummyService (line 23) | class DummyService(BackgroundThreadService): method __init__ (line 26) | def __init__(self, context, run_time_sec, exc=None): method who_am_i (line 32) | def who_am_i(self, node=None): method idx (line 35) | def idx(self, node): method allocate_nodes (line 38) | def allocate_nodes(self): method _worker (line 41) | def _worker(self, idx, node): method stop_node (line 54) | def stop_node(self, node): class CheckBackgroundThreadService (line 58) | class CheckBackgroundThreadService(object): method setup_method (line 59) | def setup_method(self, method): method check_service_constructor (line 62) | def check_service_constructor(self): method check_service_timeout (line 74) | def check_service_timeout(self): method check_no_timeout (line 94) | def check_no_timeout(self): method check_wait_node (line 102) | def check_wait_node(self): method check_wait_node_no_start (line 110) | def check_wait_node_no_start(self): method check_background_exception (line 115) | def check_background_exception(self): FILE: tests/services/check_jvm_logging.py class JavaService (line 23) | class JavaService(Service): method __init__ (line 26) | def __init__(self, context, num_nodes): method idx (line 32) | def idx(self, node): method start_node (line 35) | def start_node(self, node, **kwargs): method clean_node (line 41) | def clean_node(self, node, **kwargs): function create_mock_node (line 46) | def create_mock_node(): class CheckJVMLogging (line 56) | class CheckJVMLogging(object): method setup_method (line 57) | def setup_method(self, _): method check_enable_for_service (line 63) | def check_enable_for_service(self): method check_jvm_options_format (line 82) | def check_jvm_options_format(self): method check_ssh_wrapping (line 97) | def check_ssh_wrapping(self): method check_ssh_methods_inject_options (line 124) | def check_ssh_methods_inject_options(self): method check_preserves_existing_jvm_options (line 175) | def check_preserves_existing_jvm_options(self): method check_ssh_wrap_idempotent (line 214) | def check_ssh_wrap_idempotent(self): method check_clean_node_behavior (line 244) | def check_clean_node_behavior(self): method check_log_paths (line 273) | def check_log_paths(self): method check_kwargs_preserved (line 290) | def check_kwargs_preserved(self): method check_setup_failure_doesnt_break_wrapping (line 304) | def check_setup_failure_doesnt_break_wrapping(self): method check_wrapped_ssh_failure_propagates (line 332) | def check_wrapped_ssh_failure_propagates(self): method check_wrapped_ssh_with_allow_fail (line 369) | def check_wrapped_ssh_with_allow_fail(self): method check_cleanup_failure_still_restores_ssh (line 398) | def check_cleanup_failure_still_restores_ssh(self): method check_double_cleanup_is_safe (line 434) | def check_double_cleanup_is_safe(self): FILE: tests/services/check_service.py class DummyService (line 20) | class DummyService(Service): method __init__ (line 23) | def __init__(self, context, num_nodes): method idx (line 33) | def idx(self, node): method start_node (line 36) | def start_node(self, node, **kwargs): method clean_node (line 41) | def clean_node(self, node, **kwargs): method stop_node (line 46) | def stop_node(self, node, **kwargs): class DifferentDummyService (line 52) | class DifferentDummyService(Service): method __init__ (line 55) | def __init__(self, context, num_nodes): method idx (line 58) | def idx(self, node): class CheckAllocateFree (line 62) | class CheckAllocateFree(object): method setup_method (line 63) | def setup_method(self, _): method check_allocate_free (line 68) | def check_allocate_free(self): method check_order (line 82) | def check_order(self): class CheckStartStop (line 97) | class CheckStartStop(object): method setup_method (line 98) | def setup_method(self, _): method check_start_stop_clean (line 103) | def check_start_stop_clean(self): method check_kwargs_support (line 129) | def check_kwargs_support(self): FILE: tests/templates/service/check_render.py class CheckTemplateRenderingService (line 19) | class CheckTemplateRenderingService(object): method new_instance (line 24) | def new_instance(self): method check_simple (line 27) | def check_simple(self): method check_single_variable (line 30) | def check_single_variable(self): method check_overload (line 33) | def check_overload(self): method check_class_template (line 36) | def check_class_template(self): method check_file_template (line 39) | def check_file_template(self): class TemplateRenderingService (line 43) | class TemplateRenderingService(Service): method __init__ (line 51) | def __init__(self): method render_simple (line 54) | def render_simple(self): method render_single_variable (line 58) | def render_single_variable(self): method render_overload (line 63) | def render_overload(self): method render_class_template (line 67) | def render_class_template(self): method render_file_template (line 72) | def render_file_template(self): FILE: tests/templates/test/check_render.py class CheckTemplateRenderingTest (line 25) | class CheckTemplateRenderingTest(object): method setup (line 30) | def setup(self): method check_string_template (line 36) | def check_string_template(self): method check_file_template (line 42) | def check_file_template(self): class CheckPackageSearchPath (line 48) | class CheckPackageSearchPath(object): method check_package_search_path (line 53) | def check_package_search_path(self): method check_get_ctx (line 64) | def check_get_ctx(self): class TemplateRenderingTest (line 85) | class TemplateRenderingTest(Test): FILE: tests/test_utils.py function find_available_port (line 18) | def find_available_port(min_port=8000, max_port=9000): FILE: tests/tests/check_session.py class CheckGenerateResultsDir (line 24) | class CheckGenerateResultsDir(object): method setup_method (line 25) | def setup_method(self, _): method check_generate_results_root (line 28) | def check_generate_results_root(self): method check_pickleable (line 34) | def check_pickleable(self): method teardown_method (line 49) | def teardown_method(self, _): FILE: tests/tests/check_test.py class DummyTest (line 28) | class DummyTest(Test): method test_class_description (line 31) | def test_class_description(self): method test_function_description (line 34) | def test_function_description(self): class DummyTestNoDescription (line 39) | class DummyTestNoDescription(Test): method test_this (line 40) | def test_this(self): class CheckLifecycle (line 44) | class CheckLifecycle(object): method check_test_context_double_close (line 45) | def check_test_context_double_close(self): method check_cluster_property (line 55) | def check_cluster_property(self): class CheckEscapePathname (line 67) | class CheckEscapePathname(object): method check_illegal_path (line 68) | def check_illegal_path(self): method check_negative (line 72) | def check_negative(self): method check_many_dots (line 77) | def check_many_dots(self): class CheckDescription (line 82) | class CheckDescription(object): method check_from_function (line 85) | def check_from_function(self): method check_from_class (line 94) | def check_from_class(self): method check_no_description (line 103) | def check_no_description(self): class CheckCompressCmd (line 113) | class CheckCompressCmd(object): method setup_method (line 116) | def setup_method(self, _): method _make_random_file (line 119) | def _make_random_file(self, dir, num_chars=10000): method _make_files (line 127) | def _make_files(self, dir, num_files=10): method _validate_compressed (line 132) | def _validate_compressed(self, uncompressed_path): method check_compress_service_logs_swallow_error (line 147) | def check_compress_service_logs_swallow_error(self): method check_abs_path_file (line 178) | def check_abs_path_file(self): method check_relative_path_file (line 191) | def check_relative_path_file(self): method check_abs_path_dir (line 203) | def check_abs_path_dir(self): method check_relative_path_dir (line 217) | def check_relative_path_dir(self): method teardown_method (line 230) | def teardown_method(self, _): FILE: tests/tests/check_test_context.py class CheckTestContext (line 25) | class CheckTestContext(object): method check_copy_constructor (line 26) | def check_copy_constructor(self): class DummyTest (line 50) | class DummyTest(Test): method __init__ (line 51) | def __init__(self, test_context): method test_me (line 57) | def test_me(self): class DummyService (line 61) | class DummyService(Service): method __init__ (line 62) | def __init__(self, context): FILE: tests/utils/check_util.py class CheckUtils (line 21) | class CheckUtils(object): method check_wait_until (line 22) | def check_wait_until(self): method check_wait_until_timeout (line 28) | def check_wait_until_timeout(self): method check_wait_until_timeout_callable_msg (line 40) | def check_wait_until_timeout_callable_msg(self): method check_wait_until_with_exception (line 52) | def check_wait_until_with_exception(self): method check_wait_until_with_exception_on_first_step_only_but_still_fails (line 77) | def check_wait_until_with_exception_on_first_step_only_but_still_fails... method check_wait_until_exception_which_succeeds_eventually (line 99) | def check_wait_until_exception_which_succeeds_eventually(self): method check_wait_until_breaks_early_on_exception (line 116) | def check_wait_until_breaks_early_on_exception(self):