Coverage report: 87%

Files Functions Classes

coverage.py v7.14.3, created at 2026-07-09 02:05 -0700

      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/ctrl/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/__init__.py (no function)   100% 11 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/_pipeline_graph_factory.py PipelineGraphFactory.__init__   88% 8 1 0   50% 2 1   80%
python/lsst/ctrl/mpexec/_pipeline_graph_factory.py PipelineGraphFactory.__call__   83% 12 2 0   75% 8 2   80%
python/lsst/ctrl/mpexec/_pipeline_graph_factory.py PipelineGraphFactory.pipeline   80% 5 1 0   75% 4 1   78%
python/lsst/ctrl/mpexec/_pipeline_graph_factory.py PipelineGraphFactory.__bool__   50% 4 2 0   50% 2 1   50%
python/lsst/ctrl/mpexec/_pipeline_graph_factory.py (no function)   100% 10 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py OutputChainedCollectionInfo.__init__   100% 7 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py OutputChainedCollectionInfo.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py OutputRunCollectionInfo.__init__   88% 8 1 0   50% 2 1   80%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory.__init__   88% 24 3 0   81% 16 3   85%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory.check   64% 14 5 0   64% 14 5   64%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory._check_output_input_consistency   100% 6 0 0   100% 6 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory._make_read_parts   100% 19 0 0   100% 6 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory.make_butler_and_collections   100% 8 0 0   100% 4 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory.define_datastore_cache   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/butler_factory.py ButlerFactory.make_write_butler   80% 30 6 1   83% 12 2   81%
python/lsst/ctrl/mpexec/cli/butler_factory.py (no function)   100% 47 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py _unhandledShow   50% 2 1 0   50% 2 1   50%
python/lsst/ctrl/mpexec/cli/cmd/commands.py build   83% 6 1 0   50% 2 1   75%
python/lsst/ctrl/mpexec/cli/cmd/commands.py coverage_context   92% 25 2 0   67% 6 2   87%
python/lsst/ctrl/mpexec/cli/cmd/commands.py qgraph   82% 17 3 0   67% 6 2   78%
python/lsst/ctrl/mpexec/cli/cmd/commands.py run   0% 14 14 0   0% 6 0   0%
python/lsst/ctrl/mpexec/cli/cmd/commands.py purge   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py cleanup   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py pre_exec_init_qbb   0% 2 2 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/cmd/commands.py run_qbb   0% 2 2 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/cmd/commands.py update_graph_run   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py report   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py aggregate_reports   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/cmd/commands.py (no function)   100% 108 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/arguments.py (no function)   100% 5 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py pipeline_build_options.__init__   100% 3 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py coverage_options.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py qgraph_options.__init__   100% 7 0 0   100% 6 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py butler_options.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py execution_options.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py meta_info_options.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py run_options.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/optionGroups.py (no function)   100% 21 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/opt/options.py parse_prune_unanchored_quanta   83% 6 1 0   75% 4 1   80%
python/lsst/ctrl/mpexec/cli/opt/options.py parse_mock_failure   33% 15 10 0   33% 6 2   33%
python/lsst/ctrl/mpexec/cli/opt/options.py (no function)   100% 65 0 2   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/pipetask.py cli   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/pipetask.py main   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/pipetask.py (no function)   100% 13 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/__init__.py (no function)   100% 9 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/build.py build   59% 46 19 0   59% 32 9   59%
python/lsst/ctrl/mpexec/cli/script/build.py (no function)   100% 10 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py NoSuchCollectionFailure.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py NoSuchCollectionFailure.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py NotChainedCollectionFailure.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py NotChainedCollectionFailure.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.__init__   100% 4 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.describe   100% 7 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.on_confirmation   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.failed   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.describe_failure   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py CleanupResult.can_continue   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/cleanup.py cleanup   95% 19 1 0   75% 4 1   91%
python/lsst/ctrl/mpexec/cli/script/cleanup.py (no function)   100% 21 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/confirmable.py ConfirmableResult.describe   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/confirmable.py ConfirmableResult.on_confirmation   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/confirmable.py ConfirmableResult.failed   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/confirmable.py ConfirmableResult.describe_failure   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/confirmable.py ConfirmableResult.can_continue   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/confirmable.py confirm   100% 18 0 0   92% 12 1   97%
python/lsst/ctrl/mpexec/cli/script/confirmable.py (no function)   100% 18 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/pre_exec_init_qbb.py pre_exec_init_qbb   74% 19 5 0   50% 6 3   68%
python/lsst/ctrl/mpexec/cli/script/pre_exec_init_qbb.py (no function)   100% 9 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py ChildHasMultipleParentsFailure.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py ChildHasMultipleParentsFailure.__str__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionHasParentsFailure.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionHasParentsFailure.__str__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionIsNotChainedFailure.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionIsNotChainedFailure.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionNotFoundFailure.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py TopCollectionNotFoundFailure.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.__init__   100% 5 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.describe_failure   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.describe   100% 8 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.on_confirmation   83% 6 1 0   75% 4 1   80%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.failed   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.can_continue   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py PurgeResult.fail   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py check_parents   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py prepare_to_remove   86% 14 2 0   75% 12 3   81%
python/lsst/ctrl/mpexec/cli/script/purge.py purge   100% 13 0 0   100% 4 0   100%
python/lsst/ctrl/mpexec/cli/script/purge.py (no function)   100% 32 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/qgraph.py qgraph   76% 70 17 0   72% 40 11   75%
python/lsst/ctrl/mpexec/cli/script/qgraph.py (no function)   100% 22 0 2   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/report.py report   96% 28 1 0   83% 12 2   92%
python/lsst/ctrl/mpexec/cli/script/report.py report_v2   45% 11 6 0   50% 2 1   46%
python/lsst/ctrl/mpexec/cli/script/report.py aggregate_reports   100% 7 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/report.py print_summary   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/cli/script/report.py (no function)   100% 12 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/run.py run   74% 54 14 0   56% 32 12   67%
python/lsst/ctrl/mpexec/cli/script/run.py _import_graph_fixup   21% 14 11 0   25% 4 1   22%
python/lsst/ctrl/mpexec/cli/script/run.py (no function)   100% 19 0 2   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py run_qbb   76% 25 6 0   38% 8 3   67%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py _QBBFactory.__init__   100% 4 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py _QBBFactory.__call__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py _QBBFactory._unpickle   0% 3 3 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py _QBBFactory.__reduce__   0% 7 7 0   0% 2 0   0%
python/lsst/ctrl/mpexec/cli/script/run_qbb.py (no function)   100% 25 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/script/update_graph_run.py update_graph_run   71% 7 2 0   50% 4 2   64%
python/lsst/ctrl/mpexec/cli/script/update_graph_run.py (no function)   100% 5 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/utils.py _PipelineActionType.__init__   100% 3 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/cli/utils.py _PipelineActionType.__call__   91% 11 1 0   50% 2 1   85%
python/lsst/ctrl/mpexec/cli/utils.py _PipelineActionType.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/cli/utils.py make_pipeline_actions   100% 14 0 0   100% 12 0   100%
python/lsst/ctrl/mpexec/cli/utils.py collect_pipeline_actions   100% 10 0 0   100% 4 0   100%
python/lsst/ctrl/mpexec/cli/utils.py summarize_quantum_graph   100% 13 0 0   75% 4 1   94%
python/lsst/ctrl/mpexec/cli/utils.py (no function)   100% 30 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/execFixupDataId.py (no function)   0% 4 4 0   100% 0 0   0%
python/lsst/ctrl/mpexec/executionGraphFixup.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/log_capture.py (no function)   0% 4 4 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.numProc   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.timeout   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.quantumExecutor   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.failFast   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.pdb   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.executionGraphFixup   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.report   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py MPGraphExecutor.startMethod   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/mpGraphExecutor.py (no function)   100% 28 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.initialize   0% 6 6 0   0% 4 0   0%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.initializeDatasetTypes   100% 0 0 1   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.saveInitOutputs   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.saveConfigs   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitBase.savePackageVersions   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInit.__init__   75% 4 1 0   50% 2 1   67%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInit.initializeDatasetTypes   0% 3 3 0   0% 2 0   0%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitLimited.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/preExecInit.py PreExecInitLimited.initializeDatasetTypes   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/preExecInit.py (no function)   100% 20 0 3   100% 0 0   100%
python/lsst/ctrl/mpexec/quantumGraphExecutor.py (no function)   100% 9 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/reports.py (no function)   100% 13 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/separablePipelineExecutor.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/showInfo.py _FilteredStream.__init__   90% 10 1 0   67% 6 2   81%
python/lsst/ctrl/mpexec/showInfo.py _FilteredStream.write   100% 3 0 0   100% 2 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo.__init__   100% 14 0 0   83% 6 1   95%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo.unhandled   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo.show_pipeline_info   94% 32 2 0   93% 30 2   94%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo.show_graph_info   80% 15 3 0   83% 12 2   81%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showConfig   100% 15 0 0   100% 8 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showConfigHistory   81% 31 6 0   78% 18 4   80%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showTaskHierarchy   75% 4 1 0   75% 4 1   75%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showGraph   100% 11 0 0   100% 4 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showGraph._print_refs   46% 13 7 0   43% 14 2   44%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showWorkflow   100% 5 0 0   100% 4 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showUri   100% 15 0 0   100% 10 0   100%
python/lsst/ctrl/mpexec/showInfo.py ShowInfo._showUri.dumpURIs   50% 6 3 0   25% 4 1   40%
python/lsst/ctrl/mpexec/showInfo.py (no function)   100% 35 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/simple_pipeline_executor.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.checkExistingOutputs   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.updatedQuantumInputs   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.runQuantum   0% 4 4 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.writeMetadata   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.initGlobals   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.butler   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.taskFactory   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.clobberOutputs   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.enableLsstDebug   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.limited_butler_factory   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.resources   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.assumeNoExistingOutputs   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.raise_on_partial_outputs   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.job_metadata   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py SingleQuantumExecutor.skipExisting   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/mpexec/singleQuantumExecutor.py (no function)   100% 35 0 5   100% 0 0   100%
python/lsst/ctrl/mpexec/taskFactory.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/util.py printTable   0% 9 9 0   0% 6 0   0%
python/lsst/ctrl/mpexec/util.py filterTaskNodes   89% 9 1 0   88% 8 1   88%
python/lsst/ctrl/mpexec/util.py subTaskIter   18% 11 9 0   38% 8 1   26%
python/lsst/ctrl/mpexec/util.py (no function)   100% 8 0 0   100% 0 0   100%
python/lsst/ctrl/mpexec/version.py (no function)   100% 5 0 0   100% 0 0   100%
tests/test_build.py make_tmp_file   100% 7 0 0   100% 2 0   100%
tests/test_build.py BuildTestCase._make_args   92% 13 1 0   50% 2 1   87%
tests/test_build.py BuildTestCase._make_args.fake_build   100% 2 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_make_empty_pipeline   100% 6 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_single_task_pipeline   100% 3 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_multi_task_pipeline   100% 4 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_config   100% 4 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_config_file   100% 6 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_build_show   100% 47 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_show_unrecognized   100% 2 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_missing_option   100% 6 0 0   100% 0 0   100%
tests/test_build.py BuildTestCase.test_missing_option.cli   100% 1 0 0   100% 0 0   100%
tests/test_build.py (no function)   100% 27 0 3   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.setUp   100% 4 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.test_cleanup_yesNo   100% 12 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.test_nonExistantCollection   100% 3 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.test_removedCollection   100% 9 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py CleanupCollectionTest.test_cleanupNonChained   100% 3 0 0   100% 0 0   100%
tests/test_cliCmdCleanup.py (no function)   100% 15 0 2   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.setUp   100% 4 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.test_singleChain_yesNo   100% 10 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.test_granparentChain_noConfirm   100% 7 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.test_topParentWithParent   100% 7 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.test_childWithMultipleParents   100% 9 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py PurgeTest.test_notFound_notChained   100% 6 0 0   100% 0 0   100%
tests/test_cliCmdPurge.py (no function)   100% 15 0 2   100% 0 0   100%
tests/test_cliCmdReport.py ReportTest.setUp   100% 2 0 0   100% 0 0   100%
tests/test_cliCmdReport.py ReportTest.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_cliCmdReport.py ReportTest.test_report   96% 95 4 0   64% 14 5   92%
tests/test_cliCmdReport.py ReportTest.test_aggregate_reports   100% 50 0 0   93% 14 1   98%
tests/test_cliCmdReport.py (no function)   100% 18 0 2   100% 0 0   100%
tests/test_cliCmdUpdateGraphRun.py UpdateGraphRunTest.setUp   100% 2 0 0   100% 0 0   100%
tests/test_cliCmdUpdateGraphRun.py UpdateGraphRunTest.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_cliCmdUpdateGraphRun.py UpdateGraphRunTest.test_update   100% 12 0 0   100% 0 0   100%
tests/test_cliCmdUpdateGraphRun.py (no function)   100% 13 0 2   100% 0 0   100%
tests/test_cliUtils.py PipelineActionTestCase.test_makePipelineActions   100% 9 0 0   100% 0 0   100%
tests/test_cliUtils.py PipelineActionTestCase.test_nonActions   100% 2 0 0   100% 0 0   100%
tests/test_cliUtils.py PipelineActionTestCase.test_multipleActions   100% 1 0 0   100% 0 0   100%
tests/test_cliUtils.py (no function)   100% 6 0 2   100% 0 0   100%
tests/test_preExecInit.py temporaryDirectory   100% 3 0 0   100% 0 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_saveInitOutputs   100% 8 0 0   100% 2 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_saveInitOutputs_twice   100% 12 0 0   100% 6 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_saveConfigs   100% 7 0 0   100% 2 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_saveConfigs_twice   100% 11 0 0   100% 6 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_savePackageVersions   100% 7 0 0   100% 2 0   100%
tests/test_preExecInit.py PreExecInitTestCase.test_savePackageVersions_twice   100% 11 0 0   100% 6 0   100%
tests/test_preExecInit.py (no function)   100% 15 0 2   100% 0 0   100%
tests/test_qgraph.py QgraphTest.test_qgraph_summary   100% 14 0 0   100% 0 0   100%
tests/test_qgraph.py QgraphTest.test_partial_read_counts   100% 14 0 0   100% 0 0   100%
tests/test_qgraph.py QgraphTest.test_qgraph_show   100% 19 0 0   100% 0 0   100%
tests/test_qgraph.py QgraphTest.test_missing_option   100% 6 0 0   100% 0 0   100%
tests/test_qgraph.py QgraphTest.test_missing_option.cli   100% 1 0 0   100% 0 0   100%
tests/test_qgraph.py (no function)   100% 14 0 2   100% 0 0   100%
tests/test_run.py make_tmp_file   100% 7 0 0   50% 2 1   89%
tests/test_run.py RunTestCase._make_run_args   93% 15 1 0   50% 2 1   88%
tests/test_run.py RunTestCase._make_run_args.fake_run   100% 2 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_missing_options   100% 6 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_missing_options.cli   100% 1 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg   100% 14 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_rebase   100% 22 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qgraph_qbb   100% 35 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_empty_qg   100% 11 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_no_skip_existing_inputs   100% 28 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_skip_existing_inputs   100% 28 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_extend_run   100% 27 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_clobber   100% 27 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_replace_run   100% 46 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_qg_partial_failure   100% 12 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_retained_dataset_types_option   100% 3 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_retained_forces_rerun   100% 19 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_retained_both_skipped   100% 15 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_retained_dataset_types_invalid_yaml_raises   100% 8 0 0   100% 2 0   100%
tests/test_run.py RunTestCase.test_simple_qg_prune_unanchored_anchor_absent   100% 7 0 0   100% 0 0   100%
tests/test_run.py RunTestCase.test_simple_qg_prune_unanchored_anchor_reachable   100% 7 0 0   100% 0 0   100%
tests/test_run.py CoverageTestCase.testWithCoverage   100% 2 0 0   100% 0 0   100%
tests/test_run.py CoverageTestCase.testWithMissingCoverage   67% 3 1 0   100% 0 0   67%
tests/test_run.py (no function)   100% 46 0 3   100% 0 0   100%
Total     90% 2666 257 36   73% 546 104   87%

No items found using the specified filter.