Coverage report: 24%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-28 08:44 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
python / lsst / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / base / __init__.py (no function)   100% 17 0 0   100% 0 0   100%
python / lsst / pipe / base / _datasetQueryConstraints.py DatasetQueryConstraintVariant.__subclasshook__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py DatasetQueryConstraintVariant.fromExpression   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _ALLMETA.__iter__   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _datasetQueryConstraints.py _ALL.__new__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _OFFMETA.__iter__   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _datasetQueryConstraints.py _OFF.__new__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LISTMETA.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LISTMETA.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LISTMETA.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py _LIST.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _datasetQueryConstraints.py suppressInit   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _datasetQueryConstraints.py (no function)   98% 44 1 0   50% 2 1   96%
python / lsst / pipe / base / _dataset_handle.py _default_dataId   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _dataset_handle.py InMemoryDatasetHandle.__init__   0% 15 15 0   0% 8 0   0%
python / lsst / pipe / base / _dataset_handle.py InMemoryDatasetHandle.get   0% 45 45 0   0% 28 0   0%
python / lsst / pipe / base / _dataset_handle.py InMemoryDatasetHandle._getStorageClass   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / _dataset_handle.py (no function)   100% 23 0 0   100% 0 0   100%
python / lsst / pipe / base / _instrument.py Instrument.__init__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _instrument.py Instrument.getName   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _instrument.py Instrument.register   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _instrument.py Instrument.fromName   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / _instrument.py Instrument.from_string   0% 13 13 0   0% 4 0   0%
python / lsst / pipe / base / _instrument.py Instrument.from_data_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument._from_cls_name   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / _instrument.py Instrument.importAll   0% 10 10 0   0% 2 0   0%
python / lsst / pipe / base / _instrument.py Instrument.getRawFormatter   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _instrument.py Instrument.applyConfigOverrides   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / _instrument.py Instrument.formatCollectionTimestamp   0% 9 9 0   0% 8 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeCollectionTimestamp   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeDefaultRawIngestRunName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeUnboundedCalibrationRunName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeCuratedCalibrationRunName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeCalibrationCollectionName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeRefCatCollectionName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeUmbrellaCollectionName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.makeCollectionName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument.make_dimension_packer_config_field   100% 1 0 0   100% 0 0   100%
python / lsst / pipe / base / _instrument.py Instrument.make_default_dimension_packer   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument._make_default_dimension_packer_dispatch   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py Instrument._make_default_dimension_packer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _instrument.py (no function)   100% 61 0 2   100% 0 0   100%
python / lsst / pipe / base / _observation_dimension_packer.py ObservationDimensionPacker.__init__   0% 23 23 0   0% 16 0   0%
python / lsst / pipe / base / _observation_dimension_packer.py ObservationDimensionPacker.maxBits   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _observation_dimension_packer.py ObservationDimensionPacker._pack   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / _observation_dimension_packer.py ObservationDimensionPacker.unpack   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / _observation_dimension_packer.py (no function)   100% 18 0 0   100% 0 0   100%
python / lsst / pipe / base / _quantumContext.py ExecutionResources.__init__   0% 19 19 0   0% 10 0   0%
python / lsst / pipe / base / _quantumContext.py ExecutionResources.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py ExecutionResources._reduce_kwargs   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / _quantumContext.py ExecutionResources._unpickle_via_factory   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py ExecutionResources.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext.__init__   0% 17 17 0   0% 12 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext._get   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext._put   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext.get   0% 32 32 0   0% 18 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext.put   0% 22 22 0   0% 24 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext._checkMembership   0% 5 5 0   0% 6 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py QuantumContext.add_additional_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _quantumContext.py (no function)   100% 38 0 0   100% 0 0   100%
python / lsst / pipe / base / _status.py QuantumSuccessCaveats.from_adjust_quantum_no_work   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py QuantumSuccessCaveats.concise   0% 17 17 0   0% 14 0   0%
python / lsst / pipe / base / _status.py QuantumSuccessCaveats.legend   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py ExceptionInfo._from_metadata   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / _status.py ExceptionInfo.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py ExceptionInfo.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _status.py QuantumAttemptStatus.has_metadata   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py QuantumAttemptStatus.has_log   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py QuantumAttemptStatus.title   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py QuantumAttemptStatus.is_rare   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py GetSetDictMetadataHolder.metadata   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _status.py AlgorithmError.__new__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _status.py AlgorithmError.metadata   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / _status.py AnnotatedPartialOutputsError.annotate   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / _status.py (no function)   100% 86 0 17   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py PropertySetLike.paramNames   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / _task_metadata.py PropertySetLike.getArray   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / _task_metadata.py _isListLike   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py SetDictMetadata.set_dict   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / _task_metadata.py GetDictMetadata.get_dict   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / _task_metadata.py _convert_null_to_nan   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.from_dict   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.from_metadata   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.to_dict   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.add   0% 20 20 0   0% 14 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.getScalar   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.getArray   0% 14 14 0   0% 8 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.names   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.paramNames   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata._getKeys   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.keys   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.items   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__getitem__   0% 17 17 0   0% 10 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.get   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__setitem__   0% 17 17 1   0% 6 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__contains__   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.__delitem__   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.get_dict   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.set_dict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata._validate_value   0% 30 30 0   0% 24 0   0%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py TaskMetadata.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / _task_metadata.py (no function)   100% 46 0 15   100% 0 0   100%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder.process_subgraph   0% 13 13 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder._query_for_data_ids   0% 46 46 0   0% 14 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder._make_subgraph_skeleton   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder._find_followup_datasets   0% 82 82 0   0% 52 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py AllDimensionsQuantumGraphBuilder._fetch_most_dimension_records   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupBranch.pprint   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupBranch.project_data_ids   0% 6 6 0   0% 6 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupBranch.update_skeleton_nodes   0% 5 5 0   0% 6 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupBranch.update_skeleton_edges   0% 15 15 0   0% 14 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree.__post_init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree.build   0% 29 29 0   0% 22 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._set_dataset_constraint   0% 16 16 0   0% 10 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_dimension_record_branches   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_edge_branches   0% 12 12 0   0% 8 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_edge_branches.update_edge_branch   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_queryable_branch_tree   0% 4 4 1   0% 4 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._maybe_insert_projection_branch   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_queryable_overlap_branch_generators   0% 10 10 1   0% 8 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._append_data_id_generator   0% 19 19 0   0% 10 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_general_overlap_branch_generator   0% 12 12 0   0% 10 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree._make_join_branch_generator   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree.project_data_ids   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree.generate_data_ids   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py _DimensionGroupTree.pprint   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py get_single_skypix   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py DataIdGenerator.pprint   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py DataIdGenerator.run   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py DatabaseSourceDataIdGenerator.run   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py CrossSystemDataIdGenerator.run   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py SkyPixScatterDataIdGenerator.run   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py SkyPixGatherDataIdGenerator.run   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py JoinDataIdGenerator.run   0% 14 14 0   0% 10 0   0%
python / lsst / pipe / base / all_dimensions_quantum_graph_builder.py (no function)   100% 129 0 2   100% 0 0   100%
python / lsst / pipe / base / automatic_connection_constants.py (no function)   100% 32 0 0   100% 0 0   100%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.close   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler._metrics   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler._metrics   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.get   0% 14 14 0   0% 4 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.getDeferred   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.stored_many   0% 15 15 0   0% 6 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.put   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.pruneDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler._datastore   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py BlockingLimitedButler._datastore   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / blocking_limited_butler.py (no function)   100% 27 0 0   100% 0 0   100%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.close   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler._metrics   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler._metrics   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.get   0% 16 16 0   0% 10 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.getDeferred   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.stored_many   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.put   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.pruneDatasets   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler._datastore   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py CachingLimitedButler._datastore   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / caching_limited_butler.py (no function)   100% 27 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / _get_cli_subcommands.py get_cli_subcommands   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / cli / _get_cli_subcommands.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / cmd / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / cmd / commands.py register_instrument   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py transfer_from_graph   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py zip_from_graph   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py retrieve_artifacts_for_quanta   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py aggregate_graph   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py ingest_graph   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / cli / cmd / commands.py provenance_report   0% 13 13 0   0% 4 0   0%
python / lsst / pipe / base / cli / cmd / commands.py (no function)   100% 83 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / opt / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / opt / arguments.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / base / cli / opt / options.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / config.py TemplateField._validateValue   0% 6 6 0   0% 6 0   0%
python / lsst / pipe / base / config.py TemplateField.__set__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / config.py PipelineTaskConfigMeta.__new__   76% 25 6 0   56% 18 4   67%
python / lsst / pipe / base / config.py PipelineTaskConfigMeta.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / pipe / base / config.py PipelineTaskConfig.applyConfigOverrides   0% 16 16 1   0% 16 0   0%
python / lsst / pipe / base / config.py (no function)   100% 25 0 2   100% 0 0   100%
python / lsst / pipe / base / configOverrides.py _FrozenSimpleNamespace.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py _FrozenSimpleNamespace.__setattr__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_Name   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_List   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_Tuple   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_Constant   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_Dict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_Set   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.visit_UnaryOp   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / configOverrides.py ConfigExpressionParser.generic_visit   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.addParameters   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.addFileOverride   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.addValueOverride   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.addPythonOverride   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.addInstrumentOverride   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides._parser   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / configOverrides.py ConfigOverrides.applyTo   0% 44 44 0   0% 28 0   0%
python / lsst / pipe / base / configOverrides.py (no function)   100% 34 0 2   100% 0 0   100%
python / lsst / pipe / base / connectionTypes.py BaseConnection.__post_init__   25% 4 3 0   50% 2 1   33%
python / lsst / pipe / base / connectionTypes.py BaseConnection.__get__   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / connectionTypes.py DimensionedConnection.__post_init__   60% 5 2 0   50% 4 2   56%
python / lsst / pipe / base / connectionTypes.py BaseInput.__post_init__   67% 3 1 0   50% 2 1   60%
python / lsst / pipe / base / connectionTypes.py (no function)   100% 57 0 0   100% 0 0   100%
python / lsst / pipe / base / connections.py PipelineTaskConnectionDict.__init__   100% 7 0 0   100% 0 0   100%
python / lsst / pipe / base / connections.py PipelineTaskConnectionDict.__setitem__   78% 9 2 0   67% 6 2   73%
python / lsst / pipe / base / connections.py PipelineTaskConnectionsMetaclass.__prepare__   83% 6 1 0   67% 6 2   75%
python / lsst / pipe / base / connections.py PipelineTaskConnectionsMetaclass.__new__   72% 54 15 0   68% 44 8   70%
python / lsst / pipe / base / connections.py PipelineTaskConnectionsMetaclass.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / pipe / base / connections.py PipelineTaskConnectionsMetaclass.__call__   0% 31 31 0   0% 10 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.__setattr__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.__delattr__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantizedConnection.keys   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py DeferredDatasetRef.__getattr__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / connections.py DeferredDatasetRef.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py DeferredDatasetRef.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.__setattr__   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.__delattr__   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.buildDatasetRefs   0% 21 21 0   0% 14 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.adjustQuantum   0% 13 13 0   0% 12 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.getSpatialBoundsConnections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.getTemporalBoundsConnections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py PipelineTaskConnections.adjust_all_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py iterConnections   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / connections.py AdjustQuantumHelper.adjust_in_place   0% 31 31 0   0% 16 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.task_label   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.task_node   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.butler   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.iter_data_ids   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.remove_quantum   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.get_inputs   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.get_prerequisite_inputs   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.get_outputs   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.add_input   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.add_prerequisite_input   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.move_output   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.expand_quantum_data_id   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / connections.py QuantaAdjuster.n_removed   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / connections.py (no function)   100% 111 0 4   100% 0 0   100%
python / lsst / pipe / base / dot_tools.py graph2dot   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / dot_tools.py pipeline2dot   0% 14 14 0   0% 8 0   0%
python / lsst / pipe / base / dot_tools.py (no function)   100% 7 0 4   100% 0 0   100%
python / lsst / pipe / base / exec_fixup_data_id.py ExecFixupDataId.__init__   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / exec_fixup_data_id.py ExecFixupDataId.fixupQuanta   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / exec_fixup_data_id.py ExecFixupDataId.fixup_graph   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / exec_fixup_data_id.py (no function)   100% 13 0 0   100% 0 0   100%
python / lsst / pipe / base / execution_graph_fixup.py ExecutionGraphFixup.fixupQuanta   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / execution_graph_fixup.py ExecutionGraphFixup.fixup_graph   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / execution_graph_fixup.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / pipe / base / execution_reports.py DatasetTypeExecutionReport.to_summary_dict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py TaskExecutionReport.inspect_quantum   0% 27 27 0   0% 16 0   0%
python / lsst / pipe / base / execution_reports.py TaskExecutionReport.to_summary_dict   0% 25 25 0   0% 10 0   0%
python / lsst / pipe / base / execution_reports.py TaskExecutionReport.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py QuantumGraphExecutionReport.to_summary_dict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py QuantumGraphExecutionReport.write_summary_yaml   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py QuantumGraphExecutionReport.make_reports   0% 28 28 0   0% 20 0   0%
python / lsst / pipe / base / execution_reports.py QuantumGraphExecutionReport.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py lookup_quantum_data_id   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / execution_reports.py (no function)   100% 51 0 0   100% 0 0   100%
python / lsst / pipe / base / formatters / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / pipe / base / formatters / pexConfig.py PexConfigFormatter.read_from_stream   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / formatters / pexConfig.py PexConfigFormatter.write_local_file   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / formatters / pexConfig.py (no function)   0% 11 11 0   100% 0 0   0%
python / lsst / pipe / base / graph / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.addProducer   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.addConsumer   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.getConsumers   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.getProducer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.getAll   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.inverse   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.makeNetworkXGraph   0% 12 12 0   0% 10 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.keys   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py _DatasetTracker.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _implDetails.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper.__post_init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper._initialize   0% 13 13 0   100% 0 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper._validateSave   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper.load   0% 17 17 0   0% 10 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper._readBytes   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper.__enter__   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper.__exit__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py LoadHelper.readHeader   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / _loadHelpers.py (no function)   100% 28 0 3   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py StructSizeDescriptor.__get__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.FMT_STRING   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.__init_subclass__   100% 2 0 0   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.unpackHeader   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.headerSize   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.readHeaderInfo   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.constructGraph   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerBase.description   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.FMT_STRING   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.headerSize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.readHeaderInfo   0% 7 7 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.unpackHeader   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.constructGraph   0% 24 24 0   0% 4 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV1.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.FMT_STRING   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.headerSize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.readHeaderInfo   0% 11 11 0   0% 2 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.unpackHeader   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.constructGraph   0% 24 24 0   0% 4 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV2.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.FMT_STRING   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.__post_init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.headerSize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.readHeaderInfo   0% 23 23 0   0% 8 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.unpackHeader   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py DeserializerV3.constructGraph   0% 70 70 0   0% 26 0   0%
python / lsst / pipe / base / graph / _versionDeserializers.py (no function)   100% 75 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph._buildGraphs   0% 67 67 0   0% 38 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.pipeline_graph   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.get_task_quanta   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.taskGraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.graph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.inputQuanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.outputQuanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.allDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.isConnected   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.getQuantumNodeByNodeId   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.getQuantaForTask   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.getNumberOfQuantaForTask   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.getNodesForTask   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findTasksWithInput   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findTaskWithOutput   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.tasksWithDSType   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findTaskDefByName   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findTaskDefByLabel   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findQuantaWithDSType   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.checkQuantumInGraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.writeDotGraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.subset   0% 17 17 0   0% 8 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.subsetToConnected   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.determineInputsToQuantumNode   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.determineOutputsOfQuantumNode   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.determineConnectionsOfQuantumNode   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.determineAncestorsOfQuantumNode   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.findCycle   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.saveUri   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.metadata   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.get_init_input_refs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.get_init_output_refs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.initInputRefs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.initOutputRefs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.globalInitOutputRefs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.registryDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.loadUri   0% 16 16 0   0% 6 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.readHeader   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.buildAndPrintHeader   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.save   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph._buildSaveObject   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph._buildSaveObjectImpl   0% 66 66 0   0% 26 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.load   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.iterTaskGraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.updateRun   0% 21 21 0   0% 8 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.updateRun._update_output_refs   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.updateRun._update_intermediate_refs   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.graphID   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.universe   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__getstate__   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__setstate__   0% 13 13 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.__eq__   0% 14 14 0   0% 14 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.getSummary   0% 12 12 0   0% 8 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.make_init_qbb   0% 17 17 0   0% 8 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.write_init_outputs   0% 16 16 0   0% 12 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.write_configs   0% 16 16 0   0% 10 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.write_packages   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.init_output_run   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.get_refs   0% 61 61 0   0% 44 0   0%
python / lsst / pipe / base / graph / graph.py QuantumGraph.get_refs._update_ref   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / graph / graph.py (no function)   100% 120 0 0   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphTaskSummary.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py QgraphSummary.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / graph / graphSummary.py (no function)   100% 30 0 30   100% 0 0   100%
python / lsst / pipe / base / graph / quantumNode.py _hashDsRef   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.task_node   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.__post_init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.__eq__   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.to_simple   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode.from_simple   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py QuantumNode._replace_quantum   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / graph / quantumNode.py SerializedQuantumNode.direct   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / graph / quantumNode.py (no function)   100% 43 0 0   100% 0 0   100%
python / lsst / pipe / base / graph_walker.py GraphWalker.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / graph_walker.py GraphWalker.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / graph_walker.py GraphWalker.__next__   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / graph_walker.py GraphWalker.finish   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / graph_walker.py GraphWalker.fail   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / graph_walker.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / pipe / base / log_capture.py _ExecutionLogRecordsExtra.attach_previous_attempt   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / log_capture.py LogCapture.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / log_capture.py LogCapture.from_limited   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / log_capture.py LogCapture.from_full   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / log_capture.py LogCapture.capture_logging   0% 41 41 0   0% 12 0   0%
python / lsst / pipe / base / log_capture.py LogCapture._store_log_records   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / log_capture.py (no function)   100% 46 0 0   100% 0 0   100%
python / lsst / pipe / base / log_on_close.py LogOnClose.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / log_on_close.py LogOnClose.wrap   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / log_on_close.py LogOnClose.wrap.wrapper   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / log_on_close.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / pipe / base / mermaid_tools.py graph2mermaid   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / mermaid_tools.py pipeline2mermaid   0% 21 21 0   0% 14 0   0%
python / lsst / pipe / base / mermaid_tools.py (no function)   100% 7 0 4   100% 0 0   100%
python / lsst / pipe / base / mp_graph_executor.py _Job.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.state   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.terminated   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.start   0% 11 11 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job._executeJob   0% 34 34 0   0% 10 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.stop   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.cleanup   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.report   0% 12 12 0   0% 2 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.failMessage   0% 15 15 0   0% 4 0   0%
python / lsst / pipe / base / mp_graph_executor.py _Job.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _JobList.__init__   0% 7 7 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _JobList.submit   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py _JobList.setJobState   0% 30 30 0   0% 12 0   0%
python / lsst / pipe / base / mp_graph_executor.py _JobList.cleanup   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor.__init__   0% 10 10 0   0% 2 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor.execute   0% 29 29 1   0% 10 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor._make_xgraph   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor._execute_quanta_in_process   0% 64 64 0   0% 24 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor._execute_quanta_in_process.tiebreaker_sort_key   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor._execute_quanta_mp   0% 69 69 0   0% 40 0   0%
python / lsst / pipe / base / mp_graph_executor.py MPGraphExecutor.getReport   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / mp_graph_executor.py (no function)   100% 73 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline.py LabelSpecifier.__post_init__   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.__init__   0% 27 27 0   0% 16 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.configDatasetName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.metadataDatasetName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.makeMetadataDatasetName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.logOutputDatasetName   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.__str__   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py TaskDef._unreduce   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py TaskDef.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.fromFile   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.from_uri   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.subsetFromLabels   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / pipeline.py Pipeline._parse_file_specifier   0% 23 23 0   0% 16 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.fromString   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.fromIR   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.fromPipeline   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.mergePipeline   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addLabelToSubset   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.removeLabelFromSubset   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.findSubsetsWithLabel   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.task_labels   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.subsets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addLabeledSubset   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.removeLabeledSubset   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addInstrument   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.getInstrument   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.get_data_id   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addTask   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.removeTask   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addConfigOverride   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addConfigFile   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.addConfigPython   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline._addConfigImpl   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.write_to_uri   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.to_graph   0% 25 25 0   0% 18 0   0%
python / lsst / pipe / base / pipeline.py Pipeline._add_task_to_graph   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline.py Pipeline.__eq__   0% 6 6 1   0% 4 0   0%
python / lsst / pipe / base / pipeline.py (no function)   100% 84 0 2   100% 0 0   100%
python / lsst / pipe / base / pipelineIR.py PipelineYamlLoader.construct_mapping   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py MultilineStringDumper.represent_scalar   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py ContractIR.to_primitives   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py ContractIR.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py LabeledSubset.from_primitives   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / pipelineIR.py LabeledSubset.to_primitives   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py ParametersIR.update   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py ParametersIR.to_primitives   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py ParametersIR.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py ParametersIR.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py ParametersIR.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py ConfigIR.to_primitives   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipelineIR.py ConfigIR.formatted   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / pipelineIR.py ConfigIR.maybe_merge   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / pipelineIR.py ConfigIR.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py TaskIR.to_primitives   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py TaskIR.add_or_update_config   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py TaskIR.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py ImportIR.toPipelineIR   0% 45 45 0   0% 36 0   0%
python / lsst / pipe / base / pipelineIR.py ImportIR.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.__init__   0% 17 17 0   0% 6 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_contracts   0% 9 9 0   0% 8 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_parameters   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_labeled_subsets   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_step_declaration   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._verify_labeled_subsets   0% 6 6 0   0% 6 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._verify_steps   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_imports   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_imports.process_args   0% 18 18 0   0% 16 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.merge_pipelines   0% 45 45 0   0% 30 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._read_tasks   0% 23 23 0   0% 18 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR._remove_contracts   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.subset_from_labels   0% 35 35 0   0% 26 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.from_string   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.from_uri   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.write_to_uri   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.to_primitives   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineIR.py PipelineIR.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipelineIR.py (no function)   100% 128 0 0   100% 0 0   100%
python / lsst / pipe / base / pipelineTask.py PipelineTask.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipelineTask.py PipelineTask.run   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipelineTask.py PipelineTask.runQuantum   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipelineTask.py (no function)   100% 14 0 6   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / __init__.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / __main__.py main   0% 18 18 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py read_input_pipeline   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py Arguments.from_parsed_args   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py Arguments.add_args_to_parser   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py DisplayArguments.__post_init__   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py DisplayArguments.from_parsed_args   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py DisplayArguments.add_args_to_parser   0% 28 28 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / __main__.py (no function)   0% 63 63 2   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode._from_edges   0% 25 25 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.key   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.storage_class_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.storage_class   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.is_calibration   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode.generalize_ref   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py DatasetTypeNode._to_xgraph_state   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _dataset_types.py (no function)   100% 38 0 2   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.is_init   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.task_label   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.parent_dataset_type_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.nodes   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.key   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.dataset_type_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.diff   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.adapt_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.adapt_dataset_ref   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge._to_xgraph_state   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge._unreduce   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py Edge.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.nodes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.dataset_type_name   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.diff   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.adapt_dataset_type   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.adapt_dataset_ref   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge._from_connection_map   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge._resolve_dataset_type   0% 52 52 0   0% 38 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge._resolve_dataset_type.report_current_origin   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge._to_xgraph_state   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py ReadEdge.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py WriteEdge.nodes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py WriteEdge.adapt_dataset_type   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py WriteEdge.adapt_dataset_ref   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py WriteEdge._from_connection_map   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py WriteEdge._resolve_dataset_type   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _edges.py (no function)   100% 79 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _exceptions.py (no function)   100% 14 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__iter__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__len__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView._reorder   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView._reset   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py MappingView._make_keys   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py TaskMappingView.between   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py DatasetTypeMappingView.__getitem__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py DatasetTypeMappingView.is_resolved   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py DatasetTypeMappingView.get_if_resolved   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py DatasetTypeMappingView.get_if_resolved   100% 1 0 0   100% 2 0   100%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py DatasetTypeMappingView.get_if_resolved   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _mapping_views.py (no function)   100% 32 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeBipartite.from_bytes   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeBipartite.to_bytes   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeType.bipartite   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeType.__lt__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeKey.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeKey.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _nodes.py NodeKey.node_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _nodes.py (no function)   100% 26 0 4   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.universe   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.data_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.tasks   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.dataset_types   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.task_subsets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.steps   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.steps   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.get_task_step   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.is_fully_resolved   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.has_been_sorted   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.sort   0% 4 4 3   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.copy   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.__copy__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.diff_tasks   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.producing_edge_of   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.consuming_edges_of   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.producer_of   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.consumers_of   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.inputs_of   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.outputs_of   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.resolve   0% 38 38 2   0% 22 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.add_task   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.add_task_nodes   0% 29 29 2   0% 14 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.reconfigure_tasks   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.remove_tasks   0% 35 35 2   0% 14 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.add_task_subset   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.remove_task_subset   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.make_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.make_bipartite_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.make_task_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.make_dataset_type_xgraph   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.select_tasks   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.select   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._read_stream   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._read_uri   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._write_stream   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._write_uri   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._import_and_configure   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.iter_edges   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.iter_nodes   0% 5 5 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.iter_overall_inputs   0% 5 5 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.group_by_dimensions   0% 16 16 0   0% 14 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.get_all_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.split_independent   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.packages_dataset_type   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.register_dataset_types   0% 12 12 0   0% 14 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.check_dataset_type_registrations   0% 17 17 0   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.instantiate_tasks   0% 34 34 0   0% 22 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.write_init_outputs   0% 13 13 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.write_configs   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.write_packages   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph.init_output_run   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._iter_task_defs   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._init_from_args   0% 19 19 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._make_bipartite_xgraph_internal   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._make_task_xgraph_internal   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._transform_xgraph_state   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._replace_task_nodes   0% 25 25 4   0% 18 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._append_graph_data_from_edge   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._reorder   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._reset   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._resolve_step_flow   0% 44 44 0   0% 18 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._resolve_step_dimensions   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_expression   0% 38 38 6   0% 24 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_task_ancestors   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_task_descendants   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_dataset_type_ancestors   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_dataset_type_descendants   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py PipelineGraph._select_identifier   0% 31 31 2   0% 20 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py log_config_mismatch   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py compare_packages   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py _dimensions_compatible   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _pipeline_graph.py (no function)   100% 127 0 5   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.label   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.description   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.is_step   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.add   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset.discard   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py TaskSubset._from_iterable   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.verified   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.copy   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.append   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.remove   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.assign   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.clear   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.get_dimensions   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions.set_dimensions   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py StepDefinitions._unverified_on_success   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _task_subsets.py (no function)   100% 49 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / _tasks.py _TaskNodeImportedData.configure   0% 16 16 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.__init__   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.label   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.is_imported   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.task_class   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.task_class_name   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.config   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.get_config_str   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.iter_all_inputs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.iter_all_outputs   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.get_input_edge   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.get_output_edge   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.get_edge   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.diff_edges   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode._to_xgraph_state   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode._get_imported_data   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode._unreduce   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskInitNode.__reduce__   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._from_imported_data   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.label   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.is_imported   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.task_class   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.task_class_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.config   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.has_resolved_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.dimensions   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.raw_dimensions   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.__repr__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_config_str   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.iter_all_inputs   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.iter_all_outputs   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_input_edge   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_output_edge   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_edge   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.diff_edges   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_lookup_function   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.is_optional   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_connections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_spatial_bounds_connections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.get_temporal_bounds_connections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._imported_and_configured   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._reconfigured   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._resolved   0% 6 6 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._to_xgraph_state   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._get_imported_data   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode._unreduce   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py TaskNode.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py _diff_edge_mapping   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / _tasks.py (no function)   100% 127 0 3   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserLex.make_lexer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserLex.t_IDENTIFIER   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserLex.t_error   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc._parser_factory   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.parse   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_union   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_intersection   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_not   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_parens   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_inequality   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_expr_identifier   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_identifier_qualified   0% 5 5 2   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py _ParserYacc.p_error   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py parse   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / expressions.py (no function)   100% 74 0 3   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / io.py _expect_not_none   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedEdge.serialize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedEdge.deserialize_read_edge   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedEdge.deserialize_write_edge   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskInitNode.serialize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskInitNode.deserialize   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskNode.serialize   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskNode.deserialize   0% 12 12 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedDatasetTypeNode.serialize   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedDatasetTypeNode.deserialize   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskSubset.serialize   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedTaskSubset.deserialize_task_subset   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedPipelineGraph.serialize   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / io.py SerializedPipelineGraph.deserialize   0% 39 39 0   0% 22 0   0%
python / lsst / pipe / base / pipeline_graph / io.py (no function)   100% 117 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / __init__.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py show_dot   0% 32 32 1   0% 22 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _render_default   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _render_task_node   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _render_dataset_type_node   0% 29 29 0   0% 18 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _render_node   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _render_edge   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _format_label   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py _parse_label   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _dot.py (no function)   100% 28 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py strip_ansi   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py render_segment   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py get_node_symbol   0% 14 14 0   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.__call__   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText._build_description   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText._stitch_node_text   0% 12 12 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.format_node_status   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.format_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.format_task_class   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py GetNodeText.format_deferrals   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py format_dimensions   0% 14 14 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py format_task_class   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py _build_progress_bar   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py format_node_status   0% 39 39 0   0% 22 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _formatting.py (no function)   100% 32 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout.__init__   0% 10 10 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._add_graph   0% 14 14 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._add_single_node   0% 28 28 0   0% 18 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._shift   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._add_connected_graph   0% 20 20 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._add_blockers_of   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout.width   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout.nodes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout.print   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout._external_location   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py Layout.__iter__   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py ColumnSelector.__call__   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _layout.py (no function)   100% 43 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py MergedNodeKey.__str__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py MergedNodeKey.node_type   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py MergedNodeKey.node_id   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py merge_graph_input_trees   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py merge_graph_output_trees   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py merge_graph_intermediates   0% 18 18 0   0% 14 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py _MergeKey.from_node_state   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py _make_tree_merge_groups   0% 22 22 0   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py _apply_tree_merges   0% 20 20 0   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _merge.py (no function)   100% 39 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py show_mermaid   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _generate_mermaid_source   0% 26 26 1   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _render_mermaid_image   0% 19 19 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _render_task_node   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _render_dataset_type_node   0% 27 27 0   0% 12 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _render_simple_node   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _render_edge   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _format_label   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py _parse_label   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _mermaid.py (no function)   94% 32 2 0   100% 0 0   94%
python / lsst / pipe / base / pipeline_graph / visualization / _options.py NodeAttributeOptions.has_details   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _options.py NodeAttributeOptions.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _options.py NodeAttributeOptions.checked   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _options.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.set   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.vert   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.update   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.bend   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py PrintRow.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py _default_get_text   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py _default_get_symbol   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py _default_get_style   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py Printer.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py Printer.print_row   0% 17 17 0   0% 8 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py Printer.print   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py TerminalPrintRow.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py TerminalPrintRow.set   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py TerminalPrintRow.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py make_colorama_printer   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py make_simple_printer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py make_default_printer   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _printer.py (no function)   100% 29 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _show.py parse_display_args   0% 32 32 0   0% 28 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _show.py show   0% 13 13 0   0% 4 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _show.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumGraphExecutionStatusColors.__post_init__   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py NodeStatusOptions.__post_init__   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py NodeStatusAnnotator.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py NodeStatusAnnotator.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py NodeStatusAnnotator.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumGraphExecutionStatusAnnotator.__init__   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumProvenanceGraphStatusAnnotator.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumProvenanceGraphStatusAnnotator.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumProvenanceGraphStatusAnnotator.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py QuantumProvenanceGraphStatusAnnotator.__call__   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / pipeline_graph / visualization / _status_annotator.py (no function)   100% 71 0 2   100% 0 0   100%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteInfo.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteInfo.update_bounds   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteFinder.__init__   0% 24 24 0   0% 12 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteFinder.task_node   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteFinder.find   0% 29 29 3   0% 12 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteBounds.__post_init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteBounds.make_skypix_bounds_builder   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / prerequisite_helpers.py PrerequisiteBounds.make_timespan_builder   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / prerequisite_helpers.py SkyPixBoundsBuilder.handle_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py SkyPixBoundsBuilder.finish   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / prerequisite_helpers.py TimespanBuilder.handle_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py TimespanBuilder.finish   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / prerequisite_helpers.py _TrivialSkyPixBoundsBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _TrivialTimespanBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _QuantumOnlySkyPixBoundsBuilder.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _QuantumOnlySkyPixBoundsBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _QuantumOnlyTimespanBuilder.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _QuantumOnlyTimespanBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _UnboundedSkyPixBoundsBuilder.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _UnboundedSkyPixBoundsBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _UnboundedTimespanBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionSkyPixBoundsBuilder.__init__   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionSkyPixBoundsBuilder.handle_dataset   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionSkyPixBoundsBuilder.finish   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionTimespanBuilder.__init__   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionTimespanBuilder.handle_dataset   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / prerequisite_helpers.py _ConnectionTimespanBuilder.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / prerequisite_helpers.py (no function)   100% 81 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.from_old_quantum_graph   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.to_old_metadata   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py HeaderModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraph.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraph.quanta_by_task   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraph.datasets_by_type   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraph.quantum_only_xgraph   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraph.bipartite_xgraph   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphWriter.open   0% 15 15 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphWriter.write_single_model   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphWriter.write_single_block   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphReader._open   0% 16 16 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphReader._read_single_block_static   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphReader._read_single_block   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py BaseQuantumGraphReader._read_single_block_raw   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _common.py (no function)   100% 138 0 17   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _multiblock.py Compressor.compress   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py Decompressor.decompress   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py Address.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressRow.write   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressRow.read   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressRow.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressWriter.write   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressWriter.write_to_zip   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressWriter.get_all_ids   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressPage.end   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py PageBounds.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.from_stream   0% 25 25 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.open_in_zip   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.compute_header_size   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.compute_row_size   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.row_size   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.read_all   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader.find   0% 18 18 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader._read_page   0% 16 16 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py AddressReader._read_row   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockWriter.open_in_zip   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockWriter.write_bytes   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockWriter.write_model   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockReader.open_in_zip   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockReader.read_all_bytes_in_zip   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockReader.read_all_models_in_zip   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockReader.read_bytes   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py MultiblockReader.read_model   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _multiblock.py (no function)   100% 134 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinQuantumModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py _PredictedThinGraphModelV0._upgraded   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedThinGraphModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.from_dataset_ref   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedDatasetModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.iter_input_dataset_ids   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.iter_output_dataset_ids   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.iter_dataset_ids   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.deserialize_datastore_records   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.from_execution_quantum   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.from_old_quantum_graph_init   0% 21 21 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumDatasetsModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.update_from_old_quantum_graph   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedInitQuantaModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.__init__   0% 20 20 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._add_init_quanta   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._add_thin_graph   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._add_quantum_datasets   0% 14 14 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._add_quantum   0% 9 9 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._add_dataset   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.open   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.read_execution_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.make_empty   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.quanta_by_task   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.datasets_by_type   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.quantum_only_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.bipartite_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.dimension_data   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.__iter__   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.get_init_inputs   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.get_init_outputs   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._make_init_ref   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.build_execution_quanta   0% 31 31 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._expand_execution_quantum_data_ids   0% 15 15 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._build_execution_quantum_refs   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._make_general_ref   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.make_init_qbb   0% 10 10 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.write_init_outputs   0% 18 18 0   0% 14 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.write_configs   0% 18 18 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.write_packages   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.init_output_run   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.from_old_quantum_graph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph.to_old_quantum_graph   0% 20 20 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraph._make_summary   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.make_empty   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.make_dataset_ref   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.set_thin_graph   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.set_header_counts   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.update_output_run   0% 18 18 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.assemble   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.read_execution_quanta   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.from_old_quantum_graph   0% 15 15 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphComponents.write   0% 38 38 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.open   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.finish   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_all   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_thin_graph   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_init_quanta   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_dimension_data   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_quantum_datasets   0% 15 15 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py PredictedQuantumGraphReader.read_execution_quanta   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _predicted.py (no function)   100% 172 0 81   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py pass_through   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.node_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.from_predicted   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel._add_to_graph   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceDatasetModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumAttemptModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceLogRecordsModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceTaskMetadataModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.from_info   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumReport.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceReport.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.node_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.from_predicted   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel._add_to_graph   0% 31 31 0   0% 20 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.from_predicted   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel._add_to_graph   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantumModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel._add_to_graph   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceInitQuantaModel.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.from_args   0% 25 25 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.init_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.quanta_by_task   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.datasets_by_type   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.quantum_only_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.bipartite_xgraph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.make_quantum_table   0% 25 25 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.make_exception_table   0% 14 14 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.make_task_resource_usage_table   0% 21 21 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.make_status_report   0% 35 35 0   0% 22 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraph.make_many_reports   0% 18 18 0   0% 14 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.open   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.read_init_quanta   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.read_full_graph   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.read_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.read_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader._read_nodes   0% 15 15 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.fetch_logs   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.fetch_metadata   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphReader.fetch_packages   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.__init__   0% 18 18 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter._init_predicted_quanta   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter._populate_xgraph_and_inputs   0% 16 16 0   0% 14 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.compressor   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_packages   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_overall_inputs   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_init_outputs   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_quantum_provenance   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_blocked_quantum_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumGraphWriter.write_scan_data   0% 33 33 0   0% 20 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels.from_metadata_and_logs   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels._process_logs   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels._extract_from_log_extra   0% 15 15 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels._process_metadata   0% 19 19 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels._reconcile_attempts   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels._extract_output_existence   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanModels.to_scan_data   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanData.make_blocked   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py ProvenanceQuantumScanData.compress   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / _provenance.py (no function)   100% 247 0 138   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py _disable_resources_parallelism   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.__init__   0% 13 13 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._wait_for_workers_to_finish   0% 41 41 1   0% 30 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._terminate   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.__enter__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.__exit__   0% 16 16 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.request_scan   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.request_write   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator.poll   0% 9 9 1   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._get_report   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._get_report   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._get_report   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py SupervisorCommunicator._handle_progress_reports   0% 14 14 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.__enter__   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.__exit__   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.exit_stack   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.log_progress   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WorkerCommunicator.check_for_cancel   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.get_worker_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.report_scan   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.request_ingest   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.request_write   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.get_compression_dict   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.poll   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py ScannerCommunicator.__exit__   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py IngesterCommunicator.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py IngesterCommunicator.get_worker_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py IngesterCommunicator.__exit__   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py IngesterCommunicator.report_ingest   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py IngesterCommunicator.poll   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.get_worker_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.__exit__   0% 13 13 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.poll   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.send_compression_dict   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.report_write   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py WriterCommunicator.periodically_check_for_cancel   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _communicators.py (no function)   100% 110 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.is_writing_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py AggregatorConfig.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _config.py (no function)   100% 48 0 15   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.__post_init__   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.__enter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.__exit__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.n_datasets_pending   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.run   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.loop   0% 27 27 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.ingest   0% 20 20 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.report   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.fetch_already_ingested   0% 15 15 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.update_outputs_pending   0% 12 12 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py Ingester.update_output_chain   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _ingester.py (no function)   100% 55 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressCounter.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressCounter.update   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressCounter.close   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressCounter.append_log_terms   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressManager.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressManager.__enter__   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressManager.__exit__   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressManager.elapsed_time   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py ProgressManager._log_status   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py make_worker_log   0% 17 17 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _progress.py (no function)   100% 22 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.__post_init__   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.__enter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.__exit__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.make_qbb   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.pipeline_graph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.run   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.loop   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.scan_dataset   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner.scan_quantum   0% 24 24 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner._make_ingest_request   0% 15 15 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner._read_metadata   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py Scanner._read_log   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _scanner.py (no function)   100% 48 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _structs.py IngestRequest.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _structs.py (no function)   100% 23 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _supervisor.py Supervisor.__post_init__   0% 12 12 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _supervisor.py Supervisor.loop   0% 16 16 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _supervisor.py Supervisor.handle_report   0% 18 18 1   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _supervisor.py aggregate_graph   0% 17 17 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _supervisor.py (no function)   100% 36 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Worker.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Worker.name   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Worker.join   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Worker.is_alive   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Worker.kill   100% 0 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.get   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.put   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.clear   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py Queue.kill   100% 0 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py WorkerFactory.make_queue   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py WorkerFactory.make_event   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py WorkerFactory.make_worker   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadWorker.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadWorker.name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadWorker.join   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadWorker.is_alive   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadQueue.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadQueue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadQueue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadQueue.get   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ThreadQueue.put   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py ThreadWorkerFactory.make_queue   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py ThreadWorkerFactory.make_event   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py ThreadWorkerFactory.make_worker   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessWorker.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessWorker.name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessWorker.join   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessWorker.is_alive   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessWorker.kill   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.get   100% 1 0 0   50% 2 1   67%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.get   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.put   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py _ProcessQueue.kill   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py SpawnWorkerFactory.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py SpawnWorkerFactory.make_queue   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py SpawnWorkerFactory.make_event   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py SpawnWorkerFactory.make_worker   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _workers.py (no function)   100% 72 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py Writer.__post_init__   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py Writer.run   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py Writer.loop   0% 15 15 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py Writer.make_qg_writer   0% 17 17 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py Writer.make_compression_dictionary   0% 16 16 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / aggregator / _writer.py (no function)   100% 25 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / formatter.py _ProvenanceFormatterParameters.quanta_to_list   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py _ProvenanceFormatterParameters.datasets_to_list   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py _ProvenanceFormatterParameters.nodes   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py ProvenanceFormatter.read_from_uri   0% 26 26 1   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py ProvenanceFormatter._read_metadata   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py ProvenanceFormatter._read_log   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py ProvenanceFormatter._read_packages   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py ProvenanceFormatter._read_config   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / formatter.py (no function)   100% 36 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / ingest_graph.py ingest_graph   0% 25 25 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.output_run   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.open   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.read_graph   0% 11 11 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.fetch_already_ingested_datasets   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.iter_datasets   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.forget_ingested_datasets   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester._run_forget   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.ingest_graph_dataset   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.clean_and_reingest_datasets   0% 17 17 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester._run_clean_and_ingest   0% 24 24 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester._make_ref_from_info   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.make_qbb   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py _GraphIngester.find_dataset_type_directory   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / ingest_graph.py (no function)   100% 44 0 0   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.render_header   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.render_footer   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.render_quantum   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.render_dataset   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.render_edge   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.write_quantum_only   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphVisualizer.write_bipartite   0% 11 11 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer.render_header   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer.render_footer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer.render_quantum   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer.render_dataset   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer.render_edge   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer._render_default   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer._render_node   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphDotVisualizer._make_node_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer.render_header   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer.render_footer   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer.render_quantum   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer.render_dataset   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer.render_edge   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py QuantumGraphMermaidVisualizer._make_node_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph / visualization.py (no function)   0% 41 41 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder.__init__   0% 42 42 0   0% 14 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder.universe   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder.build   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder.finish   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._build_skeleton   0% 24 24 0   0% 12 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder.process_subgraph   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._resolve_task_quanta   0% 14 14 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._adjust_task_quanta   0% 50 50 0   0% 22 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._get_task_inputs_if_overall_only   0% 6 6 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._skip_quantum_if_metadata_exists   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._update_quantum_for_adjust   0% 25 25 0   0% 14 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._adapt_quantum_outputs   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._adapt_quantum_inputs   0% 13 13 1   0% 6 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._resolve_task_init   0% 39 39 0   0% 20 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._find_empty_dimension_datasets   0% 32 32 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._attach_datastore_records   0% 25 25 0   0% 18 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._construct_quantum_graph   0% 33 33 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._construct_components   0% 25 25 0   0% 8 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._make_predicted_datasets   0% 17 17 0   0% 10 0   0%
python / lsst / pipe / base / quantum_graph_builder.py QuantumGraphBuilder._find_removed   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph_builder.py _quantum_or_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_builder.py (no function)   100% 106 0 4   100% 0 0   100%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.__new__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.quantum   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.report   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.task_metadata   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.skipped_existing   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutionResult.adjusted_no_work   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py QuantumExecutor.execute   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph_executor.py QuantumGraphExecutor.execute   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / quantum_graph_executor.py QuantumGraphExecutor.getReport   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_executor.py (no function)   100% 26 0 7   100% 0 0   100%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.__init__   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.n_nodes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.n_edges   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.has_any_quanta   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.has_task   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_task_init_node   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.global_init_outputs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.iter_all_quanta   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.iter_outputs_of   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.iter_inputs_of   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.update   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_quantum_node   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_dataset_node   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_prerequisite_node   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_quantum_node   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_dataset_nodes   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_task   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_input_edges   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_input_edges   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_input_edge   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.add_output_edge   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_output_edge   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.remove_orphan_datasets   0% 3 3 0   0% 4 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.extract_overall_inputs   0% 9 9 1   0% 6 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.set_dataset_ref   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.set_output_for_skip   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.set_output_in_the_way   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_dataset_ref   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_output_for_skip   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_output_in_the_way   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.discard_output_in_the_way   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.set_data_id   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_data_id   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.attach_dimension_records   0% 19 19 0   0% 16 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py QuantumGraphSkeleton.get_dimension_data   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_graph_skeleton.py (no function)   100% 87 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumRun.find_final   0% 4 4 0   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py DatasetRun._validate   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py UnsuccessfulQuantumSummary._from_info   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py TaskSummary.n_wonky   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py TaskSummary.n_failed   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py TaskSummary._add_quantum_info   0% 43 43 1   0% 22 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py TaskSummary._add_data_id_group   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py CursedDatasetSummary._from_info   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py DatasetTypeSummary.n_cursed   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py DatasetTypeSummary.n_unsuccessful   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py DatasetTypeSummary._add_dataset_info   0% 12 12 1   0% 10 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py DatasetTypeSummary._add_data_id_group   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.aggregate   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.pprint   0% 22 22 0   0% 14 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.make_quantum_table   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.make_dataset_table   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.make_exception_table   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.make_bad_quantum_tables   0% 17 17 0   0% 8 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py Summary.make_bad_dataset_tables   0% 14 14 0   0% 8 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.__init__   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.quanta   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.datasets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.get_quantum_info   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.get_dataset_info   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.to_summary   0% 34 34 0   0% 16 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.iter_outputs_of   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.get_producer_of   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.iter_downstream   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph.assemble_quantum_provenance_graph   0% 19 19 0   0% 10 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._add_new_graph   0% 45 45 0   0% 18 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._add_new_quantum   0% 34 34 0   0% 10 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._update_run_status   0% 18 18 0   0% 8 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._update_info_status   0% 26 26 0   0% 18 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._update_caveats   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._update_caveats.read_metadata   0% 9 9 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._resolve_duplicates   0% 53 53 0   0% 30 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py QuantumProvenanceGraph._butler_get   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _ThreadLocalButlerWrapper.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _ThreadLocalButlerWrapper.wrap_qbb   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _ThreadLocalButlerWrapper.wrap_full   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _ThreadLocalButlerWrapper.butler   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _QuantumBackedButlerFactory.__call__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py _cli   0% 26 26 1   0% 4 0   0%
python / lsst / pipe / base / quantum_provenance_graph.py (no function)   100% 248 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py _serializeDataId   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.from_exception   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py ExceptionInfo.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_reports.py QuantumReport.from_exception   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_reports.py QuantumReport.from_exit_code   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_reports.py QuantumReport.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py QuantumReport.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report._set_cmdLine   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / quantum_reports.py Report.set_exception   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / quantum_reports.py Report.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py Report.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / quantum_reports.py (no function)   100% 58 0 45   100% 0 0   100%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.total_time   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.end   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.from_task_metadata   0% 19 19 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.get_numpy_fields   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.get_units   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py QuantumResourceUsage.get_numpy_row   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / resource_usage.py (no function)   100% 30 0 0   100% 0 0   100%
python / lsst / pipe / base / script / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / script / register_instrument.py register_instrument   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / script / register_instrument.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / script / retrieve_artifacts_for_quanta.py retrieve_artifacts_for_quanta   0% 7 7 0   100% 0 0   0%
python / lsst / pipe / base / script / retrieve_artifacts_for_quanta.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / pipe / base / script / transfer_from_graph.py transfer_from_graph   0% 24 24 0   0% 8 0   0%
python / lsst / pipe / base / script / transfer_from_graph.py _update_chain   0% 13 13 0   0% 4 0   0%
python / lsst / pipe / base / script / transfer_from_graph.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / pipe / base / script / utils.py _matches_dataset_type   0% 7 7 0   0% 8 0   0%
python / lsst / pipe / base / script / utils.py filter_by_dataset_type_glob   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / script / utils.py filter_by_existence   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / script / utils.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / pipe / base / script / zip_from_graph.py zip_from_graph   0% 8 8 0   100% 0 0   0%
python / lsst / pipe / base / script / zip_from_graph.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.__init__   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.pre_execute_qgraph   0% 7 7 0   0% 6 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.make_pipeline   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.make_quantum_graph_builder   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.make_quantum_graph   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.build_quantum_graph   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py SeparablePipelineExecutor.run_pipeline   0% 13 13 0   0% 4 0   0%
python / lsst / pipe / base / separable_pipeline_executor.py (no function)   100% 29 0 0   100% 0 0   100%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.__init__   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.prep_butler   0% 10 10 0   0% 2 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.from_pipeline_filename   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.from_task_class   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.from_pipeline   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.from_pipeline_graph   0% 10 10 0   0% 6 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.quantum_graph   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.use_local_butler   0% 38 38 0   0% 24 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.run   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor.as_generator   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py SimplePipelineExecutor._transfer_qg_dimension_records   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / simple_pipeline_executor.py (no function)   100% 35 0 0   100% 0 0   100%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor.__init__   0% 23 23 0   0% 10 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor.execute   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._execute   0% 12 12 0   0% 4 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._execute_with_limited_butler   0% 65 65 0   0% 12 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._check_existing_outputs   0% 32 32 0   0% 22 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._updated_quantum_inputs   0% 28 28 0   0% 16 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._run_quantum   0% 24 24 0   0% 8 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._write_metadata   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / single_quantum_executor.py SingleQuantumExecutor._should_assume_exists   0% 6 6 0   0% 6 0   0%
python / lsst / pipe / base / single_quantum_executor.py (no function)   100% 33 0 0   100% 0 0   100%
python / lsst / pipe / base / struct.py Struct.__init__   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / struct.py Struct.__safeAdd   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / struct.py Struct.getDict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / struct.py Struct.mergeItems   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / struct.py Struct.copy   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / struct.py Struct.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / struct.py Struct.__repr__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / struct.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / pipe / base / task.py Task.__init__   0% 37 37 0   0% 20 0   0%
python / lsst / pipe / base / task.py Task._parentTask   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.emptyMetadata   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / task.py Task.getFullMetadata   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / task.py Task.getFullName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.getName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.getTaskDict   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.makeSubtask   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / task.py Task.timer   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.makeField   100% 1 0 0   100% 0 0   100%
python / lsst / pipe / base / task.py Task._computeFullName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task._unpickle_via_factory   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task._reduce_kwargs   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py Task.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / task.py (no function)   95% 44 2 2   100% 0 0   95%
python / lsst / pipe / base / taskFactory.py TaskFactory.makeTask   0% 11 11 0   0% 6 0   0%
python / lsst / pipe / base / taskFactory.py (no function)   100% 7 0 4   100% 0 0   100%
python / lsst / pipe / base / testUtils.py makeQuantum   0% 30 30 0   0% 8 0   0%
python / lsst / pipe / base / testUtils.py _checkDimensionsMatch   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py _simplify   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / testUtils.py _checkDataIdMultiplicity   0% 5 5 0   0% 6 0   0%
python / lsst / pipe / base / testUtils.py _normalizeDataIds   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py _refFromConnection   0% 19 19 0   0% 4 0   0%
python / lsst / pipe / base / testUtils.py runTestQuantum   0% 9 9 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py _assertAttributeMatchesConnection   0% 6 6 3   0% 2 0   0%
python / lsst / pipe / base / testUtils.py assertValidOutput   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py assertValidInitOutput   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py getInitInputs   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / testUtils.py lintConnections   0% 10 10 1   0% 6 0   0%
python / lsst / pipe / base / testUtils.py (no function)   100% 23 0 5   100% 0 0   100%
python / lsst / pipe / base / tests / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.__getstate__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.__setstate__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.get_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.put   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.get   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.stored_many   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.pruneDatasets   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler._datastore   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler._datastore   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py InMemoryLimitedButler.factory   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / in_memory_limited_butler.py (no function)   100% 27 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitNumericLiteral   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitStringLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitTimeLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitUuidLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitRangeLiteral   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitIdentifier   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitBind   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitUnaryOp   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitBinaryOp   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitIsIn   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitParens   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitTupleNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitFunctionCall   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitPointNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitCircleNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitBoxNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitPolygonNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitRegionNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py _DataIdMatchTreeVisitor.visitGlobNode   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _data_id_match.py DataIdMatch.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py DataIdMatch.match   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _data_id_match.py (no function)   100% 33 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py ForcedFailure.set_config   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py MockAlgorithmError.metadata   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py mock_pipeline_graph   0% 18 18 0   0% 10 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py BaseTestPipelineTaskConfig.data_id_match   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py BaseTestPipelineTask.__init__   0% 23 23 0   0% 12 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py BaseTestPipelineTask.runQuantum   0% 34 34 0   0% 24 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py BaseTestPipelineTask._fail   0% 11 11 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py MockPipelineTaskConnections.__init__   0% 23 23 0   0% 16 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py MockPipelineTaskConnections.getSpatialBoundsConnections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py MockPipelineTaskConnections.getTemporalBoundsConnections   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py MockPipelineTaskConnections.adjustQuantum   0% 28 28 0   0% 16 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py DynamicConnectionConfig.make_connection   0% 8 8 0   0% 6 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py DynamicTestPipelineTaskConnections.__init__   0% 11 11 0   0% 10 0   0%
python / lsst / pipe / base / tests / mocks / _pipeline_task.py (no function)   100% 92 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.__init__   0% 11 11 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.__enter__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.__exit__   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.close   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.add_task   0% 21 21 0   0% 16 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.make_quantum_graph   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.make_quantum_graph_builder   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.insert_datasets   0% 21 21 1   0% 14 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo._insert_datasets_impl   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _repo.py MockRepo.make_single_quantum_executor   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _repo.py InMemoryRepo.__init__   0% 9 9 0   0% 6 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py InMemoryRepo._insert_datasets_impl   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py InMemoryRepo.make_limited_butler   0% 5 5 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py InMemoryRepo.make_single_quantum_executor   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py DirectButlerRepo.__init__   0% 10 10 0   0% 8 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py DirectButlerRepo.make_temporary   0% 4 4 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py DirectButlerRepo._insert_datasets_impl   0% 9 9 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py DirectButlerRepo.make_single_quantum_executor   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _repo.py (no function)   100% 45 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py get_mock_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py get_original_name   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py is_mock_name   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.storage_class   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.make_derived   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDataset.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py ConvertedUnmockedDataset.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_dump   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_dump_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_copy   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_construct   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_json_schema   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_validate   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_validate_json   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockDatasetQuantum.model_validate_strings   100% 0 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClassDelegate.assemble   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClassDelegate.getComponent   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClassDelegate.disassemble   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClassDelegate.handleParameters   0% 4 4 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.__init__   0% 6 6 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass._get_converters_by_type   100% 0 0 1   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.get_or_register_mock   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.allComponents   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.components   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.derivedComponents   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.can_convert   0% 3 3 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.coerce_type   0% 12 12 0   0% 8 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.mock_dataset_type   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.mock_dataset_refs   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.unmock_dataset_type   0% 7 7 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py MockStorageClass.unmock_dataset_refs   0% 5 5 0   0% 2 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py _monkeypatch_daf_butler   100% 12 0 0   100% 0 0   100%
python / lsst / pipe / base / tests / mocks / _storage_class.py _monkeypatch_daf_butler.new_get_storage_class   33% 6 4 0   0% 2 0   25%
python / lsst / pipe / base / tests / mocks / _storage_class.py _monkeypatch_daf_butler.new_get_formatter_class_with_match   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py _monkeypatch_daf_butler.new_get_formatter_with_match   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / tests / mocks / _storage_class.py (no function)   100% 78 0 45   100% 0 0   100%
python / lsst / pipe / base / tests / no_dimensions.py NoDimensionsTestConnections.__init__   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / tests / no_dimensions.py NoDimensionsTestTask.run   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / tests / no_dimensions.py (no function)   0% 21 21 0   100% 0 0   0%
python / lsst / pipe / base / tests / pipelineStepTester.py PipelineStepTester.register_dataset_types   0% 2 2 0   0% 2 0   0%
python / lsst / pipe / base / tests / pipelineStepTester.py PipelineStepTester.run   0% 22 22 2   0% 12 0   0%
python / lsst / pipe / base / tests / pipelineStepTester.py PipelineStepTester.load_pipeline_graph   0% 8 8 0   0% 2 0   0%
python / lsst / pipe / base / tests / pipelineStepTester.py (no function)   0% 18 18 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py SimpleInstrument.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py SimpleInstrument.getName   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py SimpleInstrument.getRawFormatter   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py SimpleInstrument.register   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py AddTask.run   0% 10 10 0   0% 4 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py AddTaskFactoryMock.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py AddTaskFactoryMock.makeTask   0% 3 3 0   100% 0 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py registerDatasetTypes   0% 13 13 0   0% 6 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py makeSimplePipeline   0% 8 8 0   0% 4 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py makeSimpleButler   0% 12 12 0   0% 6 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py populateButler   0% 39 39 0   0% 26 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py makeSimpleQGraph   0% 37 37 0   0% 22 0   0%
python / lsst / pipe / base / tests / simpleQGraph.py (no function)   100% 58 0 2   100% 0 0   100%
python / lsst / pipe / base / tests / util.py check_output_run   0% 20 20 0   0% 12 0   0%
python / lsst / pipe / base / tests / util.py get_output_refs   0% 18 18 0   0% 16 0   0%
python / lsst / pipe / base / tests / util.py patch_deterministic_uuid4   0% 6 6 0   100% 0 0   0%
python / lsst / pipe / base / tests / util.py _deterministic_uuid   0% 1 1 0   100% 0 0   0%
python / lsst / pipe / base / tests / util.py (no function)   100% 13 0 0   100% 0 0   100%
python / lsst / pipe / base / trivial_quantum_graph_builder.py TrivialQuantumGraphBuilder.__init__   0% 7 7 0   0% 2 0   0%
python / lsst / pipe / base / trivial_quantum_graph_builder.py TrivialQuantumGraphBuilder._get_data_id   0% 5 5 0   100% 0 0   0%
python / lsst / pipe / base / trivial_quantum_graph_builder.py TrivialQuantumGraphBuilder.process_subgraph   0% 38 38 0   0% 22 0   0%
python / lsst / pipe / base / trivial_quantum_graph_builder.py (no function)   100% 14 0 2   100% 0 0   100%
python / lsst / pipe / base / utils.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / pipe / base / version.py (no function)   100% 5 0 0   100% 0 0   100%
tests / test_adjust_all_quanta.py GroupTestConnections.adjust_all_quanta   0% 15 15 0   0% 12 0   0%
tests / test_adjust_all_quanta.py AdjustAllQuantaTestCase.make_butler   0% 2 2 0   100% 0 0   0%
tests / test_adjust_all_quanta.py AdjustAllQuantaTestCase.test_adjust_all_quanta   0% 23 23 0   100% 0 0   0%
tests / test_adjust_all_quanta.py (no function)   100% 25 0 0   100% 0 0   100%
tests / test_aggregator.py AggregatorTestCase.make_test_repo   0% 14 14 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.iter_graph_execution   0% 16 16 0   0% 4 0   0%
tests / test_aggregator.py AggregatorTestCase.check_provenance_graph   0% 77 77 0   0% 38 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_all_exist   0% 1 1 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_none_exist   0% 1 1 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_one_missing   0% 1 1 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_successful   0% 17 17 0   0% 10 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_failure   0% 6 6 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase._expect_blocked   0% 6 6 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_dataset   0% 10 10 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_metadata   0% 15 15 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_log   0% 15 15 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_configs   0% 3 3 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_packages   0% 3 3 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.check_resource_usage_table   0% 10 10 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_quantum_table   0% 32 32 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.check_exception_table   0% 5 5 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.check_report   0% 18 18 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_all_successful   0% 12 12 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_all_successful_two_phase   0% 16 16 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_some_failed   0% 11 11 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_some_failed_two_phase   0% 12 12 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_retry   0% 17 17 0   0% 6 0   0%
tests / test_aggregator.py AggregatorTestCase.test_promise_ingest_graph   0% 15 15 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_worker_failures   0% 3 3 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_aggregate_graph_cli_overrides   0% 20 20 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_aggregate_graph_cli_overrides.mock_run   0% 1 1 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_aggregate_graph_cli_overrides.check   0% 2 2 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.check_provenance_report   0% 10 10 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.check_no_original_dirs   0% 3 3 1   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_content   0% 18 18 0   0% 2 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_cli_overrides   0% 33 33 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_cli_overrides.MakeManyReportsArgs._sort_states   0% 2 2 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_cli_overrides.MockProvenanceQuantumGraph.from_args   0% 1 1 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_cli_overrides.MockProvenanceQuantumGraph.make_many_reports   0% 2 2 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_provenance_report_cli_overrides.check   0% 2 2 0   100% 0 0   0%
tests / test_aggregator.py AggregatorTestCase.test_bad_metadata_readable   0% 4 4 0   100% 0 0   0%
tests / test_aggregator.py (no function)   100% 74 0 3   100% 0 0   100%
tests / test_blocking_limited_butler.py BlockingLimitedButlerTestCase.test_no_block_nonexistent   0% 11 11 0   100% 0 0   0%
tests / test_blocking_limited_butler.py BlockingLimitedButlerTestCase.test_timeout_nonexistent   0% 14 14 0   100% 0 0   0%
tests / test_blocking_limited_butler.py BlockingLimitedButlerTestCase.test_no_waiting_if_exists   0% 9 9 0   100% 0 0   0%
tests / test_blocking_limited_butler.py (no function)   100% 12 0 3   100% 0 0   100%
tests / test_caching_limited_butler.py CachingLimitedButlerTestCase.test_init   0% 11 11 0   100% 0 0   0%
tests / test_caching_limited_butler.py (no function)   100% 8 0 3   100% 0 0   100%
tests / test_cliCmdRegisterInstrument.py RegisterInstrumentTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRegisterInstrument.py RegisterInstrumentTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRegisterInstrument.py RegisterInstrumentTest.test_repoBasic   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRegisterInstrument.py RegisterInstrumentTest.test_missing   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdRegisterInstrument.py (no function)   100% 11 0 2   100% 0 0   100%
tests / test_configOverrides.py ConfigOverridesTestCase.checkSingleFieldOverride   0% 5 5 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testSimpleValueStr   0% 4 4 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testSimpleValueBool   0% 11 11 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testSimpleValueInt   0% 13 13 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testSimpleValueFloat   0% 10 10 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testListValueStr   0% 7 7 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testListValueBool   0% 12 12 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testListValueInt   0% 12 12 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testChoiceValueStr   0% 5 5 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testChoiceValueInt   0% 10 10 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testSettingVar   0% 9 9 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testDictValueInt   0% 9 9 0   100% 0 0   0%
tests / test_configOverrides.py ConfigOverridesTestCase.testConfigParameters   0% 17 17 0   100% 0 0   0%
tests / test_configOverrides.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_configOverrides.py (no function)   100% 34 0 3   100% 0 0   100%
tests / test_config_formatter.py PexConfigFormatterTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_config_formatter.py PexConfigFormatterTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_config_formatter.py PexConfigFormatterTestCase.testPexConfig   0% 6 6 0   100% 0 0   0%
tests / test_config_formatter.py (no function)   100% 13 0 2   100% 0 0   100%
tests / test_connections.py TestConnectionsClass.__init__   100% 2 0 0   100% 0 0   100%
tests / test_connections.py TestConnectionsClass.testConnectionsDeclaration   0% 10 10 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.testConnectionsOnConnectionsClass   0% 16 16 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.buildTestConnections   0% 11 11 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.buildTestConnections.TestConnectionsWithTemplate.adjustQuantum   0% 2 2 0   0% 2 0   0%
tests / test_connections.py TestConnectionsClass.testConnectionsInstantiation   0% 5 5 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.testBuildDatasetRefs   0% 5 5 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.testAdjustQuantum   0% 5 5 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.testDimensionCheck   0% 10 10 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.test_deprecation   0% 16 16 0   100% 0 0   0%
tests / test_connections.py TestConnectionsClass.test_deprecation.TestConnections.__init__   0% 2 2 0   0% 2 0   0%
tests / test_connections.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_connections.py (no function)   100% 18 0 3   100% 0 0   100%
tests / test_dataid_match.py DataIdMatchTestCase.test_strings   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_comparisons   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_arith   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_logical   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_parens   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_in   0% 4 4 0   0% 2 0   0%
tests / test_dataid_match.py DataIdMatchTestCase.test_errors   0% 17 17 0   100% 0 0   0%
tests / test_dataid_match.py (no function)   100% 11 0 2   100% 0 0   100%
tests / test_dataset_handle.py NotCopyable.__deepcopy__   0% 1 1 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.setUp   0% 2 2 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_basic   0% 3 3 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_copy   0% 17 17 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_unknown   0% 5 5 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_none   0% 4 4 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_dataid   0% 14 14 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_dataset_handle_metric   0% 20 20 0   100% 0 0   0%
tests / test_dataset_handle.py TestDatasetHandle.test_handle_conversion   0% 12 12 0   100% 0 0   0%
tests / test_dataset_handle.py (no function)   100% 19 0 2   100% 0 0   100%
tests / test_deferredDatasetRef.py DeferredDatasetRefTestCase.test_checkCopy   0% 6 6 0   100% 0 0   0%
tests / test_deferredDatasetRef.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_deferredDatasetRef.py (no function)   100% 10 0 3   100% 0 0   100%
tests / test_dot_tools.py ExamplePipelineTaskConnections.__init__   0% 5 5 0   0% 4 0   0%
tests / test_dot_tools.py _makeConfig   0% 8 8 0   0% 4 0   0%
tests / test_dot_tools.py _makePipeline   0% 9 9 0   0% 2 0   0%
tests / test_dot_tools.py DotToolsTestCase.test_pipeline2dot   0% 27 27 0   0% 10 0   0%
tests / test_dot_tools.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_dot_tools.py (no function)   100% 22 0 3   100% 0 0   100%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.build_dynamic_connections   0% 8 8 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.build_dynamic_connections.ExampleConnections.__init__   0% 2 2 0   0% 2 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_freeze_after_construction   0% 8 8 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_attr_after_construction   0% 3 3 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_delete_attr_after_construction   0% 3 3 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_dimensions   0% 10 10 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_dimensions.callback   0% 2 2 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type   0% 7 7 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type.callback   0% 1 1 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_twice   0% 8 8 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_twice.callback   0% 2 2 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_remove_from_set   0% 6 6 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_remove_from_set.callback   0% 1 1 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_delete_attr   0% 6 6 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_delete_attr.callback   0% 3 3 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_delete_attr_twice   0% 2 2 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_delete_attr_twice.callback   0% 3 3 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_then_remove_from_set   0% 9 9 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_then_remove_from_set.callback   0% 2 2 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_then_delete_attr   0% 9 9 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_change_connection_type_then_delete_attr.callback   0% 9 9 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_new_connection   0% 7 7 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_new_connection.callback   0% 5 5 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_and_change_new_connection   0% 8 8 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_and_change_new_connection.callback   0% 10 10 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_and_remove_new_connection   0% 9 9 0   100% 0 0   0%
tests / test_dynamic_connections.py TestDynamicConnectionsClass.test_add_and_remove_new_connection.callback   0% 12 12 0   100% 0 0   0%
tests / test_dynamic_connections.py (no function)   100% 25 0 2   100% 0 0   100%
tests / test_execution_reports.py ExecutionReportsTestCase.test_make_reports   0% 18 18 0   100% 0 0   0%
tests / test_execution_reports.py (no function)   100% 6 0 2   100% 0 0   100%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.setUp   0% 8 8 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion._make_config   0% 4 4 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion._make_executor   0% 7 7 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion._assert_datasets   0% 21 21 0   0% 8 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_no_conversions   0% 4 4 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_intermediate_registration_differs   0% 5 5 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_intermediate_producer_differs   0% 5 5 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_intermediate_consumer_differs   0% 4 4 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_output_differs   0% 5 5 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_input_differs   0% 4 4 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_input_differs_use_local_butler   0% 8 8 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_incompatible   0% 3 3 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py TestExecutionStorageClassConversion.test_registry_changed   0% 4 4 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_execution_storage_class_conversion.py (no function)   100% 29 0 3   100% 0 0   100%
tests / test_graphBuilder.py GraphBuilderTestCase._assertGraph   0% 6 6 0   0% 2 0   0%
tests / test_graphBuilder.py GraphBuilderTestCase.testDefault   0% 11 11 0   100% 0 0   0%
tests / test_graphBuilder.py GraphBuilderTestCase.test_empty_qg   0% 20 20 0   100% 0 0   0%
tests / test_graphBuilder.py GraphBuilderTestCase.testAddInstrumentMismatch   0% 5 5 0   100% 0 0   0%
tests / test_graphBuilder.py GraphBuilderTestCase.testUserQueryBind   0% 8 8 0   100% 0 0   0%
tests / test_graphBuilder.py GraphBuilderTestCase.test_datastore_records   0% 23 23 0   0% 6 0   0%
tests / test_graphBuilder.py (no function)   100% 20 0 3   100% 0 0   100%
tests / test_graph_walker.py GraphWalkerTestCase.test_iteration   0% 39 39 0   0% 6 0   0%
tests / test_graph_walker.py (no function)   100% 9 0 0   100% 0 0   100%
tests / test_init_output_run.py _have_example_storage_classes   100% 2 0 0   100% 0 0   100%
tests / test_init_output_run.py InitOutputRunTestCase.make_butler   0% 4 4 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.prep_butler   0% 10 10 0   0% 2 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.find_init_output_refs   0% 11 11 0   0% 4 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.get_quantum_graph_init_output_refs   0% 5 5 0   0% 2 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.assert_init_output_refs_equal   0% 3 3 0   0% 2 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.check_qbb_consistency   0% 3 3 0   0% 4 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.init_with_pipeline_graph_first   0% 26 26 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.init_with_quantum_graph_first   0% 25 25 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.init_with_qbb_first   0% 19 19 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_two_tasks_no_conversions   0% 23 23 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_optional_input_unregistered   0% 12 12 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_registration_changed   0% 12 12 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_init_intermediate_component   0% 21 21 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_no_get_init_input_callback   0% 10 10 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_multiple_init_input_consumers   0% 22 22 0   100% 0 0   0%
tests / test_init_output_run.py InitOutputRunTestCase.test_config_change   0% 14 14 0   100% 0 0   0%
tests / test_init_output_run.py (no function)   100% 35 0 3   100% 0 0   100%
tests / test_instrument.py BaseDummyInstrument.getName   0% 1 1 0   100% 0 0   0%
tests / test_instrument.py BaseDummyInstrument.register   0% 6 6 0   100% 0 0   0%
tests / test_instrument.py BaseDummyInstrument.getRawFormatter   0% 1 1 0   100% 0 0   0%
tests / test_instrument.py NotInstrument.__init__   0% 1 1 0   100% 0 0   0%
tests / test_instrument.py BadInstrument.getName   0% 1 1 0   100% 0 0   0%
tests / test_instrument.py BadInstrument.register   0% 2 2 0   100% 0 0   0%
tests / test_instrument.py UnimportableInstrument.getName   0% 1 1 0   100% 0 0   0%
tests / test_instrument.py UnimportableInstrument.register   0% 2 2 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_basics   0% 5 5 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_register   0% 25 25 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_from_string   0% 10 10 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_defaults   0% 10 10 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_collection_timestamps   0% 10 10 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_dimension_packer_config_defaults   0% 8 8 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.test_dimension_packer_config_override   0% 12 12 0   100% 0 0   0%
tests / test_instrument.py InstrumentTestCase.check_dimension_packers   0% 23 23 0   0% 4 0   0%
tests / test_instrument.py (no function)   100% 38 0 2   100% 0 0   100%
tests / test_mermaid.py _mockMermaidInit   0% 3 3 0   100% 0 0   0%
tests / test_mermaid.py ExamplePipelineTaskConnections.__init__   0% 14 14 0   0% 18 0   0%
tests / test_mermaid.py _makeConfig   0% 8 8 0   0% 2 0   0%
tests / test_mermaid.py _makePipeline   0% 16 16 0   0% 8 0   0%
tests / test_mermaid.py MermaidTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_mermaid.py MermaidTestCase.validateMermaidSource   0% 17 17 0   100% 0 0   0%
tests / test_mermaid.py MermaidTestCase.test_pipeline2mermaid   0% 4 4 0   0% 2 0   0%
tests / test_mermaid.py MermaidTestCase.test_show_mermaid_source   0% 3 3 0   100% 0 0   0%
tests / test_mermaid.py MermaidTestCase.test_show_mermaid_image   0% 6 6 0   0% 2 0   0%
tests / test_mermaid.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_mermaid.py (no function)   89% 37 4 3   50% 2 1   87%
tests / test_mp_graph_executor.py _count_status   0% 1 1 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_nomp   0% 18 18 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_mp   0% 22 22 0   0% 4 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_nompsupport   0% 8 8 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_fixup   0% 13 13 0   0% 4 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_fixup_old_qg   0% 13 13 0   0% 4 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_timeout   0% 31 31 0   0% 2 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_failure   0% 17 17 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_failure_dep   0% 19 19 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_failure_dep_nomp   0% 21 21 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_failure_failfast   0% 18 18 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_crash   0% 17 17 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_crash_failfast   0% 17 17 0   100% 0 0   0%
tests / test_mp_graph_executor.py MPGraphExecutorTestCase.test_mpexec_num_fd   0% 12 12 0   100% 0 0   0%
tests / test_mp_graph_executor.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_mp_graph_executor.py (no function)   100% 36 0 3   100% 0 0   100%
tests / test_pipeline.py PipelineTestCase.testTaskDef   0% 7 7 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testEmpty   0% 2 2 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testInitial   0% 10 10 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testModifySubset   0% 34 34 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testMergingPipelines   0% 6 6 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testFindingSubset   0% 9 9 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testParameters   0% 11 11 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testSerialization   0% 4 4 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.testStepDefinition   0% 4 4 0   100% 0 0   0%
tests / test_pipeline.py PipelineTestCase.test_excluded_steps   0% 6 6 0   100% 0 0   0%
tests / test_pipeline.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_pipeline.py (no function)   100% 22 0 3   100% 0 0   100%
tests / test_pipelineIR.py ConfigIRTestCase.testMergeConfig   0% 14 14 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testPipelineIRInitChecks   0% 9 9 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testTaskParsing   0% 4 4 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testImportParsing   0% 70 70 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testSteps   0% 6 6 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testReadParameters   0% 3 3 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testTaskParameterLabel   0% 3 3 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testParameterImporting   0% 3 3 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testImportingInstrument   0% 12 12 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testParameterConfigFormatting   0% 4 4 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testReadContracts   0% 6 6 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testReadNamedSubsets   0% 13 13 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testSubsettingPipeline   0% 7 7 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testInstrument   0% 3 3 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testReadTaskConfig   0% 14 14 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testSerialization   0% 6 6 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testPipelineYamlLoader   0% 2 2 0   100% 0 0   0%
tests / test_pipelineIR.py PipelineIRTestCase.testMultiLineStrings   0% 4 4 0   100% 0 0   0%
tests / test_pipelineIR.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_pipelineIR.py (no function)   100% 29 0 3   100% 0 0   100%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.setUp   0% 9 9 0   0% 4 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLoadList   0% 4 4 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLoadSingle   0% 4 4 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLoadBoundedRange   0% 3 3 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLoadUpperBound   0% 3 3 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLoadLowerBound   0% 3 3 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testLabelChecks   0% 9 9 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py PipelineLoadSubsetTest.testContractRemoval   0% 6 6 0   100% 0 0   0%
tests / test_pipelineLoadSubset.py (no function)   100% 15 0 2   100% 0 0   100%
tests / test_pipelineTask.py ButlerMock.__init__   0% 2 2 0   100% 0 0   0%
tests / test_pipelineTask.py ButlerMock.get   0% 4 4 0   0% 2 0   0%
tests / test_pipelineTask.py ButlerMock.put   0% 4 4 0   100% 0 0   0%
tests / test_pipelineTask.py AddTask.run   0% 3 3 0   100% 0 0   0%
tests / test_pipelineTask.py AddTask2.runQuantum   0% 4 4 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase._makeDSRefVisit   0% 4 4 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase._makeQuanta   0% 5 5 0   0% 2 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.testRunQuantumFull   0% 1 1 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.testRunQuantumLimited   0% 1 1 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase._testRunQuantum   0% 43 43 0   0% 8 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.testChain2Full   0% 1 1 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.testChain2Limited   0% 1 1 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase._testChain2   0% 39 39 0   0% 10 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.testButlerQC   0% 38 38 0   100% 0 0   0%
tests / test_pipelineTask.py PipelineTaskTestCase.test_ExecutionResources   0% 31 31 0   100% 0 0   0%
tests / test_pipelineTask.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_pipelineTask.py (no function)   100% 40 0 3   100% 0 0   100%
tests / test_pipeline_graph.py MockRegistry.__init__   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph.py MockRegistry.getDatasetType   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.setUp   0% 18 18 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_accessors   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_sorting   0% 3 3 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_xgraph_export   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_stream_io   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_file_io   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_pickle   0% 1 1 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_deferred_import_io   0% 10 10 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_accessors   0% 11 11 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_xgraph_export   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_stream_io   0% 10 10 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_file_io   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_pickle   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_deferred_import_io   0% 9 9 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_copies   0% 9 9 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_copies   0% 10 10 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_valid_steps   0% 25 25 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_valid_steps_resolved_graph   0% 18 18 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_valid_step_exposure_visit_substitution   0% 14 14 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_reset_steps   0% 9 9 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_repeated_task   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_missing_task   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_bad_order   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_not_a_subset   0% 7 7 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_bad_task_dimensions   0% 9 9 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_invalid_steps_bad_dataset_type_dimensions   0% 11 11 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_base_accessors   0% 39 39 0   0% 6 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_sorted   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_make_xgraph   0% 10 10 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_make_bipartite_xgraph   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_make_task_xgraph   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_make_dataset_type_xgraph   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_task_node   0% 5 5 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_task_init_node   0% 5 5 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_config_node   0% 3 3 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_log_node   0% 3 3 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_metadata_node   0% 3 3 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.get_expected_connection_node   0% 3 3 0   0% 2 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_construct_with_data_coordinate   0% 14 14 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_group_by_dimensions   0% 18 18 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_add_and_remove   0% 34 34 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_reconfigure   0% 18 18 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_visualization   0% 3 3 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_unresolved_visualization   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_resolved_visualization   0% 3 3 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.test_select   0% 95 95 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphTestCase.check_expression   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph.py _have_example_storage_classes   100% 2 0 0   100% 0 0   100%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.make_graph   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_prerequisite_inconsistency   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_prerequisite_inconsistency_reversed   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_prerequisite_output   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_skypix_missing   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_skypix_inconsistent   0% 6 6 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_duplicate_outputs   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_component_of_unregistered_parent   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_undefined_component   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_bad_component_storage_class   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_input_storage_class_incompatible_with_registry   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_output_storage_class_incompatible_with_registry   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_input_storage_class_incompatible_with_output   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_ambiguous_storage_class   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_inputs_compatible_with_registry   0% 18 18 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_output_compatible_with_registry   0% 12 12 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_inputs_compatible_with_output   0% 17 17 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_component_resolved_by_input   0% 19 19 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_component_resolved_by_output   0% 19 19 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_component_storage_class_converted   0% 19 19 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_component_resolved_by_registry   0% 13 13 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_optional_input   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_invalid_dimensions   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py PipelineGraphResolveTestCase.test_invalid_dataset_type_name   0% 5 5 0   100% 0 0   0%
tests / test_pipeline_graph.py (no function)   100% 101 0 3   100% 0 0   100%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_identifiers   0% 8 8 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_directions   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_binary   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_not   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_complex   0% 1 1 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_lex_errors   0% 2 2 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py PipelineGraphExpressionParserTestCase.test_parser_errors   0% 4 4 0   100% 0 0   0%
tests / test_pipeline_graph_expressions.py (no function)   100% 13 0 3   100% 0 0   100%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.setUp   0% 8 8 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.check_quantum_graph   0% 83 83 0   0% 32 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.define_partial_read   0% 1 1 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.check_partial_read   0% 8 8 0   0% 2 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_build   0% 2 2 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_from_old_quantum_graph   0% 3 3 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_read_execution_quanta_old_file   0% 9 9 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_roundtrip_old_quantum_graph   0% 4 4 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_write_new_as_old   0% 9 9 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_read_new_as_old   0% 7 7 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_io   0% 18 18 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_no_compression_dict   0% 9 9 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_dot   0% 7 7 0   0% 2 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_mermaid   0% 3 3 0   100% 0 0   0%
tests / test_predicted_qg.py PredictedQuantumGraphTestCase.test_update_output_run   0% 11 11 0   0% 10 0   0%
tests / test_predicted_qg.py (no function)   100% 34 0 3   100% 0 0   100%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.make_butler   0% 2 2 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.tearDown   0% 2 2 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_one_to_one   0% 12 12 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_patch_to_hpx_to_global   0% 7 7 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_patch_to_hpx_to_instrument   0% 7 7 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_hpx_to_global_dataset_constraint   0% 6 6 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_hpx_to_global_where_constraint   0% 6 6 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase.test_hpx_to_global_data_id_table   0% 7 7 0   100% 0 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase._make_hpx_pipeline_graph   0% 28 28 0   0% 8 0   0%
tests / test_qg_builder_dimensions.py AllDimensionsQuantumGraphBuilderTestCase._insert_overall_inputs   0% 16 16 1   0% 10 0   0%
tests / test_qg_builder_dimensions.py (no function)   100% 26 0 3   100% 0 0   100%
tests / test_quantumGraph.py QuantumGraphTestCase.setUp   0% 52 52 0   0% 12 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.setUp._makeDatasetType   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testTaskGraph   0% 5 5 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGraph   0% 3 3 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGetQuantumNodeByNodeId   0% 6 6 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testPickle   0% 3 3 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testInputQuanta   0% 2 2 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testOutputQuanta   0% 2 2 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testLength   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGetQuantaForTask   0% 2 2 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGetNumberOfQuantaForTask   0% 2 2 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGetNodesForTask   0% 6 6 0   0% 4 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindTasksWithInput   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindTasksWithOutput   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testTaskWithDSType   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindTaskDefByName   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindTaskDefByLabel   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindQuantaWIthDSType   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testAllDatasetTypes   0% 7 7 0   0% 6 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testSubset   0% 10 10 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testSubsetToConnected   0% 37 37 0   0% 24 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testDetermineOutputsOfQuantumNode   0% 6 6 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testDetermineConnectionsOfQuantum   0% 7 7 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testDetermineAnsestorsOfQuantumNode   0% 7 7 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testFindCycle   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testSaveLoad   0% 36 36 0   0% 6 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testSaveLoadUri   0% 30 30 0   0% 4 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testSaveLoadNoRegistryDatasetTypes   0% 7 7 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testContains   0% 2 2 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testDimensionUniverseInSave   0% 2 2 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testUpdateRun   0% 19 19 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testMetadataPackage   0% 2 2 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.test_get_task_quanta   0% 3 3 0   0% 2 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.testGetSummary   0% 3 3 0   100% 0 0   0%
tests / test_quantumGraph.py QuantumGraphTestCase.test_get_refs   0% 18 18 0   100% 0 0   0%
tests / test_quantumGraph.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_quantumGraph.py (no function)   100% 89 0 3   100% 0 0   100%
tests / test_quantum_provenance_graph.py QuantumProvenanceGraphTestCase.test_qpg_reports   0% 36 36 0   0% 14 0   0%
tests / test_quantum_provenance_graph.py QuantumProvenanceGraphTestCase.test_aggregate_reports   0% 187 187 0   0% 66 0   0%
tests / test_quantum_provenance_graph.py (no function)   100% 10 0 0   100% 0 0   100%
tests / test_quantum_reports.py ReportsTestCase.test_quantumReport   0% 29 29 0   100% 0 0   0%
tests / test_quantum_reports.py ReportsTestCase.test_report   0% 16 16 0   100% 0 0   0%
tests / test_quantum_reports.py ReportsTestCase.test_json   0% 21 21 0   100% 0 0   0%
tests / test_quantum_reports.py (no function)   100% 7 0 2   100% 0 0   100%
tests / test_quantum_success_caveats.py QuantumSuccessCaveatsTestCase.test_from_adjust_quantum_no_work   0% 3 3 0   100% 0 0   0%
tests / test_quantum_success_caveats.py QuantumSuccessCaveatsTestCase.test_concise   0% 12 12 0   100% 0 0   0%
tests / test_quantum_success_caveats.py (no function)   100% 5 0 2   100% 0 0   100%
tests / test_script_utils.py FilterByExistenceTestCase.setUp   0% 5 5 0   0% 2 0   0%
tests / test_script_utils.py FilterByExistenceTestCase.test_success   0% 8 8 0   100% 0 0   0%
tests / test_script_utils.py (no function)   100% 6 0 2   100% 0 0   100%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.setUp   0% 19 19 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.build_empty_quantum_graph   0% 4 4 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.check_provenance_fullgraph   0% 29 29 0   0% 4 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.check_provenance_emptygraph   0% 5 5 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_unconnected_old   0% 13 13 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_unconnected   0% 13 13 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_empty_old   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_empty   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_register_old   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_register   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_init_outputs_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_init_outputs   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_versions_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_pre_execute_qgraph_versions   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_init_badinput   0% 3 3 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_init_badoutput   0% 3 3 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_pipeline_full   0% 4 4 0   0% 2 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_pipeline_subset   0% 5 5 0   0% 2 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_noskip_noclobber   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_noskip_noclobber   0% 6 6 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_noskip_noclobber_conflict   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_skipnone_noclobber   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skipnone_noclobber   0% 6 6 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_skiptotal_noclobber   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skiptotal_noclobber   0% 11 11 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skippartial_noclobber   0% 6 6 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_noskip_clobber   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_noskip_clobber   0% 6 6 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_noskip_clobber_conflict   0% 11 11 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_noskip_clobber_conflict   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_skipnone_clobber   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skipnone_clobber   0% 6 6 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skiptotal_clobber   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_nowhere_skiptotal_clobber   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_nowhere_skippartial_clobber   0% 7 7 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_noinput   0% 4 4 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_noinput   0% 4 4 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_make_quantum_graph_alloutput_skip   0% 17 17 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_build_quantum_graph_alloutput_skip   0% 17 17 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_noclobber_fullgraph   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_noclobber_fullgraph_old   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_noclobber_emptygraph_old   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_noclobber_emptygraph   0% 8 8 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skipnone_noclobber_old   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skipnone_noclobber   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skiptotal_noclobber_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skiptotal_noclobber   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_clobber_connected_old   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_clobber_connected   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_clobber_unconnected_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_noskip_clobber_unconnected   0% 13 13 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skipnone_clobber_old   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skipnone_clobber   0% 9 9 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skiptotal_clobber_connected_old   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skiptotal_clobber_connected   0% 12 12 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skippartial_clobber_unconnected_old   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorTests.test_run_pipeline_skippartial_clobber_unconnected   0% 10 10 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorMockTests.setUp   0% 1 1 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorMockTests.run_base_test   0% 20 20 0   0% 2 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorMockTests.test_no_work_chain_provenance   0% 18 18 0   0% 10 0   0%
tests / test_separable_pipeline_executor.py SeparablePipelineExecutorMockTests.test_failure_block_provenance   0% 22 22 0   0% 10 0   0%
tests / test_separable_pipeline_executor.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_separable_pipeline_executor.py (no function)   100% 87 0 3   100% 0 0   100%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.setUp   0% 8 8 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_from_task_class   0% 6 6 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_metadata_input   0% 13 13 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_optional_intermediate   0% 18 18 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_optional_input   0% 11 11 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_from_pipeline_file   0% 3 3 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_use_local_butler   0% 23 23 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests._test_pipeline_file   0% 4 4 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_partial_outputs_success   0% 60 60 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_no_work_found   0% 50 50 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_partial_outputs_failure   0% 56 56 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py SimplePipelineExecutorTests.test_existence_check_skips   0% 15 15 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_simple_pipeline_executor.py (no function)   100% 28 0 3   100% 0 0   100%
tests / test_single_quantum_executor.py SingleQuantumExecutorTestCase.test_simple_execute   0% 23 23 0   100% 0 0   0%
tests / test_single_quantum_executor.py SingleQuantumExecutorTestCase.test_skip_existing_execute   0% 20 20 0   100% 0 0   0%
tests / test_single_quantum_executor.py SingleQuantumExecutorTestCase.test_clobber_outputs_execute   0% 30 30 0   100% 0 0   0%
tests / test_single_quantum_executor.py (no function)   100% 13 0 2   100% 0 0   100%
tests / test_struct.py StructTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_struct.py StructTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_struct.py StructTestCase.testInit   0% 4 4 0   0% 2 0   0%
tests / test_struct.py StructTestCase.testInitException   0% 2 2 0   100% 0 0   0%
tests / test_struct.py StructTestCase.testSet   0% 4 4 0   0% 2 0   0%
tests / test_struct.py StructTestCase.testCopy   0% 7 7 0   100% 0 0   0%
tests / test_struct.py StructTestCase.testMergeItems   0% 14 14 0   0% 2 0   0%
tests / test_struct.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_struct.py (no function)   100% 13 0 3   100% 0 0   100%
tests / test_task.py AddTask.run   0% 2 2 0   100% 0 0   0%
tests / test_task.py MultTask.run   0% 2 2 0   100% 0 0   0%
tests / test_task.py AddMultTask.__init__   0% 3 3 0   100% 0 0   0%
tests / test_task.py AddMultTask.run   0% 5 5 0   100% 0 0   0%
tests / test_task.py AddMultTask.failDec   0% 1 1 0   100% 0 0   0%
tests / test_task.py AddMultTask.failCtx   0% 2 2 0   100% 0 0   0%
tests / test_task.py AddTwiceTask.run   0% 2 2 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testBasics   0% 10 10 0   0% 6 0   0%
tests / test_task.py TaskTestCase.testNames   0% 13 13 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testLog   0% 9 9 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testGetFullMetadata   0% 16 16 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testEmptyMetadata   0% 7 7 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testReplace   0% 10 10 0   0% 6 0   0%
tests / test_task.py TaskTestCase.testFail   0% 11 11 0   100% 0 0   0%
tests / test_task.py TaskTestCase.testTimeMethod   0% 34 34 0   0% 8 0   0%
tests / test_task.py TaskTestCase.test_annotate_exception   0% 9 9 0   100% 0 0   0%
tests / test_task.py TaskTestCase.test_annotate_task_exception   0% 13 13 0   100% 0 0   0%
tests / test_task.py TaskTestCase.test_annotate_task_exception.TestError.metadata   0% 1 1 0   100% 0 0   0%
tests / test_task.py TaskTestCase.test_AlgorithmError   0% 4 4 0   100% 0 0   0%
tests / test_task.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_task.py (no function)   100% 57 0 3   100% 0 0   100%
tests / test_task_factory.py mockTaskClass   0% 2 2 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase.setUpClass   0% 8 8 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase.setUp   0% 3 3 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase._alteredConfig   0% 3 3 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase._dummyCatalog   0% 1 1 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase._tempButler   0% 7 7 0   0% 2 0   0%
tests / test_task_factory.py TaskFactoryTestCase.testDefaultConfigLabel   0% 5 5 0   100% 0 0   0%
tests / test_task_factory.py TaskFactoryTestCase.testAllArgs   0% 7 7 0   100% 0 0   0%
tests / test_task_factory.py (no function)   100% 28 0 4   100% 0 0   100%
tests / test_taskmetadata.py TaskMetadataTestCase.testTaskMetadata   0% 92 92 0   100% 0 0   0%
tests / test_taskmetadata.py TaskMetadataTestCase.testValidation   0% 16 16 0   100% 0 0   0%
tests / test_taskmetadata.py TaskMetadataTestCase.test_nan   0% 4 4 0   100% 0 0   0%
tests / test_taskmetadata.py TaskMetadataTestCase.testDict   0% 20 20 0   100% 0 0   0%
tests / test_taskmetadata.py TaskMetadataTestCase.testNumpy   0% 17 17 0   100% 0 0   0%
tests / test_taskmetadata.py TaskMetadataTestCase.test_get_set_dict   0% 14 14 0   100% 0 0   0%
tests / test_taskmetadata.py (no function)   87% 15 2 2   100% 0 0   87%
tests / test_testUtils.py VisitConnections.__init__   0% 3 3 0   0% 2 0   0%
tests / test_testUtils.py PatchConnections.__init__   0% 3 3 0   0% 2 0   0%
tests / test_testUtils.py VisitTask.__init__   0% 2 2 0   100% 0 0   0%
tests / test_testUtils.py VisitTask.run   0% 3 3 0   100% 0 0   0%
tests / test_testUtils.py PatchTask.__init__   0% 3 3 0   100% 0 0   0%
tests / test_testUtils.py PatchTask.run   0% 4 4 0   0% 2 0   0%
tests / test_testUtils.py SkyPixTask.run   0% 1 1 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.setUpClass   0% 19 19 0   0% 6 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.tearDownClass   0% 2 2 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.setUp   0% 2 2 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite._makeVisitTestData   0% 7 7 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite._makePatchTestData   0% 9 9 0   0% 2 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumNoSuchDatatype   0% 7 7 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumInvalidDimension   0% 19 19 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumMissingMultiple   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumExtraMultiple   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumMissingDataId   0% 7 7 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testMakeQuantumCorruptedDataId   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testRunTestQuantumVisitWithRun   0% 9 9 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testRunTestQuantumPatchWithRun   0% 10 10 0   0% 2 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testRunTestQuantumVisitMockRun   0% 6 6 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testRunTestQuantumPatchMockRun   0% 6 6 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testRunTestQuantumPatchOptionalInput   0% 8 8 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputPass   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputMissing   0% 8 8 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputMissing.run   0% 1 1 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputSingle   0% 8 8 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputSingle.run   0% 1 1 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputMultiple   0% 8 8 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidOutputMultiple.run   0% 1 1 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputPass   0% 4 4 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputMissing   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputMissing.BadVisitTask.__init__   0% 2 2 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputSingle   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputSingle.BadVisitTask.__init__   0% 2 2 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputMultiple   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testAssertValidInitOutputMultiple.BadPatchTask.__init__   0% 3 3 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testGetInitInputs   0% 6 6 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testSkypixHandling   0% 7 7 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testLintConnectionsOk   0% 3 3 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testLintConnectionsMissingMultiple   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py PipelineTaskTestSuite.testLintConnectionsExtraMultiple   0% 5 5 0   100% 0 0   0%
tests / test_testUtils.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_testUtils.py (no function)   100% 80 0 3   100% 0 0   100%
tests / test_trivial_qg_builder.py TrivialQuantumGraphBuilderTestCase.test_trivial_qg_builder   0% 35 35 0   100% 0 0   0%
tests / test_trivial_qg_builder.py (no function)   100% 7 0 2   100% 0 0   100%
tests / test_utils.py RegionTimeInfoTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_utils.py RegionTimeInfoTestCase.test_init   0% 6 6 0   100% 0 0   0%
tests / test_utils.py RegionTimeInfoTestCase.test_serialization   0% 4 4 0   100% 0 0   0%
tests / test_utils.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_utils.py (no function)   100% 13 0 3   100% 0 0   100%
Total     29% 22062 15593 1184   1% 5246 40   24%

No items found using the specified filter.