Coverage report: 83%

Files Functions Classes

coverage.py v7.14.2, created at 2026-06-21 08:50 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
python/lsst/ctrl/bps/htcondor/__init__.py (no function)   100% 5 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/common_utils.py _htc_status_to_wms_state   100% 6 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/common_utils.py _htc_job_status_to_wms_state   95% 20 1 0   88% 16 2   92%
python/lsst/ctrl/bps/htcondor/common_utils.py _htc_node_status_to_wms_state   100% 28 0 0   92% 26 2   96%
python/lsst/ctrl/bps/htcondor/common_utils.py _wms_id_type   100% 11 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/common_utils.py _wms_id_to_cluster   0% 28 28 0   0% 8 0   0%
python/lsst/ctrl/bps/htcondor/common_utils.py _wms_id_to_dir   58% 24 10 0   50% 12 4   56%
python/lsst/ctrl/bps/htcondor/common_utils.py (no function)   100% 22 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/dagman_configurator.py DagmanConfigurator.__init__   100% 14 0 0   100% 8 0   100%
python/lsst/ctrl/bps/htcondor/dagman_configurator.py DagmanConfigurator.options   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/dagman_configurator.py DagmanConfigurator.prepare   100% 9 0 0   50% 2 1   91%
python/lsst/ctrl/bps/htcondor/dagman_configurator.py DagmanConfigurator.configure   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/dagman_configurator.py (no function)   100% 19 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Handler.handle   100% 0 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.__init__   100% 4 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.__getitem__   100% 1 0 0   50% 2 1   67%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.__getitem__   100% 1 0 0   50% 2 1   67%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.__getitem__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.__len__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.append   100% 3 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py Chain.handle   100% 9 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobCompletedWithExecTicketHandler.handle   100% 12 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobCompletedWithoutExecTicketHandler.handle   100% 11 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobHeldByOtherHandler.handle   100% 9 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobHeldBySignalHandler.handle   100% 13 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobHeldByUserHandler.handle   100% 9 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobAbortedByPeriodicRemoveHandler.handle   100% 16 0 0   100% 10 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py JobAbortedByUserHandler.handle   100% 15 0 0   100% 8 0   100%
python/lsst/ctrl/bps/htcondor/handlers.py (no function)   100% 34 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_config.py (no function)   100% 3 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.defaults   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.defaults_uri   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.prepare   100% 20 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.submit   55% 22 10 0   50% 6 1   54%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.restart   0% 51 51 0   0% 22 0   0%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.list_submitted_jobs   0% 38 38 0   0% 26 0   0%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.get_status   100% 16 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.report   0% 15 15 0   0% 8 0   0%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.cancel   0% 28 28 0   0% 12 0   0%
python/lsst/ctrl/bps/htcondor/htcondor_service.py HTCondorService.ping   100% 15 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_service.py (no function)   100% 31 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_workflow.py HTCondorWorkflow.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_workflow.py HTCondorWorkflow.from_generic_workflow   100% 5 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/htcondor_workflow.py HTCondorWorkflow.write   0% 3 3 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/htcondor_workflow.py (no function)   100% 11 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__init__   100% 3 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__getitem__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__delitem__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__setitem__   67% 3 1 0   50% 2 1   60%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__iter__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__len__   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py RestrictedDict.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_backup_files   100% 29 0 0   100% 10 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_backup_files_single_path   77% 13 3 0   88% 8 1   81%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_escape   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_write_attribs   80% 5 1 0   75% 4 1   78%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_write_condor_file   100% 14 0 0   92% 12 1   96%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_tune_schedd_args   0% 7 7 0   0% 2 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_query_history   0% 6 6 0   0% 4 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_query_present   0% 4 4 0   0% 4 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_version   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_submit_dag   0% 7 7 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_create_submit_from_dag   100% 24 0 0   100% 16 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_create_submit_from_cmd   0% 12 12 0   0% 6 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_create_submit_from_file   100% 12 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py _htc_write_job_commands   100% 39 0 0   100% 32 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.__init__   100% 8 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.add_job_cmds   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.add_dag_cmds   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.add_job_attrs   100% 4 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.write_submit_file   90% 10 1 0   88% 8 1   89%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.write_dag_commands   100% 12 0 0   88% 8 1   95%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCJob.dump   0% 4 4 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.__init__   100% 7 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.add_attribs   100% 2 0 0   50% 2 1   75%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.add_job   75% 8 2 0   50% 4 2   67%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.add_job_relationships   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.add_final_job   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.add_service_job   100% 2 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.del_job   0% 4 4 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.write   61% 41 16 0   55% 20 3   59%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.dump   0% 10 10 0   0% 8 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py HTCDag.write_dot   0% 3 3 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py condor_q   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py condor_history   0% 1 1 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py condor_query   0% 23 23 0   0% 14 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py condor_search   0% 12 12 0   0% 4 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py condor_status   0% 11 11 0   0% 4 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py update_job_info   0% 8 8 0   0% 4 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py count_jobs_in_single_dag   94% 48 3 0   83% 30 5   90%
python/lsst/ctrl/bps/htcondor/lssthtc.py summarize_dag   100% 16 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py pegasus_name_to_label   56% 9 4 0   33% 6 2   47%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_single_dag_status   41% 22 13 0   25% 4 1   38%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_dag_status   100% 20 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_single_node_status   93% 73 5 0   77% 26 4   89%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_node_status   100% 25 0 0   100% 16 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_single_dag_log   100% 16 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_dag_log   100% 11 0 0   50% 2 1   92%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_single_dag_nodes_log   68% 25 8 0   88% 8 1   73%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_dag_nodes_log   100% 10 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py read_dag_info   100% 12 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py write_dag_info   0% 11 11 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_tweak_log_info   100% 36 0 0   95% 22 1   98%
python/lsst/ctrl/bps/htcondor/lssthtc.py htc_check_dagman_output   94% 35 2 0   94% 18 1   94%
python/lsst/ctrl/bps/htcondor/lssthtc.py _read_rescue_headers   100% 25 0 0   81% 16 3   93%
python/lsst/ctrl/bps/htcondor/lssthtc.py _write_rescue_headers   100% 8 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py _copy_done_lines   67% 9 3 0   100% 4 0   77%
python/lsst/ctrl/bps/htcondor/lssthtc.py _update_rescue_file   100% 10 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py _update_dicts   100% 4 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/lssthtc.py _locate_schedds   0% 6 6 0   0% 2 0   0%
python/lsst/ctrl/bps/htcondor/lssthtc.py (no function)   99% 141 2 0   50% 2 1   98%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _create_job   100% 35 0 0   100% 10 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _translate_job_cmds   94% 65 4 0   85% 46 7   90%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _translate_dag_cmds   100% 5 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _fix_env_var_syntax   100% 4 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _replace_file_vars   16% 19 16 0   12% 16 2   14%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _replace_cmd_vars   50% 8 4 0   100% 0 0   50%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _replace_wms_vars   100% 9 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _handle_job_inputs   33% 15 10 0   20% 10 2   28%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _handle_job_outputs   100% 15 0 0   100% 6 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _create_periodic_release_expr   100% 21 0 0   92% 12 1   97%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _create_periodic_remove_expr   100% 8 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _create_request_memory_expr   100% 3 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _gather_site_values   72% 40 11 0   78% 18 4   74%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _gather_label_values   100% 25 0 0   100% 16 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _group_to_subdag   100% 7 0 0   50% 2 1   89%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _create_check_job   100% 4 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/prepare_utils.py _generic_workflow_to_htcondor_dag   61% 74 29 1   48% 42 8   56%
python/lsst/ctrl/bps/htcondor/prepare_utils.py (no function)   100% 30 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/provisioner.py Provisioner.__init__   88% 8 1 0   50% 2 1   80%
python/lsst/ctrl/bps/htcondor/provisioner.py Provisioner.configure   100% 17 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/provisioner.py Provisioner.prepare   100% 11 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/provisioner.py Provisioner.provision   100% 11 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/provisioner.py (no function)   100% 12 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_status_from_id   100% 11 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_status_from_path   100% 12 0 0   100% 2 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _report_from_path   0% 5 5 0   0% 2 0   0%
python/lsst/ctrl/bps/htcondor/report_utils.py _report_from_id   0% 36 36 0   0% 12 0   0%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_info_from_schedd   0% 9 9 0   100% 0 0   0%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_info_from_path   90% 39 4 0   75% 8 2   87%
python/lsst/ctrl/bps/htcondor/report_utils.py _create_detailed_report_from_jobs   87% 31 4 0   92% 12 1   88%
python/lsst/ctrl/bps/htcondor/report_utils.py _add_service_job_specific_info   100% 16 0 0   100% 10 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _summary_report   0% 22 22 0   0% 12 0   0%
python/lsst/ctrl/bps/htcondor/report_utils.py _add_run_info   33% 18 12 0   0% 6 0   25%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_owner   43% 7 4 0   25% 4 1   36%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_run_summary   90% 10 1 0   83% 6 1   88%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_exit_code_summary   100% 19 0 0   100% 8 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_state_counts_from_jobs   100% 6 0 0   100% 4 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py _get_state_counts_from_dag_job   44% 18 10 0   25% 4 1   41%
python/lsst/ctrl/bps/htcondor/report_utils.py _update_jobs   75% 4 1 0   75% 4 1   75%
python/lsst/ctrl/bps/htcondor/report_utils.py is_service_job   100% 1 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/report_utils.py (no function)   100% 27 0 0   100% 0 0   100%
python/lsst/ctrl/bps/htcondor/version.py (no function)   100% 6 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testNotReady   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testReady   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testPrerun   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testSubmittedHeld   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testSubmittedRunning   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testSubmittedPending   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testPostrun   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testDone   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testErrorDagmanSuccess   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testErrorDagmanFailure   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testFutile   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcNodeStatusToWmsStateTestCase.testDeletedJob   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcStatusToWmsStateTestCase.testJobStatus   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcStatusToWmsStateTestCase.testNodeStatus   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcStatusToWmsStateTestCase.testNeitherStatus   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py HtcStatusToWmsStateTestCase.testRetrySuccess   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdToDirTestCase.testInvalidIdType   100% 4 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdToDirTestCase.testAbsPathId   100% 5 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdToDirTestCase.testRelPathId   100% 10 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdTypeTestCase.testIntId   100% 2 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdTypeTestCase.testPathId   100% 3 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdTypeTestCase.testGlobalId   100% 2 0 0   100% 0 0   100%
tests/test_common_utils.py WmsIdTypeTestCase.testUnknownType   100% 2 0 0   100% 0 0   100%
tests/test_common_utils.py (no function)   100% 41 0 2   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testInitDefaultSearchOptions   100% 5 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testInitCustomSearchOptions   100% 5 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testInitWrongOptionType   100% 3 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testInitUnsupportedDagmanOption   100% 5 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testInitNoWmsConfig   100% 3 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testPrepare   100% 6 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testPrepareWithUnsupportedOption   100% 7 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testPrepareConfigWriteFailure   100% 7 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testConfigure   100% 7 0 0   100% 0 0   100%
tests/test_dagman_configurator.py DagmanConfiguratorTestCase.testConfigureIfNotPrepared   100% 4 0 0   100% 0 0   100%
tests/test_dagman_configurator.py (no function)   100% 23 0 0   100% 0 0   100%
tests/test_handlers.py DummyHandler.handle   0% 1 1 0   100% 0 0   0%
tests/test_handlers.py RaisingHandler.handle   0% 1 1 0   100% 0 0   0%
tests/test_handlers.py ChainTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py ChainTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py ChainTestCase.testDefaultInitialization   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py ChainTestCase.testCustomInitialization   100% 4 0 0   100% 0 0   100%
tests/test_handlers.py ChainTestCase.testAppendingHandler   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py ChainTestCase.testAppendingNonHandler   100% 4 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.testNormalTermination   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.testAbnormalTermination   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.testNotHandlingMissingExecTicket   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithExecTicketHandlerTestCase.testNotHandlingJobNotCompleted   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.testNormalTermination   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.testAbnormalTermination   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.testNotHandlingExecTicketExists   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobCompletedWithoutExecTicketHandlerTestCase.testNotHandlingJobNotCompleted   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.testHeld   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.testHeldBySignal   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.testHeldByUser   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldOtherTestCase.testNotHandlingJobNotHeld   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.testSignalAvailable   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.testSignalNotAvailable   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.testNotHandlingInvalidHoldReasonCode   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldBySignalHandlerTestCase.testNotHandlingJobNotHeld   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldByUserHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldByUserHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldByUserHandlerTestCase.testHandling   100% 7 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldByUserHandlerTestCase.testNotHandlingInvalidHoldReaconCode   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobHeldByUserHandlerTestCase.testNotHandlingJobNotHeld   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testHandling   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testHandlingWithHoldReasonNoExitSignal   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testHandlingWithoutHoldReason   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testNotHandlingJobNotRemoved   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testNotHandlingJobNotRemovedByPeriodicRemoval   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByPeriodicRemoveHandlerTestCase.testNotHandlingNoReason   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testHandlingAbortedDagmanJob   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testHandlingAbortedPayloadJob   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testHandlingAbortedSubdagJob   100% 6 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testNotHandlingJobNotRemoved   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testNotHandlingJobNotRemovedByUser   100% 5 0 0   100% 0 0   100%
tests/test_handlers.py JobAbortedByUserHandlerTestCase.testNotHandlingNoReason   100% 4 0 0   100% 0 0   100%
tests/test_handlers.py (no function)   100% 68 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testDefaults   100% 1 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testDefaultsPath   100% 2 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testPingSuccess   100% 3 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testPingFailure   100% 5 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testPingPermission   100% 5 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testGetStatusLocal   100% 10 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testGetStatusGlobal   100% 11 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testGetStatusPath   100% 9 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testGetStatusUnknownType   100% 6 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testPrepare   100% 6 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testPrepareProvision   100% 16 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testSubmitWithConfigPath   100% 17 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testSubmitWithConfigPath._fake_htc_create_submit_from_dag   100% 1 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testSubmitWithoutConfigPath   100% 17 0 0   100% 0 0   100%
tests/test_htcondor_service.py HTCondorServiceTestCase.testSubmitWithoutConfigPath._fake_htc_create_submit_from_dag   100% 1 0 0   100% 0 0   100%
tests/test_htcondor_service.py (no function)   100% 47 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcEscapeInt   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcEscapeDouble   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcEscapeSingle   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcEscapeNoSideEffect   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcEscapeQuot   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py TestLsstHtc.testHtcVersion   100% 2 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.setUp   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testDirectAssignments   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testIncompatibleAdPassThru   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentJobAbortedEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentExecuteEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentSubmitEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentJobHeldEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentJobTerminatedEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentPostScriptTerminatedEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentReleaseEventMainDagJob   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testJobStatusAssignmentReleaseEventForNodeJob   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testAddingExitStatusSuccess   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testAddingExitStatusFailure   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testLoggingUnknownLogEvent   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcTweakJobInfoTestCase.testMissingKey   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCheckDagmanOutputTestCase.test_missing_output_file   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCheckDagmanOutputTestCase.test_permissions_output_file   100% 7 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCheckDagmanOutputTestCase.test_submit_failure   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCheckDagmanOutputTestCase.test_tmpdir_abort   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCheckDagmanOutputTestCase.test_no_messages   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py SummarizeDagTestCase.test_no_dag_file   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py SummarizeDagTestCase.test_success   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py SummarizeDagTestCase.test_service   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py SummarizeDagTestCase.test_noop   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py SummarizeDagTestCase.test_subdags   100% 7 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagNodesLogTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagNodesLogTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagNodesLogTestCase.testFileMissing   100% 2 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagNodesLogTestCase.testRegular   100% 8 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagNodesLogTestCase.testSubdags   100% 7 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.testServiceJobNotSubmitted   100% 9 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.testMissingStatusFile   100% 10 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.testSubdagsRunning   100% 22 0 0   100% 4 0   100%
tests/test_lssthtc.py ReadNodeStatusTestCase.testSubdagsFailed   100% 24 0 0   100% 4 0   100%
tests/test_lssthtc.py HTCJobTestCase.testWriteDagCommandsPayload   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCJobTestCase.testWriteDagCommandsNotJob   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCJobTestCase.testWriteDagCommandsNoop   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCJobTestCase.testWriteSubmitFile   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCJobTestCase.testWriteSubmitFileExists   100% 8 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcWriteJobCommands.testAllCommands   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcWriteJobCommands.testPartialCommands   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcWriteJobCommands.testNoCommands   100% 4 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcWriteJobCommands.testFinal   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCBackupFilesSinglePathTestCase.testSrcDestSame   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCBackupFilesSinglePathTestCase.testSuccess   100% 15 0 0   100% 4 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testDirectoryNotFound   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testSuccess   100% 10 0 0   100% 2 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testDestNotInSubmitDir   100% 13 0 0   100% 2 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testDestInSubmitDir   100% 11 0 0   100% 2 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testRelativeSubdir   100% 10 0 0   100% 2 0   100%
tests/test_lssthtc.py HTCBackupFilesTestCase.testSubdags   100% 10 0 0   100% 2 0   100%
tests/test_lssthtc.py UpdateRescueFileTestCase.testSuccess   100% 14 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagStatusTestCase.testFileMissing   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagStatusTestCase.testRegular   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagStatusTestCase.testSubdags   100% 7 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagInfoTestCase.testFileMissing   100% 3 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagInfoTestCase.testSuccess   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py ReadDagInfoTestCase.testPermissionError   100% 8 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcWriteCondorFileTestCase.testSuccess   100% 12 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.setUpClass   100% 1 0 9   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.tearDownClass   50% 2 1 0   50% 2 1   50%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxIdleEnvVar   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxIdleInDAGManConfig   100% 8 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxIdleNotInDAGManConfig   100% 8 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxIdleGiven   100% 5 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxJobsIdleParam   100% 10 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxJobsIdleParam._fake_params_contains   100% 2 0 1   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testMaxJobsIdleParam._fake_params_get   100% 2 0 1   100% 0 0   100%
tests/test_lssthtc.py HtcCreateSubmitFromDagTestCase.testNoMaxJobsIdle   100% 8 0 0   100% 2 0   100%
tests/test_lssthtc.py HtcDagTestCase.setUp   100% 6 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcDagTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcDagTestCase.testWriteWithDagConfig   100% 19 0 0   100% 0 0   100%
tests/test_lssthtc.py HtcDagTestCase.testWriteWithoutDagConfig   100% 14 0 0   100% 0 0   100%
tests/test_lssthtc.py (no function)   100% 120 0 2   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testRetryUnlessNone   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testRetryUnlessInt   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testRetryUnlessList   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testRetryUnlessBad   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testEnvironmentBasic   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testEnvironmentSpaces   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testEnvironmentSingleQuotes   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testEnvironmentDoubleQuotes   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testEnvironmentWithEnvVars   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testPeriodicRelease   100% 7 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testPeriodicRemoveNoRetries   100% 8 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testProfileJobCommands   100% 8 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testProfileCached   100% 9 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateJobCmdsTestCase.testArgumentsReplaceWmsVars   100% 9 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateDagCmdsTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_prepare_utils.py TranslateDagCmdsTestCase.testPriority   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GroupToSubdagTestCase.testBlocking   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherSiteValuesTestCase.testAllThere   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherSiteValuesTestCase.testNotSpecified   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherSiteValuesTestCase.testGlobalNodeset   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherSiteValuesTestCase.testSiteNodeset   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherSiteValuesTestCase.testAttrsProfile   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherLabelValuesTestCase.testClusterLabel   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherLabelValuesTestCase.testPipetaskLabel   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherLabelValuesTestCase.testNoSection   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherLabelValuesTestCase.testNoOverwriteSpecified   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py GatherLabelValuesTestCase.testFinalJob   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreateCheckJobTestCase.testSuccess   100% 6 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testNoReleaseExpr   100% 2 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testMultiplierNone   100% 2 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testJustMemoryReleaseExpr   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testJustUserReleaseExpr   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testJustUserReleaseExprMultiplierNone   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicReleaseExprTestCase.testMemoryAndUserReleaseExpr   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicRemoveExprTestCase.testBasicRemoveExpr   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicRemoveExprTestCase.testBasicRemoveExprMultiplierNone   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreatePeriodicRemoveExprTestCase.testMemoryRemoveExpr   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testNoOutputsSharedFilesystem   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testWithOutputsSharedFilesystem   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testNoOutputsNoSharedFilesystem   100% 4 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testWithAnOutputNoSharedFilesystem   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testWithOutputsNoSharedFilesystem   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py HandleJobOutputsTestCase.testLogging   100% 8 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreateJobTestCase.setUp   100% 2 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreateJobTestCase.testNoOverwrite   100% 12 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreateJobTestCase.testNodesetWithNoRequirements   100% 6 0 0   100% 0 0   100%
tests/test_prepare_utils.py CreateJobTestCase.testNodesetWithRequirements   100% 6 0 0   100% 0 0   100%
tests/test_prepare_utils.py ReplaceWmsVarsTestCase.testNoWmsVar   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py ReplaceWmsVarsTestCase.testAttemptNum   100% 3 0 0   100% 0 0   100%
tests/test_prepare_utils.py ReplaceWmsVarsTestCase.testUnrecognized   100% 5 0 0   100% 0 0   100%
tests/test_prepare_utils.py (no function)   100% 73 0 2   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testConfigureWithoutExistingConfig   100% 12 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testConfigureWithExistingConfig   100% 11 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testConfigureNoConfigRequired   100% 10 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testConfigureOsError   100% 9 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testPrepare   100% 16 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testPrepareIfNotConfigured   100% 3 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testProvision   100% 16 0 0   100% 0 0   100%
tests/test_provisioner.py ProvisionerTestCase.testProvisionError   100% 4 0 0   100% 0 0   100%
tests/test_provisioner.py (no function)   100% 20 0 2   100% 0 0   100%
tests/test_report_utils.py GetExitCodeSummaryTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_report_utils.py GetExitCodeSummaryTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_report_utils.py GetExitCodeSummaryTestCase.testMainScenario   100% 3 0 0   100% 0 0   100%
tests/test_report_utils.py GetExitCodeSummaryTestCase.testUnknownStatus   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetExitCodeSummaryTestCase.testUnknownKey   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetStateCountsFromDagJobTestCase.setUp   100% 1 0 0   100% 0 0   100%
tests/test_report_utils.py GetStateCountsFromDagJobTestCase.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_report_utils.py GetStateCountsFromDagJobTestCase.testCounts   100% 5 0 0   100% 0 0   100%
tests/test_report_utils.py GetInfoFromPathTestCase.test_tmpdir_abort   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetInfoFromPathTestCase.test_no_dagman_messages   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetInfoFromPathTestCase.test_successful_run   100% 11 0 0   100% 0 0   100%
tests/test_report_utils.py GetInfoFromPathTestCase.test_relative_path   100% 17 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testNotSubmitted   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testRunning   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testDied   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testDeleted   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testSucceedEarly   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testSucceedOldRemoveMessage   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testSucceed   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testUserHeldWhileRunning   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldByHTC   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedRunning   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedDied   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedSuccessEarly   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedSuccess   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedDeleted   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py AddServiceJobSpecificInfoTestCase.testHeldReleasedHeld   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py GetRunSummaryTestCase.testJobSummaryInJobAd   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py GetRunSummaryTestCase.testRunSummaryInJobAd   100% 4 0 0   100% 0 0   100%
tests/test_report_utils.py GetRunSummaryTestCase.testSummaryFromDag   100% 5 0 0   100% 0 0   100%
tests/test_report_utils.py GetRunSummaryTestCase.testSummaryNoDag   100% 7 0 0   100% 0 0   100%
tests/test_report_utils.py IsServiceJobTestCase.testNotServiceJob   100% 2 0 0   100% 0 0   100%
tests/test_report_utils.py IsServiceJobTestCase.testIsServiceJob   100% 2 0 0   100% 0 0   100%
tests/test_report_utils.py IsServiceJobTestCase.testMissingBpsType   100% 2 0 0   100% 0 0   100%
tests/test_report_utils.py CreateDetailedReportFromJobsTestCase.testTinySuccess   100% 13 0 0   100% 0 0   100%
tests/test_report_utils.py CreateDetailedReportFromJobsTestCase.testTinyProblems   100% 13 0 0   100% 0 0   100%
tests/test_report_utils.py CreateDetailedReportFromJobsTestCase.testTinyRunning   100% 13 0 0   100% 0 0   100%
tests/test_report_utils.py CreateDetailedReportFromJobsTestCase.testNoopRunning   100% 14 0 0   100% 0 0   100%
tests/test_report_utils.py CreateDetailedReportFromJobsTestCase.testNoopFailed   100% 15 0 0   100% 0 0   100%
tests/test_report_utils.py GetStatusFromIdTestCase.testNotFound   100% 5 0 0   100% 0 0   100%
tests/test_report_utils.py GetStatusFromIdTestCase.testFound   100% 9 0 0   100% 0 0   100%
tests/test_report_utils.py GetStatusFromPathTestCase.testNoDagLog   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetStatusFromPathTestCase.testSuccess   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py GetStatusFromPathTestCase.testFailure   100% 6 0 0   100% 0 0   100%
tests/test_report_utils.py (no function)   100% 69 0 2   100% 0 0   100%
Total     87% 4251 568 22   68% 912 78   83%

No items found using the specified filter.