Coverage report: 80%

Files Functions Classes

coverage.py v7.13.1, created at 2026-02-13 00:10 +0900

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / app.py term   0% 16 16 0   0% 4 0   0%
src / app.py sig_handler   0% 11 11 0   0% 4 0   0%
src / app.py create_app   100% 37 0 7   50% 2 1   97%
src / app.py create_app.notify_terminate   100% 0 0 2   100% 0 0   100%
src / app.py cleanup_on_exit   100% 0 0 8   100% 0 0   100%
src / app.py (no function)   100% 19 0 24   100% 0 0   100%
src / healthz.py (no function)   0% 4 4 18   100% 0 0   0%
src / rasp_shutter / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_webapp_data   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_webapp   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_sensor_spec   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_influxdb   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_sensor   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_location   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_metrics   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_slack   67% 3 1 0   50% 2 1   60%
src / rasp_shutter / config.py _parse_liveness_file   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_liveness   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_shutter_endpoint   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_shutter   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py _parse_shutter_list   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py parse_config   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py to_my_lib_webapp_config   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / config.py load   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / config.py (no function)   100% 80 0 0   100% 0 0   100%
src / rasp_shutter / control / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py _get_stat_dir   67% 3 1 0   50% 2 1   60%
src / rasp_shutter / control / config.py _DynamicPath.__init__   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py _DynamicPath.__fspath__   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py _DynamicPath.__truediv__   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / config.py _DynamicPath.__str__   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / config.py _DynamicPath.__repr__   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / config.py _DynamicPath.parent   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / config.py _DynamicPath.exists   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / config.py _DynamicPath.unlink   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py _DynamicPath.to_path   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py get_exec_stat_path   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / config.py (no function)   100% 33 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py get_scheduler   100% 4 0 0   100% 2 0   100%
src / rasp_shutter / control / scheduler.py get_schedule_lock   100% 4 0 0   100% 2 0   100%
src / rasp_shutter / control / scheduler.py clear_scheduler_jobs   100% 8 0 0   50% 4 2   83%
src / rasp_shutter / control / scheduler.py reset_loop_sequence   0% 4 4 0   0% 2 0   0%
src / rasp_shutter / control / scheduler.py get_auto_control_event   100% 4 0 0   100% 2 0   100%
src / rasp_shutter / control / scheduler.py _signal_auto_control_completed   100% 3 0 0   50% 2 1   80%
src / rasp_shutter / control / scheduler.py wait_for_auto_control_completion   0% 5 5 0   0% 2 0   0%
src / rasp_shutter / control / scheduler.py _get_loop_condition   100% 5 0 0   100% 2 0   100%
src / rasp_shutter / control / scheduler.py get_loop_sequence   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py _increment_loop_sequence   100% 5 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py wait_for_loop_after   0% 9 9 0   0% 4 0   0%
src / rasp_shutter / control / scheduler.py get_schedule_data   100% 4 0 0   100% 2 0   100%
src / rasp_shutter / control / scheduler.py set_schedule_data   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py init   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py term   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py brightness_text   100% 4 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py brightness_text.sensor_text   100% 9 0 0   100% 4 0   100%
src / rasp_shutter / control / scheduler.py check_brightness   95% 21 1 0   90% 10 1   94%
src / rasp_shutter / control / scheduler.py exec_shutter_control_impl   100% 6 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py exec_shutter_control   100% 7 0 0   100% 4 0   100%
src / rasp_shutter / control / scheduler.py shutter_auto_open   83% 24 4 0   80% 10 2   82%
src / rasp_shutter / control / scheduler.py conv_schedule_time_to_datetime   100% 3 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py shutter_auto_close   94% 36 2 2   94% 18 1   94%
src / rasp_shutter / control / scheduler.py shutter_auto_control   100% 7 0 0   100% 4 0   100%
src / rasp_shutter / control / scheduler.py shutter_schedule_control   96% 24 1 0   90% 10 1   94%
src / rasp_shutter / control / scheduler.py schedule_validate   100% 23 0 0   100% 20 0   100%
src / rasp_shutter / control / scheduler.py schedule_store   100% 8 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py gen_schedule_default   100% 3 0 0   100% 0 0   100%
src / rasp_shutter / control / scheduler.py schedule_load   75% 12 3 0   100% 2 0   79%
src / rasp_shutter / control / scheduler.py set_schedule   100% 17 0 0   100% 12 0   100%
src / rasp_shutter / control / scheduler.py schedule_worker   97% 34 1 4   88% 8 1   95%
src / rasp_shutter / control / scheduler.py test_func   100% 0 0 3   100% 0 0   100%
src / rasp_shutter / control / scheduler.py (no function)   100% 67 0 15   100% 0 0   100%
src / rasp_shutter / control / webapi / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py _get_cmd_hist   75% 4 1 0   50% 2 1   67%
src / rasp_shutter / control / webapi / control.py _clear_cmd_hist   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py init   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.__iter__   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.__len__   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.__getitem__   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.append   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.clear   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py _CmdHistWrapper.copy   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py time_str   100% 12 0 0   100% 8 0   100%
src / rasp_shutter / control / webapi / control.py call_shutter_api   100% 10 0 0   100% 4 0   100%
src / rasp_shutter / control / webapi / control.py exec_stat_file   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py clean_stat_exec   100% 5 0 0   100% 2 0   100%
src / rasp_shutter / control / webapi / control.py get_shutter_state   100% 15 0 0   100% 10 0   100%
src / rasp_shutter / control / webapi / control.py set_shutter_state_impl   87% 30 4 0   100% 4 0   88%
src / rasp_shutter / control / webapi / control.py set_shutter_state   77% 13 3 0   100% 6 0   84%
src / rasp_shutter / control / webapi / control.py sensor_text   100% 6 0 0   100% 2 0   100%
src / rasp_shutter / control / webapi / control.py cmd_hist_push   100% 0 0 4   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py api_shutter_ctrl   100% 7 0 0   100% 2 0   100%
src / rasp_shutter / control / webapi / control.py api_shutter_ctrl_log   100% 4 0 0   100% 2 0   100%
src / rasp_shutter / control / webapi / control.py api_shutter_list   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / control.py api_dummy_open   0% 2 2 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py api_dummy_close   0% 2 2 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py api_test_control_clear   0% 3 3 0   100% 0 0   0%
src / rasp_shutter / control / webapi / control.py (no function)   100% 80 0 1   50% 2 1   99%
src / rasp_shutter / control / webapi / schedule.py init   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py term   83% 6 1 0   50% 2 1   75%
src / rasp_shutter / control / webapi / schedule.py init_impl   88% 8 1 0   50% 2 1   80%
src / rasp_shutter / control / webapi / schedule.py get_schedule_lock   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py get_schedule_queue   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py get_worker_thread   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py wday_str_list   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py schedule_entry_str   100% 7 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / schedule.py schedule_str   100% 9 0 0   100% 6 0   100%
src / rasp_shutter / control / webapi / schedule.py api_schedule_ctrl   100% 22 0 0   100% 6 0   100%
src / rasp_shutter / control / webapi / schedule.py (no function)   100% 33 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / sensor.py get_solar_altitude   0% 2 2 0   100% 0 0   0%
src / rasp_shutter / control / webapi / sensor.py get_sensor_data   0% 9 9 0   0% 4 0   0%
src / rasp_shutter / control / webapi / sensor.py api_sensor_data   100% 2 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / sensor.py (no function)   100% 16 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / test / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / test / sync.py _get_event   0% 4 4 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / sync.py wait_for_event   0% 9 9 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / sync.py signal_event   0% 4 4 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py clear_event   0% 4 4 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py get_scheduler_state   0% 5 5 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py trigger_scheduler   0% 17 17 0   0% 6 0   0%
src / rasp_shutter / control / webapi / test / sync.py wait_auto_control   0% 3 3 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py get_loop_sequence   100% 5 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / test / sync.py wait_loop   0% 7 7 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / sync.py get_shutter_state   0% 10 10 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / sync.py reset_test_state   0% 12 12 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / sync.py clear_control_log   0% 2 2 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py reset_schedule   0% 3 3 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / sync.py wait_condition   0% 21 21 0   0% 12 0   0%
src / rasp_shutter / control / webapi / test / sync.py (no function)   100% 55 0 0   100% 0 0   100%
src / rasp_shutter / control / webapi / test / time.py set_mock_time   0% 14 14 0   0% 6 0   0%
src / rasp_shutter / control / webapi / test / time.py advance_mock_time   0% 10 10 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / time.py reset_mock_time   0% 5 5 0   0% 2 0   0%
src / rasp_shutter / control / webapi / test / time.py get_current_time   0% 2 2 0   100% 0 0   0%
src / rasp_shutter / control / webapi / test / time.py (no function)   100% 21 0 0   100% 0 0   100%
src / rasp_shutter / metrics / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector.__init__   100% 3 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector._init_database   100% 7 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector._get_today_date   0% 1 1 0   100% 0 0   0%
src / rasp_shutter / metrics / collector.py MetricsCollector.record_shutter_operation   100% 17 0 0   70% 10 3   89%
src / rasp_shutter / metrics / collector.py MetricsCollector.record_failure   100% 5 0 0   50% 2 1   86%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_operation_metrics   100% 4 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_failure_metrics   0% 4 4 0   100% 0 0   0%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_all_operation_metrics   100% 4 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_all_failure_metrics   100% 4 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_recent_operation_metrics   100% 3 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py MetricsCollector.get_recent_failure_metrics   0% 3 3 0   100% 0 0   0%
src / rasp_shutter / metrics / collector.py get_collector   100% 5 0 0   100% 2 0   100%
src / rasp_shutter / metrics / collector.py reset_collector   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py record_shutter_operation   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py record_failure   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / collector.py (no function)   100% 26 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py metrics_view   73% 15 4 0   50% 2 1   71%
src / rasp_shutter / metrics / webapi / page.py favicon   0% 9 9 0   100% 0 0   0%
src / rasp_shutter / metrics / webapi / page.py generate_shutter_metrics_icon   0% 14 14 0   0% 4 0   0%
src / rasp_shutter / metrics / webapi / page.py calculate_data_period   93% 15 1 0   83% 6 1   90%
src / rasp_shutter / metrics / webapi / page.py _extract_time_data   57% 7 3 0   50% 2 1   56%
src / rasp_shutter / metrics / webapi / page.py _collect_sensor_data_by_type   100% 9 0 0   90% 10 1   95%
src / rasp_shutter / metrics / webapi / page.py generate_statistics   100% 41 0 0   82% 28 5   93%
src / rasp_shutter / metrics / webapi / page.py generate_metrics_html   100% 4 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py _extract_daily_last_operations   100% 10 0 0   67% 6 2   88%
src / rasp_shutter / metrics / webapi / page.py _extract_daily_data   87% 15 2 0   50% 2 1   82%
src / rasp_shutter / metrics / webapi / page.py prepare_time_series_data   100% 25 0 0   100% 2 0   100%
src / rasp_shutter / metrics / webapi / page.py generate_basic_stats_section   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py generate_time_analysis_section   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py generate_time_series_section   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py generate_sensor_analysis_section   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py generate_chart_javascript   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / metrics / webapi / page.py (no function)   100% 28 0 0   100% 0 0   100%
src / rasp_shutter / schemas.py (no function)   100% 39 0 0   100% 0 0   100%
src / rasp_shutter / type_defs.py SensorValue.create_valid   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / type_defs.py SensorValue.create_invalid   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / type_defs.py state_to_action_text   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / type_defs.py (no function)   100% 36 0 0   100% 0 0   100%
src / rasp_shutter / util.py is_dummy_mode   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / util.py check_dummy_mode_for_api   67% 3 1 0   50% 2 1   60%
src / rasp_shutter / util.py is_pytest_running   100% 1 0 0   100% 0 0   100%
src / rasp_shutter / util.py require_dummy_mode   100% 3 0 0   100% 0 0   100%
src / rasp_shutter / util.py require_dummy_mode.decorated_function   75% 4 1 0   50% 2 1   67%
src / rasp_shutter / util.py (no function)   100% 9 0 0   100% 0 0   100%
Total     82% 1522 274 88   70% 322 34   80%

No items found using the specified filter.