graph#
- static_order(specs: Sequence[ResolvedSpec]) list[ResolvedSpec]#
- static_order_ix(specs: Sequence[ResolvedSpec]) list[int]#
- print_spec(spec: ResolvedSpec, level: int = -1, file: TextIO = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, indent: str = '', style: str = 'none', end: bool = False)#
Given a list of test specs, print a visual tree structure
- print(specs: ~typing.Sequence[ResolvedSpec], style: str = 'none', file: ~typing.TextIO = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>) None#
- reachable_nodes(graph: dict[str, list[str]], roots: Iterable[str]) list[str]#
Return all nodes reachable from any of the given roots
- reachable_up_down(graph_deps: dict[str, list[str]], nodes: Iterable[str]) tuple[set[str], set[str]]#
graph_deps: node -> list of dependencies (A: [B,C,D] means A depends on B,C,D) nodes: starting nodes
- Returns (upstream, downstream):
upstream = all nodes that the start nodes depend on (ancestors) downstream = all nodes that depend on the start nodes (descendants)