
test_asteroids.py
test_api_format_errors_and_negative_zero_declination (test_asteroids.AsteroidTests.test_api_format_errors_and_negative_zero_declination) ... ok
test_automatic_search_never_uses_a_filename_as_an_object_name (test_asteroids.AsteroidTests.test_automatic_search_never_uses_a_filename_as_an_object_name) ... ok
test_cancel_and_network_failure_do_not_assign_a_name (test_asteroids.AsteroidTests.test_cancel_and_network_failure_do_not_assign_a_name) ... ok
test_ephemeris_matches_requested_times_and_uses_icrf_not_apparent (test_asteroids.AsteroidTests.test_ephemeris_matches_requested_times_and_uses_icrf_not_apparent) ... ok
test_export_keeps_measured_coordinates_and_restores_name_with_session (test_asteroids.AsteroidTests.test_export_keeps_measured_coordinates_and_restores_name_with_session) ... ok
test_multiple_compatible_candidates_are_not_chosen_automatically (test_asteroids.AsteroidTests.test_multiple_compatible_candidates_are_not_chosen_automatically) ... ok
test_numbered_and_provisional_designations_are_not_confused (test_asteroids.AsteroidTests.test_numbered_and_provisional_designations_are_not_confused) ... ok
test_observer_units_missing_height_and_manual_override (test_asteroids.AsteroidTests.test_observer_units_missing_height_and_manual_override) ... ok
test_single_position_is_marked_as_position_only_and_far_object_rejected (test_asteroids.AsteroidTests.test_single_position_is_marked_as_position_only_and_far_object_rejected) ... ok
test_stationary_star_near_asteroid_is_rejected_by_motion (test_asteroids.AsteroidTests.test_stationary_star_near_asteroid_is_rejected_by_motion) ... ok
test_true_motion_across_ra_wrap_is_compatible (test_asteroids.AsteroidTests.test_true_motion_across_ra_wrap_is_compatible) ... ok

----------------------------------------------------------------------
Ran 11 tests in 6.834s

OK

test_backend.py
test_angular_motion_wrap_rotation_and_declination (test_backend.BackendTests.test_angular_motion_wrap_rotation_and_declination) ... ok
test_bayer_green_pattern_and_offset (test_backend.BackendTests.test_bayer_green_pattern_and_offset) ... ok
test_cancel_and_missing_wcs (test_backend.BackendTests.test_cancel_and_missing_wcs) ... ok
test_cancelled_export_keeps_existing_destination (test_backend.BackendTests.test_cancelled_export_keeps_existing_destination) ... ok
test_catalog_returns_only_candidates_in_radius (test_backend.BackendTests.test_catalog_returns_only_candidates_in_radius) ... ok
test_csv_png_svg_metadata_and_animated_gif (test_backend.BackendTests.test_csv_png_svg_metadata_and_animated_gif) ... ok
test_real_photometry_six_references_transparency_exposure_and_rotation (test_backend.BackendTests.test_real_photometry_six_references_transparency_exposure_and_rotation) ... ok
test_time_midpoint_and_coordinate_formats (test_backend.BackendTests.test_time_midpoint_and_coordinate_formats) ... ok

----------------------------------------------------------------------
Ran 8 tests in 3.656s

OK

test_desktop_180.py
test_auto_is_a_saved_mode_and_manual_legacy_preferences_win (test_desktop_180.DesktopTests.test_auto_is_a_saved_mode_and_manual_legacy_preferences_win) ... ok
test_calibration_preferences_validate_restore_and_clear (test_desktop_180.DesktopTests.test_calibration_preferences_validate_restore_and_clear) ... ok
test_installer_and_process_keep_the_same_taskbar_identity_and_retina_assets (test_desktop_180.DesktopTests.test_installer_and_process_keep_the_same_taskbar_identity_and_retina_assets) ... ok
test_locale_variants_and_unsupported_scripts_fall_back_correctly (test_desktop_180.DesktopTests.test_locale_variants_and_unsupported_scripts_fall_back_correctly) ... ok
test_mac_root_receives_1024_image_and_dialogs_never_downgrade_it (test_desktop_180.DesktopTests.test_mac_root_receives_1024_image_and_dialogs_never_downgrade_it) ... ok
test_posix_language_priority_and_english_fallback (test_desktop_180.DesktopTests.test_posix_language_priority_and_english_fallback) ... ok
test_windows_and_mac_use_ui_preferences_instead_of_regional_locale (test_desktop_180.DesktopTests.test_windows_and_mac_use_ui_preferences_instead_of_regional_locale) ... ok
test_windows_dpi_switch_loads_exact_sizes_and_releases_only_owned_handles (test_desktop_180.DesktopTests.test_windows_dpi_switch_loads_exact_sizes_and_releases_only_owned_handles) ... ok
test_windows_tk_bitmap_is_set_before_pngs_and_native_dpi_refinement (test_desktop_180.DesktopTests.test_windows_tk_bitmap_is_set_before_pngs_and_native_dpi_refinement) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.240s

OK

test_distribution.py
test_architecture_names_and_unsupported_host (test_distribution.DistributionTests.test_architecture_names_and_unsupported_host) ... ok
test_cross_platform_build_is_rejected_before_creating_environment (test_distribution.DistributionTests.test_cross_platform_build_is_rejected_before_creating_environment) ... usage: python3 -m unittest [-h] --platform {linux,macos} [--installer]
                           [--skip-install] [--maintainer MAINTAINER]
                           [--codesign-identity CODESIGN_IDENTITY]
                           [--notary-profile NOTARY_PROFILE]
python3 -m unittest: error: Esegui questa build sul sistema operativo di destinazione.
ok
test_deb_maintainer_cannot_inject_a_control_field (test_distribution.DistributionTests.test_deb_maintainer_cannot_inject_a_control_field) ... ok
test_notarization_requires_signing_identity (test_distribution.DistributionTests.test_notarization_requires_signing_identity) ... usage: python3 -m unittest [-h] --platform {linux,macos} [--installer]
                           [--skip-install] [--maintainer MAINTAINER]
                           [--codesign-identity CODESIGN_IDENTITY]
                           [--notary-profile NOTARY_PROFILE]
python3 -m unittest: error: La notarizzazione richiede macOS e --codesign-identity.
ok
test_real_deb_container_has_launcher_icons_license_and_executable_mode (test_distribution.DistributionTests.test_real_deb_container_has_launcher_icons_license_and_executable_mode) ... 
> dpkg-deb --root-owner-group --build /workspace/scratch/71442ef0df15/tmp/tmpgsrt3oir/build/deb-stage /workspace/scratch/71442ef0df15/tmp/tmpgsrt3oir/releases/MeStar-v0.11.0-ubuntu-amd64.deb
dpkg-deb: building package 'mestar' in '/workspace/scratch/71442ef0df15/tmp/tmpgsrt3oir/releases/MeStar-v0.11.0-ubuntu-amd64.deb'.
ok
test_self_test_rejects_nonfrozen_or_wrong_version_and_removes_stale_report (test_distribution.DistributionTests.test_self_test_rejects_nonfrozen_or_wrong_version_and_removes_stale_report) ... ok
test_source_archive_has_license_and_build_scripts_but_not_private_outputs (test_distribution.DistributionTests.test_source_archive_has_license_and_build_scripts_but_not_private_outputs) ... ok

----------------------------------------------------------------------
Ran 7 tests in 0.059s

OK

test_equatorial_190.py
test_absolute_bars_do_not_depend_on_missing_origin_error_and_include_cos_dec (test_equatorial_190.EquatorialTrajectoryTests.test_absolute_bars_do_not_depend_on_missing_origin_error_and_include_cos_dec) ... ok
test_coordinate_covariance_units_are_distinct_from_projected_errors (test_equatorial_190.EquatorialTrajectoryTests.test_coordinate_covariance_units_are_distinct_from_projected_errors) ... ok
test_coordinate_formatting_carries_wrap_and_sign_correctly (test_equatorial_190.EquatorialTrajectoryTests.test_coordinate_formatting_carries_wrap_and_sign_correctly) ... ok
test_first_real_position_has_nonzero_bar_and_exports_coordinate_uncertainties (test_equatorial_190.EquatorialTrajectoryTests.test_first_real_position_has_nonzero_bar_and_exports_coordinate_uncertainties) ... ok
test_matplotlib_and_canvas_use_the_same_per_position_error_arrays (test_equatorial_190.EquatorialTrajectoryTests.test_matplotlib_and_canvas_use_the_same_per_position_error_arrays) ... ok
test_polar_ra_error_is_missing_and_stationary_display_has_finite_span (test_equatorial_190.EquatorialTrajectoryTests.test_polar_ra_error_is_missing_and_stationary_display_has_finite_span) ... ok

----------------------------------------------------------------------
Ran 6 tests in 0.994s

OK

test_gaia_mirrors.py
test_all_failed_servers_are_reported_without_writing_cache (test_gaia_mirrors.GaiaMirrorTests.test_all_failed_servers_are_reported_without_writing_cache) ... ok
test_cancellation_between_servers_does_not_start_second_request (test_gaia_mirrors.GaiaMirrorTests.test_cancellation_between_servers_does_not_start_second_request) ... ok
test_cancellation_during_mirror_read_closes_response_and_leaves_no_cache (test_gaia_mirrors.GaiaMirrorTests.test_cancellation_during_mirror_read_closes_response_and_leaves_no_cache) ... ok
test_cancellation_on_primary_failure_prevents_mirror_attempt (test_gaia_mirrors.GaiaMirrorTests.test_cancellation_on_primary_failure_prevents_mirror_attempt) ... ok
test_connection_timeout_and_http_failures_use_identical_query_on_idia (test_gaia_mirrors.GaiaMirrorTests.test_connection_timeout_and_http_failures_use_identical_query_on_idia) ... ok
test_invalid_truncated_and_oversized_tables_fall_back_before_caching (test_gaia_mirrors.GaiaMirrorTests.test_invalid_truncated_and_oversized_tables_fall_back_before_caching) ... ok
test_mirror_and_primary_produce_identical_scientific_results (test_gaia_mirrors.GaiaMirrorTests.test_mirror_and_primary_produce_identical_scientific_results) ... ok
test_mirror_cache_is_reused_and_legacy_cache_remains_compatible (test_gaia_mirrors.GaiaMirrorTests.test_mirror_cache_is_reused_and_legacy_cache_remains_compatible) ... ok
test_primary_success_does_not_contact_mirror (test_gaia_mirrors.GaiaMirrorTests.test_primary_success_does_not_contact_mirror) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.360s

OK

test_https_startup.py
test_bootstrap_is_idempotent_and_default_context_verifies_server (test_https_startup.HTTPSStartupTests.test_bootstrap_is_idempotent_and_default_context_verifies_server) ... ok
test_jpl_endpoints_use_fresh_verified_contexts_without_bootstrap (test_https_startup.HTTPSStartupTests.test_jpl_endpoints_use_fresh_verified_contexts_without_bootstrap) ... ok
test_launcher_bootstraps_before_gui_and_bundle_check_imports (test_https_startup.HTTPSStartupTests.test_launcher_bootstraps_before_gui_and_bundle_check_imports) ... ok
test_missing_dependency_never_sends_jpl_request_or_leaves_lock (test_https_startup.HTTPSStartupTests.test_missing_dependency_never_sends_jpl_request_or_leaves_lock) ... ok
test_simbad_certificate_error_never_retries_or_writes_cache (test_https_startup.HTTPSStartupTests.test_simbad_certificate_error_never_retries_or_writes_cache) ... ok
test_source_entry_point_bootstraps_before_gui_import (test_https_startup.HTTPSStartupTests.test_source_entry_point_bootstraps_before_gui_import) ... ok

----------------------------------------------------------------------
Ran 6 tests in 0.410s

OK

test_i18n.py
test_all_literal_ui_and_backend_keys_are_catalogued (test_i18n.LocalizationTests.test_all_literal_ui_and_backend_keys_are_catalogued) ... ok
test_bundled_font_covers_chinese_catalog_and_language_names (test_i18n.LocalizationTests.test_bundled_font_covers_chinese_catalog_and_language_names) ... ok
test_catalogs_are_complete_and_preserve_format_fields (test_i18n.LocalizationTests.test_catalogs_are_complete_and_preserve_format_fields) ... ok
test_chinese_plot_exports_without_missing_glyphs (test_i18n.LocalizationTests.test_chinese_plot_exports_without_missing_glyphs) ... ok
test_locale_does_not_change_coordinate_values (test_i18n.LocalizationTests.test_locale_does_not_change_coordinate_values) ... ok
test_localized_frame_error_keeps_filename_and_source_id (test_i18n.LocalizationTests.test_localized_frame_error_keeps_filename_and_source_id) ... ok
test_unknown_language_is_rejected_without_mutating_current (test_i18n.LocalizationTests.test_unknown_language_is_rejected_without_mutating_current) ... ok

----------------------------------------------------------------------
Ran 7 tests in 1.164s

OK

test_identity_wcs_150.py
test_actual_name_editor_commits_catalog_alias_and_updates_results_without_recalculation (test_identity_wcs_150.IdentityWcsTests.test_actual_name_editor_commits_catalog_alias_and_updates_results_without_recalculation) ... ok
test_alias_overrides_star_name_without_changing_catalog_and_can_be_cleared (test_identity_wcs_150.IdentityWcsTests.test_alias_overrides_star_name_without_changing_catalog_and_can_be_cleared) ... ok
test_asteroid_visual_magnitude_and_original_identity_survive_alias (test_identity_wcs_150.IdentityWcsTests.test_asteroid_visual_magnitude_and_original_identity_survive_alias) ... ok
test_default_filenames_use_first_exposure_date_and_current_preferred_name (test_identity_wcs_150.IdentityWcsTests.test_default_filenames_use_first_exposure_date_and_current_preferred_name) ... ok
test_export_uses_the_same_catalog_match_radius_as_the_display (test_identity_wcs_150.IdentityWcsTests.test_export_uses_the_same_catalog_match_radius_as_the_display) ... ok
test_header_only_wcs_export_and_dimension_mismatch_rejection (test_identity_wcs_150.IdentityWcsTests.test_header_only_wcs_export_and_dimension_mismatch_rejection) ... WARNING: FITSFixedWarning: The WCS transformation has more axes (2) than the image it is associated with (0) [astropy.wcs.wcs]
ok
test_missing_wcs_and_cancelled_export_do_not_create_or_replace_files (test_identity_wcs_150.IdentityWcsTests.test_missing_wcs_and_cancelled_export_do_not_create_or_replace_files) ... ok
test_result_export_keeps_catalog_name_and_restores_alias_and_requested_channels (test_identity_wcs_150.IdentityWcsTests.test_result_export_keeps_catalog_name_and_restores_alias_and_requested_channels) ... ok
test_sequence_wcs_roundtrip_matches_reordered_files_and_preserves_existing_pixels (test_identity_wcs_150.IdentityWcsTests.test_sequence_wcs_roundtrip_matches_reordered_files_and_preserves_existing_pixels) ... ok
test_stacked_filename_uses_earliest_original_not_weighted_group_time (test_identity_wcs_150.IdentityWcsTests.test_stacked_filename_uses_earliest_original_not_weighted_group_time) ... ok

----------------------------------------------------------------------
Ran 10 tests in 1.961s

OK

test_jpl_transport.py
test_120_epochs_are_batched_serially_preserving_times_units_and_cache (test_jpl_transport.JPLTransportTests.test_120_epochs_are_batched_serially_preserving_times_units_and_cache) ... ok
test_bad_request_and_certificate_failure_are_not_retried (test_jpl_transport.JPLTransportTests.test_bad_request_and_certificate_failure_are_not_retried) ... ok
test_cancel_during_retry_does_not_send_another_request (test_jpl_transport.JPLTransportTests.test_cancel_during_retry_does_not_send_another_request) ... ok
test_different_objects_across_batches_are_rejected (test_jpl_transport.JPLTransportTests.test_different_objects_across_batches_are_rejected) ... ok
test_exhausted_502_has_service_exact_url_and_no_success_cache (test_jpl_transport.JPLTransportTests.test_exhausted_502_has_service_exact_url_and_no_success_cache) ... ok
test_invalid_json_and_api_error_are_not_cached_or_retried (test_jpl_transport.JPLTransportTests.test_invalid_json_and_api_error_are_not_cached_or_retried) ... ok
test_parallel_workers_still_serialize_actual_jpl_calls (test_jpl_transport.JPLTransportTests.test_parallel_workers_still_serialize_actual_jpl_calls) ... ok
test_retry_after_is_respected_without_unbounded_wait (test_jpl_transport.JPLTransportTests.test_retry_after_is_respected_without_unbounded_wait) ... ok
test_transient_502_then_503_recovers_and_only_success_is_cached (test_jpl_transport.JPLTransportTests.test_transient_502_then_503_recovers_and_only_success_is_cached) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.245s

OK

test_local_detection.py
test_completely_invalid_or_constant_image_does_not_invent_sources (test_local_detection.LocalDetectionTests.test_completely_invalid_or_constant_image_does_not_invent_sources) ... ok
test_detection_diagnostics_account_for_every_peak (test_local_detection.LocalDetectionTests.test_detection_diagnostics_account_for_every_peak) ... ok
test_faint_motion_survives_a_strong_sky_gradient (test_local_detection.LocalDetectionTests.test_faint_motion_survives_a_strong_sky_gradient) ... ok
test_invalid_pixels_are_masked_without_clipping_warnings (test_local_detection.LocalDetectionTests.test_invalid_pixels_are_masked_without_clipping_warnings) ... ok
test_local_detection_is_invariant_to_linear_adu_scaling (test_local_detection.LocalDetectionTests.test_local_detection_is_invariant_to_linear_adu_scaling) ... ok
test_no_motion_in_stationary_pair_with_gradient_and_pointing_drift (test_local_detection.LocalDetectionTests.test_no_motion_in_stationary_pair_with_gradient_and_pointing_drift) ... ok
test_serial_parallel_equivalence_for_faint_motion_on_gradient (test_local_detection.LocalDetectionTests.test_serial_parallel_equivalence_for_faint_motion_on_gradient) ... ok

----------------------------------------------------------------------
Ran 7 tests in 9.532s

OK

test_maintenance_170.py
test_active_paths_include_all_group_originals_and_loaded_source_files (test_maintenance_170.MaintenanceTests.test_active_paths_include_all_group_originals_and_loaded_source_files) ... ok
test_active_stack_group_and_report_survive_while_old_groups_and_registration_clear (test_maintenance_170.MaintenanceTests.test_active_stack_group_and_report_survive_while_old_groups_and_registration_clear) ... ok
test_cache_button_is_enabled_only_for_reclaimable_files (test_maintenance_170.MaintenanceTests.test_cache_button_is_enabled_only_for_reclaimable_files) ... ok
test_cancel_before_cleanup_preserves_every_file (test_maintenance_170.MaintenanceTests.test_cancel_before_cleanup_preserves_every_file) ... ok
test_empty_cache_is_read_only_and_size_units_are_clear (test_maintenance_170.MaintenanceTests.test_empty_cache_is_read_only_and_size_units_are_clear) ... ok
test_full_photometry_workspace_keeps_field_full_height_and_compacts_controls (test_maintenance_170.MaintenanceTests.test_full_photometry_workspace_keeps_field_full_height_and_compacts_controls) ... ok
test_locked_cache_file_is_reported_while_other_files_clear (test_maintenance_170.MaintenanceTests.test_locked_cache_file_is_reported_while_other_files_clear) ... ok
test_only_the_four_owned_cache_trees_are_removed (test_maintenance_170.MaintenanceTests.test_only_the_four_owned_cache_trees_are_removed) ... ok
test_parent_replaced_by_a_link_during_cleanup_is_not_traversed (test_maintenance_170.MaintenanceTests.test_parent_replaced_by_a_link_during_cleanup_is_not_traversed) ... ok
test_reset_keeps_measurements_when_only_descriptive_preferences_changed (test_maintenance_170.MaintenanceTests.test_reset_keeps_measurements_when_only_descriptive_preferences_changed) ... ok
test_reset_real_session_keeps_inputs_selections_and_subject_name (test_maintenance_170.MaintenanceTests.test_reset_real_session_keeps_inputs_selections_and_subject_name) ... ok
test_reset_uses_exact_startup_defaults_and_persists_all_preferences (test_maintenance_170.MaintenanceTests.test_reset_uses_exact_startup_defaults_and_persists_all_preferences) ... ok
test_reset_write_failure_rolls_back_and_busy_state_does_nothing (test_maintenance_170.MaintenanceTests.test_reset_write_failure_rolls_back_and_busy_state_does_nothing) ... ok
test_settings_background_job_never_touches_destroyed_science_controls (test_maintenance_170.MaintenanceTests.test_settings_background_job_never_touches_destroyed_science_controls) ... ok
test_symbolic_cache_root_and_nested_links_never_follow_external_targets (test_maintenance_170.MaintenanceTests.test_symbolic_cache_root_and_nested_links_never_follow_external_targets) ... ok
test_windows_reparse_point_metadata_is_excluded_before_recursion (test_maintenance_170.MaintenanceTests.test_windows_reparse_point_metadata_is_excluded_before_recursion) ... ok

----------------------------------------------------------------------
Ran 16 tests in 0.380s

OK

test_measurement_errors.py
test_missing_input_file_keeps_file_and_frame_number_in_error (test_measurement_errors.MeasurementErrorTests.test_missing_input_file_keeps_file_and_frame_number_in_error) ... ok
test_reference_border_error_names_second_file_and_r2_and_preserves_fits (test_measurement_errors.MeasurementErrorTests.test_reference_border_error_names_second_file_and_r2_and_preserves_fits) ... ok
test_target_border_error_names_s_not_last_reference (test_measurement_errors.MeasurementErrorTests.test_target_border_error_names_s_not_last_reference) ... ok
test_valid_annulus_at_border_matches_an_interior_aperture (test_measurement_errors.MeasurementErrorTests.test_valid_annulus_at_border_matches_an_interior_aperture) ... ok

----------------------------------------------------------------------
Ran 4 tests in 0.146s

OK

test_moving_sources.py
test_blind_motion_with_rotation_drift_and_no_catalog (test_moving_sources.MovingSourceTests.test_blind_motion_with_rotation_drift_and_no_catalog) ... ok
test_cancel_search_preview_and_export_keep_existing_files (test_moving_sources.MovingSourceTests.test_cancel_search_preview_and_export_keep_existing_files) ... ok
test_changed_wcs_invalidates_selection_and_preview (test_moving_sources.MovingSourceTests.test_changed_wcs_invalidates_selection_and_preview) ... ok
test_export_preserves_measured_coordinates_and_unknown_status (test_moving_sources.MovingSourceTests.test_export_preserves_measured_coordinates_and_unknown_status) ... ok
test_missing_wcs_missing_time_and_duplicate_epochs_fail (test_moving_sources.MovingSourceTests.test_missing_wcs_missing_time_and_duplicate_epochs_fail) ... ok
test_name_association_requires_the_exact_detected_selection (test_moving_sources.MovingSourceTests.test_name_association_requires_the_exact_detected_selection) ... ok
test_options_and_too_few_frames (test_moving_sources.MovingSourceTests.test_options_and_too_few_frames) ... ok
test_partial_track_has_only_measured_picks (test_moving_sources.MovingSourceTests.test_partial_track_has_only_measured_picks) ... ok
test_registered_preview_and_limit_are_explicit (test_moving_sources.MovingSourceTests.test_registered_preview_and_limit_are_explicit) ... ok
test_saturation_is_flagged_not_claimed_precise (test_moving_sources.MovingSourceTests.test_saturation_is_flagged_not_claimed_precise) ... ok
test_speed_and_coverage_limits (test_moving_sources.MovingSourceTests.test_speed_and_coverage_limits) ... ok
test_stationary_stars_and_hot_pixels_are_not_motion (test_moving_sources.MovingSourceTests.test_stationary_stars_and_hot_pixels_are_not_motion) ... ok
test_times_are_sorted_independently_of_file_order (test_moving_sources.MovingSourceTests.test_times_are_sorted_independently_of_file_order) ... ok
test_two_independent_moving_sources (test_moving_sources.MovingSourceTests.test_two_independent_moving_sources) ... ok
test_wcs_jitter_refinement_retains_real_motion (test_moving_sources.MovingSourceTests.test_wcs_jitter_refinement_retains_real_motion) ... ok

----------------------------------------------------------------------
Ran 15 tests in 29.114s

OK

test_multichannel_150.py
test_bayer_patterns_offsets_native_samples_and_cropped_phase (test_multichannel_150.MultichannelTests.test_bayer_patterns_offsets_native_samples_and_cropped_phase) ... ok
test_bayer_stack_color_regions_match_independent_full_image_reconstruction (test_multichannel_150.MultichannelTests.test_bayer_stack_color_regions_match_independent_full_image_reconstruction) ... ok
test_channels_last_three_row_crop_is_not_misread_as_channels_first (test_multichannel_150.MultichannelTests.test_channels_last_three_row_crop_is_not_misread_as_channels_first) ... ok
test_mono_rejects_colors_and_failed_or_cancelled_multichannel_run_does_not_publish (test_multichannel_150.MultichannelTests.test_mono_rejects_colors_and_failed_or_cancelled_multichannel_run_does_not_publish) ... ok
test_native_clipping_is_specific_to_red_and_blue_with_legacy_green_conservative (test_multichannel_150.MultichannelTests.test_native_clipping_is_specific_to_red_and_blue_with_legacy_green_conservative) ... ok
test_partial_rgb_group_uses_common_originals_and_exposure_for_every_color (test_multichannel_150.MultichannelTests.test_partial_rgb_group_uses_common_originals_and_exposure_for_every_color) ... ok
test_red_variability_is_not_copied_from_green (test_multichannel_150.MultichannelTests.test_red_variability_is_not_copied_from_green) ... ok
test_rgb_layouts_preserve_green_and_measure_independent_color_flux (test_multichannel_150.MultichannelTests.test_rgb_layouts_preserve_green_and_measure_independent_color_flux) ... ok
test_serial_and_process_pool_red_photometry_match (test_multichannel_150.MultichannelTests.test_serial_and_process_pool_red_photometry_match) ... ok
test_temporal_rgb_stacks_reconstruct_original_bands_with_same_members_and_times (test_multichannel_150.MultichannelTests.test_temporal_rgb_stacks_reconstruct_original_bands_with_same_members_and_times) ... ok
test_zip_layouts_current_alias_and_named_graphs_for_all_computed_channels (test_multichannel_150.MultichannelTests.test_zip_layouts_current_alias_and_named_graphs_for_all_computed_channels) ... ok

----------------------------------------------------------------------
Ran 11 tests in 12.271s

OK

test_network_tls.py
test_trusted_certificate_and_matching_hostname_succeed (test_network_tls.LocalTLSHandshakeTests.test_trusted_certificate_and_matching_hostname_succeed) ... ok
test_trusted_certificate_with_wrong_hostname_is_rejected (test_network_tls.LocalTLSHandshakeTests.test_trusted_certificate_with_wrong_hostname_is_rejected) ... ok
test_untrusted_certificate_is_rejected (test_network_tls.LocalTLSHandshakeTests.test_untrusted_certificate_is_rejected) ... ok
test_context_uses_client_protocol_and_http11 (test_network_tls.NativeTLSTests.test_context_uses_client_protocol_and_http11) ... ok
test_expired_certificate_does_not_enable_unverified_retry_or_write_cache (test_network_tls.NativeTLSTests.test_expired_certificate_does_not_enable_unverified_retry_or_write_cache) ... ok
test_old_or_missing_dependency_fails_closed (test_network_tls.NativeTLSTests.test_old_or_missing_dependency_fails_closed) ... ok
test_real_contexts_require_certificates_and_hostname_without_global_patch (test_network_tls.NativeTLSTests.test_real_contexts_require_certificates_and_hostname_without_global_patch) ... ok

----------------------------------------------------------------------
Ran 7 tests in 0.787s

OK

test_online_catalog.py
test_cancel_during_response_does_not_write_cache (test_online_catalog.OnlineCatalogTests.test_cancel_during_response_does_not_write_cache) ... ok
test_corrupt_cache_is_refetched_and_network_error_leaves_no_partial_file (test_online_catalog.OnlineCatalogTests.test_corrupt_cache_is_refetched_and_network_error_leaves_no_partial_file) ... ok
test_download_queries_only_the_field_and_cache_reprojects_at_new_epoch (test_online_catalog.OnlineCatalogTests.test_download_queries_only_the_field_and_cache_reprojects_at_new_epoch) ... ok
test_existing_wcs_does_not_download_or_replace_it (test_online_catalog.OnlineCatalogTests.test_existing_wcs_does_not_download_or_replace_it) ... ok
test_field_query_covers_detector_and_survives_a_different_epoch (test_online_catalog.OnlineCatalogTests.test_field_query_covers_detector_and_survives_a_different_epoch) ... ok
test_parser_preserves_long_ids_and_rejects_missing_or_invalid_motion (test_online_catalog.OnlineCatalogTests.test_parser_preserves_long_ids_and_rejects_missing_or_invalid_motion) ... ok

----------------------------------------------------------------------
Ran 6 tests in 0.113s

OK

test_parallel.py
test_cancel_running_process_batch_keeps_only_completed_results (test_parallel.ExecutionTests.test_cancel_running_process_batch_keeps_only_completed_results) ... ok
test_completion_order_does_not_change_results_and_queue_is_bounded (test_parallel.ExecutionTests.test_completion_order_does_not_change_results_and_queue_is_bounded) ... ok
test_error_is_propagated_without_skipping_a_job (test_parallel.ExecutionTests.test_error_is_propagated_without_skipping_a_job) ... ok
test_frozen_dependency_error_does_not_suggest_pip_on_the_app_executable (test_parallel.ExecutionTests.test_frozen_dependency_error_does_not_suggest_pip_on_the_app_executable) ... ok
test_missing_threadpoolctl_is_reported_before_starting_processes (test_parallel.ExecutionTests.test_missing_threadpoolctl_is_reported_before_starting_processes) ... ok
test_pre_cancel_does_not_consume_input_jobs (test_parallel.ExecutionTests.test_pre_cancel_does_not_consume_input_jobs) ... ok
test_process_pool_can_run_from_the_gui_background_thread (test_parallel.ExecutionTests.test_process_pool_can_run_from_the_gui_background_thread) ... ok
test_real_spawn_runs_outside_parent_and_limits_native_threads (test_parallel.ExecutionTests.test_real_spawn_runs_outside_parent_and_limits_native_threads) ... ok
test_serial_and_thread_jobs_work_without_threadpoolctl (test_parallel.ExecutionTests.test_serial_and_thread_jobs_work_without_threadpoolctl) ... ok
test_source_dependency_error_is_localized_and_quotes_current_python (test_parallel.ExecutionTests.test_source_dependency_error_is_localized_and_quotes_current_python) ... ok
test_strong_initial_alignment_retains_exact_analytic_solution (test_parallel.ExecutionTests.test_strong_initial_alignment_retains_exact_analytic_solution) ... ok
test_worker_count_obeys_available_memory_and_manual_serial_mode (test_parallel.ExecutionTests.test_worker_count_obeys_available_memory_and_manual_serial_mode) ... ok
test_worker_timeout_is_an_error_not_an_infinite_poll (test_parallel.ExecutionTests.test_worker_timeout_is_an_error_not_an_infinite_poll) ... ok
test_cancellation_during_parallel_inspection_does_not_publish (test_parallel.ParallelPipelineTests.test_cancellation_during_parallel_inspection_does_not_publish) ... ok
test_external_solver_runs_in_parallel_without_rewriting_input (test_parallel.ParallelPipelineTests.test_external_solver_runs_in_parallel_without_rewriting_input) ... ok
test_fast_inspection_checks_real_data_without_changing_the_files (test_parallel.ParallelPipelineTests.test_fast_inspection_checks_real_data_without_changing_the_files) ... ok
test_parallel_search_on_temporal_groups_preserves_member_provenance (test_parallel.ParallelPipelineTests.test_parallel_search_on_temporal_groups_preserves_member_provenance) ... ok
test_serial_and_parallel_catalog_wcs_and_exclusions_match (test_parallel.ParallelPipelineTests.test_serial_and_parallel_catalog_wcs_and_exclusions_match) ... ok
test_serial_and_parallel_search_return_identical_candidates (test_parallel.ParallelPipelineTests.test_serial_and_parallel_search_return_identical_candidates) ... ok

----------------------------------------------------------------------
Ran 19 tests in 29.671s

OK

test_performance_130.py
test_auto_accounts_for_native_members_when_searching_large_stacks (test_performance_130.Performance130Tests.test_auto_accounts_for_native_members_when_searching_large_stacks) ... ok
test_auto_can_use_more_than_old_caps_and_manual_supports_64 (test_performance_130.Performance130Tests.test_auto_can_use_more_than_old_caps_and_manual_supports_64) ... ok
test_cancellation_during_parallel_resampling_leaves_no_partial_cache (test_performance_130.Performance130Tests.test_cancellation_during_parallel_resampling_leaves_no_partial_cache) ... ok
test_changed_original_invalidates_registration (test_performance_130.Performance130Tests.test_changed_original_invalidates_registration) ... ok
test_corrupted_registration_cache_is_rebuilt (test_performance_130.Performance130Tests.test_corrupted_registration_cache_is_rebuilt) ... ok
test_green_interpolation_matches_released_values_all_patterns_and_offsets (test_performance_130.Performance130Tests.test_green_interpolation_matches_released_values_all_patterns_and_offsets) ... ok
test_group_size_change_reuses_validated_registration (test_performance_130.Performance130Tests.test_group_size_change_reuses_validated_registration) ... ok
test_measurement_auto_amortizes_process_startup_on_short_sequences (test_performance_130.Performance130Tests.test_measurement_auto_amortizes_process_startup_on_short_sequences) ... ok
test_native_sections_preserve_unsigned_scaling_and_rgb_channels (test_performance_130.Performance130Tests.test_native_sections_preserve_unsigned_scaling_and_rgb_channels) ... ok
test_parallel_photometry_preserves_first_error_and_exclusion_order (test_performance_130.Performance130Tests.test_parallel_photometry_preserves_first_error_and_exclusion_order) ... ok
test_partial_regions_open_each_input_once_and_keep_individual_exposures (test_performance_130.Performance130Tests.test_partial_regions_open_each_input_once_and_keep_individual_exposures) ... ok
test_photometry_and_astrometry_match_between_serial_and_process_workers (test_performance_130.Performance130Tests.test_photometry_and_astrometry_match_between_serial_and_process_workers) ... ok
test_single_large_group_still_resamples_multiple_inputs_concurrently (test_performance_130.Performance130Tests.test_single_large_group_still_resamples_multiple_inputs_concurrently) ... ok
test_stacking_serial_parallel_planes_times_and_members_are_identical (test_performance_130.Performance130Tests.test_stacking_serial_parallel_planes_times_and_members_are_identical) ... ok
test_stationary_bitsets_match_original_epoch_votes_with_jitter_and_duplicates (test_performance_130.Performance130Tests.test_stationary_bitsets_match_original_epoch_votes_with_jitter_and_duplicates) ... ok
test_stationary_bounds_skip_exact_queries_for_unambiguous_epochs (test_performance_130.Performance130Tests.test_stationary_bounds_skip_exact_queries_for_unambiguous_epochs) ... ok
test_windows_process_limit_is_respected_even_with_manual_64 (test_performance_130.Performance130Tests.test_windows_process_limit_is_respected_even_with_manual_64) ... ok

----------------------------------------------------------------------
Ran 17 tests in 17.721s

OK

test_performance_slider.py
test_actual_app_loading_migrates_raw_legacy_values_and_preserves_other_fields (test_performance_slider.PerformanceSliderTests.test_actual_app_loading_migrates_raw_legacy_values_and_preserves_other_fields) ... ok
test_actual_app_save_and_restart_preserve_each_detent_without_invalidating_data (test_performance_slider.PerformanceSliderTests.test_actual_app_save_and_restart_preserve_each_detent_without_invalidating_data) ... ok
test_invalid_slider_values_fail_and_corrupt_saved_data_uses_safe_defaults (test_performance_slider.PerformanceSliderTests.test_invalid_slider_values_fail_and_corrupt_saved_data_uses_safe_defaults) ... ok
test_legacy_preferences_keep_serial_or_nearest_available_auto_target (test_performance_slider.PerformanceSliderTests.test_legacy_preferences_keep_serial_or_nearest_available_auto_target) ... ok
test_nine_detents_match_requested_serial_and_auto_percentages (test_performance_slider.PerformanceSliderTests.test_nine_detents_match_requested_serial_and_auto_percentages) ... ok
test_saved_slider_takes_precedence_and_round_trips_through_json (test_performance_slider.PerformanceSliderTests.test_saved_slider_takes_precedence_and_round_trips_through_json) ... ok

----------------------------------------------------------------------
Ran 6 tests in 1.236s

OK

test_photometry_skipping.py
test_all_invalid_and_one_valid_keep_exclusion_report_without_fabricating_curve (test_photometry_skipping.PhotometrySkippingTests.test_all_invalid_and_one_valid_keep_exclusion_report_without_fabricating_curve) ... ok
test_cancellation_after_a_rejected_frame_stops_processing (test_photometry_skipping.PhotometrySkippingTests.test_cancellation_after_a_rejected_frame_stops_processing) ... ok
test_default_still_stops_on_first_missing_reference (test_photometry_skipping.PhotometrySkippingTests.test_default_still_stops_on_first_missing_reference) ... ok
test_export_separates_actual_measurements_from_exclusions_and_records_policy (test_photometry_skipping.PhotometrySkippingTests.test_export_separates_actual_measurements_from_exclusions_and_records_policy) ... ok
test_frame_metadata_read_and_border_errors_are_logged_with_original_indices (test_photometry_skipping.PhotometrySkippingTests.test_frame_metadata_read_and_border_errors_are_logged_with_original_indices) ... ok
test_global_preconditions_and_astrometry_cannot_be_silently_skipped (test_photometry_skipping.PhotometrySkippingTests.test_global_preconditions_and_astrometry_cannot_be_silently_skipped) ... ok
test_invalidation_clears_failure_report (test_photometry_skipping.PhotometrySkippingTests.test_invalidation_clears_failure_report) ... ok
test_repeated_valid_timestamps_still_require_a_time_baseline (test_photometry_skipping.PhotometrySkippingTests.test_repeated_valid_timestamps_still_require_a_time_baseline) ... ok
test_saturated_target_frames_are_omitted_without_relaxing_saturation_guard (test_photometry_skipping.PhotometrySkippingTests.test_saturated_target_frames_are_omitted_without_relaxing_saturation_guard) ... ok
test_skip_enabled_with_all_valid_frames_has_identical_measurements (test_photometry_skipping.PhotometrySkippingTests.test_skip_enabled_with_all_valid_frames_has_identical_measurements) ... ok
test_skip_missing_reference_matches_manual_valid_subset_and_keeps_time_gaps (test_photometry_skipping.PhotometrySkippingTests.test_skip_missing_reference_matches_manual_valid_subset_and_keeps_time_gaps) ... ok

----------------------------------------------------------------------
Ran 11 tests in 4.174s

OK

test_real_fits_support.py
test_bright_psf_is_not_mistaken_for_sky_noise (test_real_fits_support.RealFitsSupportTests.test_bright_psf_is_not_mistaken_for_sky_noise) ... ok
test_catalog_fit_is_measured_from_stars_not_pointing (test_real_fits_support.RealFitsSupportTests.test_catalog_fit_is_measured_from_stars_not_pointing) ... ok
test_native_bayer_clipping_blocks_photometry (test_real_fits_support.RealFitsSupportTests.test_native_bayer_clipping_blocks_photometry) ... ok
test_seestar_explicit_end_time_precedes_filename_time (test_real_fits_support.RealFitsSupportTests.test_seestar_explicit_end_time_precedes_filename_time) ... ok
test_similarity_rejects_moving_source_and_recovers_rotation (test_real_fits_support.RealFitsSupportTests.test_similarity_rejects_moving_source_and_recovers_rotation) ... ok
test_solution_import_resolves_filenames_and_rejects_other_data (test_real_fits_support.RealFitsSupportTests.test_solution_import_resolves_filenames_and_rejects_other_data) ... ok

----------------------------------------------------------------------
Ran 6 tests in 0.339s

OK

test_references_190.py
test_bayer_groups_have_a_jointly_measurable_ensemble (test_references_190.ReferenceProposalTests.test_bayer_groups_have_a_jointly_measurable_ensemble) ... ok
test_entire_target_path_is_excluded_even_between_sampled_frames (test_references_190.ReferenceProposalTests.test_entire_target_path_is_excluded_even_between_sampled_frames) ... ok
test_insufficient_evidence_and_full_selection_are_explicit_and_non_destructive (test_references_190.ReferenceProposalTests.test_insufficient_evidence_and_full_selection_are_explicit_and_non_destructive) ... ok
test_obvious_variable_and_moving_candidates_are_rejected_without_using_target_variability (test_references_190.ReferenceProposalTests.test_obvious_variable_and_moving_candidates_are_rejected_without_using_target_variability) ... ok
test_proposals_are_measurable_and_preserve_manual_choices_and_original_files (test_references_190.ReferenceProposalTests.test_proposals_are_measurable_and_preserve_manual_choices_and_original_files) ... ok
test_saturated_reference_and_nearby_detected_companion_are_excluded (test_references_190.ReferenceProposalTests.test_saturated_reference_and_nearby_detected_companion_are_excluded) ... ok
test_serial_and_parallel_proposals_match_and_respect_cancellation (test_references_190.ReferenceProposalTests.test_serial_and_parallel_proposals_match_and_respect_cancellation) ... ok

----------------------------------------------------------------------
Ran 7 tests in 10.527s

OK

test_release_0100.py
test_angular_speed_and_components_are_in_csv_and_json (test_release_0100.Release0100Tests.test_angular_speed_and_components_are_in_csv_and_json) ... ok
test_centered_photometry_preserves_variation_and_reference_checks (test_release_0100.Release0100Tests.test_centered_photometry_preserves_variation_and_reference_checks) ... ok
test_photometry_export_is_centered_and_retains_identity (test_release_0100.Release0100Tests.test_photometry_export_is_centered_and_retains_identity) ... ok
test_star_names_survive_result_export (test_release_0100.Release0100Tests.test_star_names_survive_result_export) ... ok

----------------------------------------------------------------------
Ran 4 tests in 8.129s

OK

test_release_160.py
test_actual_gif_dialog_uses_date_subject_and_moto_suffix (test_release_160.Release160Tests.test_actual_gif_dialog_uses_date_subject_and_moto_suffix) ... ok
test_actual_photometry_layout_keeps_only_two_plot_cards_on_the_right (test_release_160.Release160Tests.test_actual_photometry_layout_keeps_only_two_plot_cards_on_the_right) ... ok
test_both_actual_ui_titles_follow_recognized_and_edited_subjects (test_release_160.Release160Tests.test_both_actual_ui_titles_follow_recognized_and_edited_subjects) ... ok
test_explicit_commit_normalizes_without_recursive_trace_or_changing_measurements (test_release_160.Release160Tests.test_explicit_commit_normalizes_without_recursive_trace_or_changing_measurements) ... ok
test_gif_filename_sanitizes_manual_names_and_keeps_first_frame_date (test_release_160.Release160Tests.test_gif_filename_sanitizes_manual_names_and_keeps_first_frame_date) ... ok
test_japanese_catalog_and_bundled_font_cover_kana_kanji_and_labels (test_release_160.Release160Tests.test_japanese_catalog_and_bundled_font_cover_kana_kanji_and_labels) ... ok
test_japanese_png_and_svg_have_no_missing_glyphs (test_release_160.Release160Tests.test_japanese_png_and_svg_have_no_missing_glyphs) ... ok
test_japanese_preference_is_loaded_and_preserved_on_restart (test_release_160.Release160Tests.test_japanese_preference_is_loaded_and_preserved_on_restart) ... ok
test_programmatic_display_busy_and_old_session_do_not_create_aliases (test_release_160.Release160Tests.test_programmatic_display_busy_and_old_session_do_not_create_aliases) ... ok
test_trajectory_export_uses_same_named_and_unnamed_titles (test_release_160.Release160Tests.test_trajectory_export_uses_same_named_and_unnamed_titles) ... ok
test_typing_keeps_a_draft_without_rewriting_text_or_recalculating (test_release_160.Release160Tests.test_typing_keeps_a_draft_without_rewriting_text_or_recalculating) ... ok

----------------------------------------------------------------------
Ran 11 tests in 1.691s

OK

test_responsiveness_140.py
test_application_environment_limits_parent_numeric_libraries (test_responsiveness_140.ResponsivenessTests.test_application_environment_limits_parent_numeric_libraries) ... ok
test_auto_budget_leaves_room_for_stack_coordinator_and_manual_is_explicit (test_responsiveness_140.ResponsivenessTests.test_auto_budget_leaves_room_for_stack_coordinator_and_manual_is_explicit) ... ok
test_budget_context_is_scoped_and_invalid_values_are_rejected (test_responsiveness_140.ResponsivenessTests.test_budget_context_is_scoped_and_invalid_values_are_rejected) ... ok
test_converged_search_registration_matches_fixed_five_rounds_exactly (test_responsiveness_140.ResponsivenessTests.test_converged_search_registration_matches_fixed_five_rounds_exactly) ... ok
test_converged_stacking_registration_matches_fixed_six_rounds_exactly (test_responsiveness_140.ResponsivenessTests.test_converged_stacking_registration_matches_fixed_six_rounds_exactly) ... ok
test_effective_time_index_matches_dense_arithmetic_and_uniform_legacy (test_responsiveness_140.ResponsivenessTests.test_effective_time_index_matches_dense_arithmetic_and_uniform_legacy) ... ok
test_linking_preserves_tracks_fits_and_truncation_with_partial_midpoints (test_responsiveness_140.ResponsivenessTests.test_linking_preserves_tracks_fits_and_truncation_with_partial_midpoints) ... ok
test_partial_source_views_and_extraction_keep_original_pixel_arithmetic (test_responsiveness_140.ResponsivenessTests.test_partial_source_views_and_extraction_keep_original_pixel_arithmetic) ... ok
test_time_index_cancellation_is_checked_before_query (test_responsiveness_140.ResponsivenessTests.test_time_index_cancellation_is_checked_before_query) ... ok
test_time_index_keeps_original_index_for_exact_and_near_ties (test_responsiveness_140.ResponsivenessTests.test_time_index_keeps_original_index_for_exact_and_near_ties) ... ok

----------------------------------------------------------------------
Ran 10 tests in 2.617s

OK

test_shutdown_171.py
test_actual_close_attempts_destruction_even_for_an_unexpected_cleanup_error (test_shutdown_171.ShutdownTests.test_actual_close_attempts_destruction_even_for_an_unexpected_cleanup_error) ... ok
test_actual_close_cancels_settings_timers_workers_and_destroys_once (test_shutdown_171.ShutdownTests.test_actual_close_cancels_settings_timers_workers_and_destroys_once) ... ok
test_actual_close_is_independent_of_page_or_a_stale_startup_id (test_shutdown_171.ShutdownTests.test_actual_close_is_independent_of_page_or_a_stale_startup_id) ... ok
test_child_callback_commands_are_released_by_their_owners (test_shutdown_171.ShutdownTests.test_child_callback_commands_are_released_by_their_owners) ... ok
test_expired_timer_does_not_prevent_other_cancellations (test_shutdown_171.ShutdownTests.test_expired_timer_does_not_prevent_other_cancellations) ... ok
test_mixed_native_python_and_idle_timers_cancel_without_running (test_shutdown_171.ShutdownTests.test_mixed_native_python_and_idle_timers_cancel_without_running) ... ok
test_native_tuple_reproduces_the_reported_python312_error (test_shutdown_171.ShutdownTests.test_native_tuple_reproduces_the_reported_python312_error) ... ok
test_string_and_object_tcl_return_modes_are_supported (test_shutdown_171.ShutdownTests.test_string_and_object_tcl_return_modes_are_supported) ... ok
test_unavailable_interpreter_is_tolerated (test_shutdown_171.ShutdownTests.test_unavailable_interpreter_is_tolerated) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.214s

OK

test_solving_exclusions.py
test_all_bad_leaves_sequence_and_selections_intact (test_solving_exclusions.BatchSolvingTests.test_all_bad_leaves_sequence_and_selections_intact) ... ok
test_cancel_does_not_filter_or_change_input_files (test_solving_exclusions.BatchSolvingTests.test_cancel_does_not_filter_or_change_input_files) ... ok
test_csv_quotes_unusual_file_names_and_failure_reasons (test_solving_exclusions.BatchSolvingTests.test_csv_quotes_unusual_file_names_and_failure_reasons) ... ok
test_existing_wcs_frames_survive_an_unreadable_file_without_network (test_solving_exclusions.BatchSolvingTests.test_existing_wcs_frames_survive_an_unreadable_file_without_network) ... ok
test_external_solver_failure_is_isolated_and_cancellation_propagates (test_solving_exclusions.BatchSolvingTests.test_external_solver_failure_is_isolated_and_cancellation_propagates) ... ok
test_later_base_survives_cloudy_first_middle_and_unreadable_fit (test_solving_exclusions.BatchSolvingTests.test_later_base_survives_cloudy_first_middle_and_unreadable_fit) ... ok
test_loading_unreadable_first_file_displays_later_frame (test_solving_exclusions.BatchSolvingTests.test_loading_unreadable_first_file_displays_later_frame) ... ok
test_missing_solver_is_shared_failure (test_solving_exclusions.BatchSolvingTests.test_missing_solver_is_shared_failure) ... ok
test_photometry_and_astrometry_use_actual_time_gaps_and_export_audit (test_solving_exclusions.BatchSolvingTests.test_photometry_and_astrometry_use_actual_time_gaps_and_export_audit) ... ok
test_removed_current_frame_uses_next_survivor_and_lost_anchor_is_reported (test_solving_exclusions.BatchSolvingTests.test_removed_current_frame_uses_next_survivor_and_lost_anchor_is_reported) ... ok
test_repeating_solve_reuses_wcs_and_preserves_exclusion_history (test_solving_exclusions.BatchSolvingTests.test_repeating_solve_reuses_wcs_and_preserves_exclusion_history) ... ok
test_shared_download_failure_does_not_mark_every_frame_as_bad (test_solving_exclusions.BatchSolvingTests.test_shared_download_failure_does_not_mark_every_frame_as_bad) ... ok
test_surviving_picks_are_remapped_and_lost_reference_is_reported (test_solving_exclusions.BatchSolvingTests.test_surviving_picks_are_remapped_and_lost_reference_is_reported) ... ok

----------------------------------------------------------------------
Ran 13 tests in 3.176s

OK

test_stacking.py
test_bayer_crop_preserves_native_phase_for_local_measurements (test_stacking.StackingTests.test_bayer_crop_preserves_native_phase_for_local_measurements) ... ok
test_border_photometry_uses_common_local_members_and_actual_exposure (test_stacking.StackingTests.test_border_photometry_uses_common_local_members_and_actual_exposure) ... ok
test_cancellation_after_progress_never_publishes_partial_groups (test_stacking.StackingTests.test_cancellation_after_progress_never_publishes_partial_groups) ... ok
test_cancellation_and_mixed_filter_leave_original_session_unchanged (test_stacking.StackingTests.test_cancellation_and_mixed_filter_leave_original_session_unchanged) ... ok
test_linear_flux_rates_and_bayer_not_applied_twice (test_stacking.StackingTests.test_linear_flux_rates_and_bayer_not_applied_twice) ... ok
test_no_wcs_is_fabricated_and_bad_input_is_audited (test_stacking.StackingTests.test_no_wcs_is_fabricated_and_bad_input_is_audited) ... ok
test_preview_only_peak_is_rejected_by_the_actual_measurement_plane (test_stacking.StackingTests.test_preview_only_peak_is_rejected_by_the_actual_measurement_plane) ... ok
test_restore_cache_and_new_group_size_do_not_stack_stacks (test_stacking.StackingTests.test_restore_cache_and_new_group_size_do_not_stack_stacks) ... ok
test_same_group_sequence_drives_photometry_astrometry_and_blind_search (test_stacking.StackingTests.test_same_group_sequence_drives_photometry_astrometry_and_blind_search) ... ok
test_saturation_in_one_native_input_is_never_hidden_by_stacking (test_stacking.StackingTests.test_saturation_in_one_native_input_is_never_hidden_by_stacking) ... ok
test_scale_resampling_conserves_integrated_source_flux (test_stacking.StackingTests.test_scale_resampling_conserves_integrated_source_flux) ... ok
test_sorted_inputs_partial_last_group_weighted_times_and_readonly_originals (test_stacking.StackingTests.test_sorted_inputs_partial_last_group_weighted_times_and_readonly_originals) ... ok
test_track_linker_uses_each_source_midpoint_in_partial_groups (test_stacking.StackingTests.test_track_linker_uses_each_source_midpoint_in_partial_groups) ... ok

----------------------------------------------------------------------
Ran 13 tests in 10.789s

OK

test_star_names.py
test_bad_response_and_nonfinite_coordinates_are_rejected (test_star_names.StarNameTests.test_bad_response_and_nonfinite_coordinates_are_rejected) ... ok
test_common_bayer_and_flamsteed_names (test_star_names.StarNameTests.test_common_bayer_and_flamsteed_names) ... ok
test_missing_wcs_is_local_failure (test_star_names.StarNameTests.test_missing_wcs_is_local_failure) ... ok
test_network_error_does_not_create_cache_and_cancellation_stops_request (test_star_names.StarNameTests.test_network_error_does_not_create_cache_and_cancellation_stops_request) ... ok
test_proper_motion_is_applied_at_observation_epoch (test_star_names.StarNameTests.test_proper_motion_is_applied_at_observation_epoch) ... ok
test_request_is_one_bounded_field_query_and_cache_is_offline (test_star_names.StarNameTests.test_request_is_one_bounded_field_query_and_cache_is_offline) ... ok

----------------------------------------------------------------------
Ran 6 tests in 0.144s

OK

test_subject_controls_191.py
test_auto_button_is_next_to_reset_only_in_identify (test_subject_controls_191.SubjectControls191Tests.test_auto_button_is_next_to_reset_only_in_identify) ... ok
test_catalogue_match_enables_references_and_busy_incomplete_or_missing_wcs_disables_them (test_subject_controls_191.SubjectControls191Tests.test_catalogue_match_enables_references_and_busy_incomplete_or_missing_wcs_disables_them) ... ok
test_clearing_and_saving_restores_catalogue_name_and_enter_is_a_shortcut (test_subject_controls_191.SubjectControls191Tests.test_clearing_and_saving_restores_catalogue_name_and_enter_is_a_shortcut) ... ok
test_refresh_and_identify_do_not_overwrite_or_save_a_dirty_name (test_subject_controls_191.SubjectControls191Tests.test_refresh_and_identify_do_not_overwrite_or_save_a_dirty_name) ... ok
test_replaced_session_rebinds_editor_without_saving_an_old_draft (test_subject_controls_191.SubjectControls191Tests.test_replaced_session_rebinds_editor_without_saving_an_old_draft) ... ok
test_save_button_is_to_the_right_and_pending_draft_is_restored_on_rebuild (test_subject_controls_191.SubjectControls191Tests.test_save_button_is_to_the_right_and_pending_draft_is_restored_on_rebuild) ... ok
test_save_updates_all_titles_and_export_names_without_recalculating (test_subject_controls_191.SubjectControls191Tests.test_save_updates_all_titles_and_export_names_without_recalculating) ... ok
test_switching_tabs_keeps_draft_without_committing (test_subject_controls_191.SubjectControls191Tests.test_switching_tabs_keeps_draft_without_committing) ... ok
test_unknown_selection_does_not_enable_references_until_name_is_explicitly_saved (test_subject_controls_191.SubjectControls191Tests.test_unknown_selection_does_not_enable_references_until_name_is_explicitly_saved) ... ok

----------------------------------------------------------------------
Ran 9 tests in 1.295s

OK

test_uncertainties_180.py
test_actual_target_variability_does_not_inflate_background_noise (test_uncertainties_180.UncertaintyTests.test_actual_target_variability_does_not_inflate_background_noise) ... ok
test_ambiguous_peak_has_only_conditional_precision_and_no_false_position_error (test_uncertainties_180.UncertaintyTests.test_ambiguous_peak_has_only_conditional_precision_and_no_false_position_error) ... ok
test_camera_gain_control_is_not_a_conversion_and_read_noise_is_not_doubled (test_uncertainties_180.UncertaintyTests.test_camera_gain_control_is_not_a_conversion_and_read_noise_is_not_doubled) ... ok
test_canvas_error_ends_remain_inside_the_existing_plot_without_extra_panels (test_uncertainties_180.UncertaintyTests.test_canvas_error_ends_remain_inside_the_existing_plot_without_extra_panels) ... ok
test_csv_session_and_png_svg_use_the_measured_errors (test_uncertainties_180.UncertaintyTests.test_csv_session_and_png_svg_use_the_measured_errors) ... ok
test_export_and_gui_share_missing_errors_and_two_astrometric_axes (test_uncertainties_180.UncertaintyTests.test_export_and_gui_share_missing_errors_and_two_astrometric_axes) ... ok
test_monte_carlo_background_only_precision (test_uncertainties_180.UncertaintyTests.test_monte_carlo_background_only_precision) ... ok
test_monte_carlo_bayer_precision_uses_native_covariance (test_uncertainties_180.UncertaintyTests.test_monte_carlo_bayer_precision_uses_native_covariance) ... ok
test_monte_carlo_mono_poisson_and_background_precision (test_uncertainties_180.UncertaintyTests.test_monte_carlo_mono_poisson_and_background_precision) ... ok
test_monte_carlo_registered_bayer_sum_precision (test_uncertainties_180.UncertaintyTests.test_monte_carlo_registered_bayer_sum_precision) ... ok
test_native_files_missing_preserve_cached_green_measurement_with_missing_uncertainty (test_uncertainties_180.UncertaintyTests.test_native_files_missing_preserve_cached_green_measurement_with_missing_uncertainty) ... ok
test_partial_coverage_retains_exact_used_member_identity_even_with_duplicate_names (test_uncertainties_180.UncertaintyTests.test_partial_coverage_retains_exact_used_member_identity_even_with_duplicate_names) ... ok
test_real_group_channels_use_the_same_members_time_and_exposure_as_noise (test_uncertainties_180.UncertaintyTests.test_real_group_channels_use_the_same_members_time_and_exposure_as_noise) ... ok
test_relative_astrometry_retains_absolute_precision_and_common_reference_covariance (test_uncertainties_180.UncertaintyTests.test_relative_astrometry_retains_absolute_precision_and_common_reference_covariance) ... ok
test_selected_rgb_plane_with_legacy_cfa_metadata_is_not_demosaiced_again (test_uncertainties_180.UncertaintyTests.test_selected_rgb_plane_with_legacy_cfa_metadata_is_not_demosaiced_again) ... ok
test_source_variability_is_not_a_noise_estimator_and_saturation_is_missing (test_uncertainties_180.UncertaintyTests.test_source_variability_is_not_a_noise_estimator_and_saturation_is_missing) ... ok
test_sparse_native_operator_matches_all_cfa_channels_offsets_and_affine_flux (test_uncertainties_180.UncertaintyTests.test_sparse_native_operator_matches_all_cfa_channels_offsets_and_affine_flux) ... ok
test_unweighted_ensemble_and_single_reference_errors_propagate_the_actual_formula (test_uncertainties_180.UncertaintyTests.test_unweighted_ensemble_and_single_reference_errors_propagate_the_actual_formula) ... ok

----------------------------------------------------------------------
Ran 18 tests in 8.093s

OK

test_velocity_191.py
test_general_jacobians_match_a_dense_cross_epoch_covariance (test_velocity_191.Velocity191Tests.test_general_jacobians_match_a_dense_cross_epoch_covariance) ... ok
test_hc3_matches_design_matrix_formula_and_common_origin_does_not_inflate_it (test_velocity_191.Velocity191Tests.test_hc3_matches_design_matrix_formula_and_common_origin_does_not_inflate_it) ... ok
test_larger_available_estimate_is_used_without_double_counting (test_velocity_191.Velocity191Tests.test_larger_available_estimate_is_used_without_double_counting) ... ok
test_longer_time_span_reduces_the_propagated_slope_error (test_velocity_191.Velocity191Tests.test_longer_time_span_reduces_the_propagated_slope_error) ... ok
test_missing_position_errors_use_empirical_slope_uncertainty_without_changing_fit (test_velocity_191.Velocity191Tests.test_missing_position_errors_use_empirical_slope_uncertainty_without_changing_fit) ... ok
test_real_pipeline_csv_metadata_plot_and_format_share_the_same_error (test_velocity_191.Velocity191Tests.test_real_pipeline_csv_metadata_plot_and_format_share_the_same_error) ... ok
test_shared_origin_covariance_matches_monte_carlo_with_heterogeneous_positions (test_velocity_191.Velocity191Tests.test_shared_origin_covariance_matches_monte_carlo_with_heterogeneous_positions) ... ok
test_speed_norm_high_snr_matches_simulation_and_zero_motion_has_nonzero_scale (test_velocity_191.Velocity191Tests.test_speed_norm_high_snr_matches_simulation_and_zero_motion_has_nonzero_scale) ... ok
test_unestimable_and_saturated_cases_do_not_publish_zero_error (test_velocity_191.Velocity191Tests.test_unestimable_and_saturated_cases_do_not_publish_zero_error) ... ok

----------------------------------------------------------------------
Ran 9 tests in 2.081s

OK

test_workspace_190.py
test_empty_result_and_busy_state_preserve_results_and_picks (test_workspace_190.Workspace190Tests.test_empty_result_and_busy_state_preserve_results_and_picks) ... ok
test_late_proposal_cannot_modify_a_new_session_and_manual_edits_clear_provenance (test_workspace_190.Workspace190Tests.test_late_proposal_cannot_modify_a_new_session_and_manual_edits_clear_provenance) ... ok
test_loading_and_grouping_buttons_only_exist_in_identify (test_workspace_190.Workspace190Tests.test_loading_and_grouping_buttons_only_exist_in_identify) ... ok
test_proposals_append_preserve_manual_refs_and_invalidate_old_results (test_workspace_190.Workspace190Tests.test_proposals_append_preserve_manual_refs_and_invalidate_old_results) ... ok
test_switching_pages_releases_stale_button_references (test_workspace_190.Workspace190Tests.test_switching_pages_releases_stale_button_references) ... ok

----------------------------------------------------------------------
Ran 5 tests in 0.583s

OK

Ran 321 tests in 170.746s

OK
