mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 22:26:38 +00:00
351 lines
36 KiB
Plaintext
351 lines
36 KiB
Plaintext
============================= test session starts ==============================
|
|
platform darwin -- Python 3.9.6, pytest-8.4.2, pluggy-1.6.0 -- /Users/dzaitsev/azaion-gps-denien-onboard-gemini/gps-denied-onboard/venv/bin/python3
|
|
cachedir: .pytest_cache
|
|
rootdir: /Users/dzaitsev/azaion-gps-denien-onboard-gemini/gps-denied-onboard
|
|
plugins: anyio-4.12.1, asyncio-1.2.0
|
|
asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
|
|
collecting ... collected 340 items / 12 skipped
|
|
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_create_flight_validation PASSED [ 0%]
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_get_flight PASSED [ 0%]
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_delete_flight PASSED [ 0%]
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_get_flight_status PASSED [ 1%]
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_update_waypoint PASSED [ 1%]
|
|
test_01_01_feature_flight_management.py::TestUnitFlightManagement::test_batch_update_waypoints PASSED [ 1%]
|
|
test_01_01_feature_flight_management.py::TestIntegrationFlightManagement::test_flight_lifecycle PASSED [ 2%]
|
|
test_01_02_feature_image_upload.py::TestUnitImageUpload::test_batch_size_validation PASSED [ 2%]
|
|
test_01_02_feature_image_upload.py::TestUnitImageUpload::test_sequence_validation PASSED [ 2%]
|
|
test_01_02_feature_image_upload.py::TestUnitImageUpload::test_image_format_validation PASSED [ 2%]
|
|
test_01_02_feature_image_upload.py::TestUnitImageUpload::test_size_limits PASSED [ 3%]
|
|
test_01_02_feature_image_upload.py::TestIntegrationImageUpload::test_sequential_batch_uploads PASSED [ 3%]
|
|
test_01_02_feature_image_upload.py::TestIntegrationImageUpload::test_concurrent_uploads_to_same_flight PASSED [ 3%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_create_flight_success PASSED [ 4%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_create_flight_validation_error PASSED [ 4%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_get_flight_success PASSED [ 4%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_get_flight_not_found PASSED [ 5%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_upload_image_batch_success PASSED [ 5%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_sse_stream PASSED [ 5%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_list_flights_success PASSED [ 5%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_get_results PASSED [ 6%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_object_to_gps PASSED [ 6%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_get_frame_context_success PASSED [ 6%]
|
|
test_f01_flight_api.py::TestFlightAPI::test_get_frame_context_not_found PASSED [ 7%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_create_flight_success PASSED [ 7%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_create_flight_invalid_gps PASSED [ 7%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_get_flight_not_found PASSED [ 7%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_delete_flight PASSED [ 8%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_delete_flight_not_found PASSED [ 8%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_update_flight_status PASSED [ 8%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_get_flight_metadata PASSED [ 9%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_validate_waypoint PASSED [ 9%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_update_waypoint PASSED [ 9%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_batch_update_waypoints PASSED [ 10%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_validate_geofence PASSED [ 10%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_validate_flight_continuity PASSED [ 10%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_queue_images_success PASSED [ 10%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_queue_images_reuses_engine PASSED [ 11%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_queue_images_invalid_flight PASSED [ 11%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_handle_user_fix_success PASSED [ 11%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_handle_user_fix_not_blocked PASSED [ 12%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_handle_user_fix_invalid_data PASSED [ 12%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_handle_user_fix_no_active_engine PASSED [ 12%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_convert_object_to_gps PASSED [ 12%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_create_client_stream PASSED [ 13%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_initialize_system_success PASSED [ 13%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_initialize_system_config_failure PASSED [ 13%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_initialize_system_model_failure PASSED [ 14%]
|
|
test_f02_1_flight_lifecycle_manager.py::TestFlightLifecycleManager::test_initialize_system_db_failure PASSED [ 14%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_start_and_stop_processing PASSED [ 14%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_flight_status_transitions_to_completed PASSED [ 15%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_process_frame_success PASSED [ 15%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_process_frame_tracking_loss PASSED [ 15%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_processing_stops_mid_flight PASSED [ 15%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_state_machine_rejects_invalid_transitions PASSED [ 16%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_internal_helpers PASSED [ 16%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_handle_tracking_loss_success PASSED [ 16%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_handle_tracking_loss_exhausted_blocks PASSED [ 17%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_internal_recovery_helpers PASSED [ 17%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_apply_user_fix_success_resumes_processing PASSED [ 17%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_apply_user_fix_rejects_non_blocked PASSED [ 17%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_apply_user_fix_invalid_pixel PASSED [ 18%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_get_and_create_chunk PASSED [ 18%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_get_active_chunk_none PASSED [ 18%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_add_frame_to_active_chunk PASSED [ 19%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_chunk_boundary_detection_and_creation_on_loss PASSED [ 19%]
|
|
test_f02_2_flight_processing_engine.py::TestFlightProcessingEngine::test_chunk_lifecycle_integration_flow PASSED [ 19%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_insert_and_get_flight PASSED [ 20%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_internal_helpers PASSED [ 20%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_insert_duplicate_flight_raises_error PASSED [ 20%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_update_flight PASSED [ 20%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_execute_transaction_commit PASSED [ 21%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_execute_transaction_rollback PASSED [ 21%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_batch_update_waypoints PASSED [ 21%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_delete_flight_cascades PASSED [ 22%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_high_frequency_waypoint_updates PASSED [ 22%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_flight_state_persistence PASSED [ 22%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_heading_history_operations PASSED [ 22%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_query_processing_history PASSED [ 23%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_save_and_get_frame_results PASSED [ 23%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_get_heading_history PASSED [ 23%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_image_metadata_operations PASSED [ 24%]
|
|
test_f03_flight_database.py::TestFlightDatabase::test_chunk_state_persistence PASSED [ 24%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_cache_tile_success_and_hit PASSED [ 24%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_get_cached_tile_global_fallback PASSED [ 25%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_clear_flight_cache PASSED [ 25%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_update_cache_index PASSED [ 25%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_compute_tile_coords_ukraine PASSED [ 25%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_compute_tile_bounds PASSED [ 26%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_get_tile_grid PASSED [ 26%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_internal_coordinate_helpers PASSED [ 26%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_expand_search_grid PASSED [ 27%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_h06_delegation_verify PASSED [ 27%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_invalid_coords PASSED [ 27%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_api_call PASSED [ 27%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_api_error_and_retry_exhausted PASSED [ 28%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_retry_success PASSED [ 28%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_grid PASSED [ 28%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tile_grid_partial_failure PASSED [ 29%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_progressive_fetch PASSED [ 29%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_progressive_fetch_early_termination PASSED [ 29%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_compute_corridor_tiles PASSED [ 30%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_prefetch_route_corridor_success PASSED [ 30%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_prefetch_route_corridor_partial_failure PASSED [ 30%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_prefetch_route_corridor_complete_failure PASSED [ 30%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_fetch_tiles_parallel PASSED [ 31%]
|
|
test_f04_satellite_data_manager.py::TestSatelliteDataManager::test_concurrent_fetch_stress PASSED [ 31%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_validate_batch_size_min PASSED [ 31%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_validate_batch_size_max PASSED [ 32%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_validate_batch_naming_convention PASSED [ 32%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_validate_batch_invalid_format PASSED [ 32%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_validate_batch_file_size PASSED [ 32%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_queue_batch_valid PASSED [ 33%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_queue_batch_sequence_gap PASSED [ 33%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_queue_batch_queue_full PASSED [ 33%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_process_next_batch_dequeue PASSED [ 34%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_process_next_batch_empty_queue PASSED [ 34%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_process_next_batch_corrupted_image PASSED [ 34%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_process_next_batch_metadata_extraction PASSED [ 35%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_fifo_order PASSED [ 35%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_store_images_success PASSED [ 35%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_store_images_creates_directory PASSED [ 35%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_store_images_updates_metadata PASSED [ 36%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_store_images_disk_full PASSED [ 36%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_next_image_sequential PASSED [ 36%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_next_image_increments_counter PASSED [ 37%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_next_image_end_of_sequence PASSED [ 37%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_next_image_missing_file PASSED [ 37%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_image_by_sequence_valid PASSED [ 37%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_image_by_sequence_invalid PASSED [ 38%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_image_by_sequence_constructs_filename PASSED [ 38%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_image_metadata_fast PASSED [ 38%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_processing_status_counts PASSED [ 39%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_processing_status_current_sequence PASSED [ 39%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_processing_status_queued_batches PASSED [ 39%]
|
|
test_f05_image_input_pipeline.py::TestImageInputPipeline::test_get_processing_status_rate PASSED [ 40%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_rotate_image_360_identity PASSED [ 40%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_rotate_image_360_angles PASSED [ 40%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_rotate_chunk_360 PASSED [ 40%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_internal_heading_helpers PASSED [ 41%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_heading_lifecycle PASSED [ 41%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_detect_sharp_turn PASSED [ 41%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_requires_rotation_sweep_flag PASSED [ 42%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_integration_heading_lifecycle PASSED [ 42%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_integration_sharp_turn_flow PASSED [ 42%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_internal_orchestration_helpers PASSED [ 42%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_calculate_precise_angle PASSED [ 43%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_try_rotation_steps_match_found PASSED [ 43%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_try_rotation_steps_no_match PASSED [ 43%]
|
|
test_f06_image_rotation_manager.py::TestImageRotationManager::test_try_chunk_rotation_steps PASSED [ 44%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_preprocess_image_rgb PASSED [ 44%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_preprocess_image_grayscale_passthrough PASSED [ 44%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_extract_features_empty_image PASSED [ 45%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_extract_features_descriptor_dimensions PASSED [ 45%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_extract_features_feature_count_range PASSED [ 45%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_model_manager_integration PASSED [ 45%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_match_features_high_overlap PASSED [ 46%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_match_features_no_overlap PASSED [ 46%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_match_features_empty_input PASSED [ 46%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_match_features_confidence_filtering PASSED [ 47%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_normalize_keypoints PASSED [ 47%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_estimate_essential_matrix_insufficient PASSED [ 47%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_estimate_essential_matrix_good PASSED [ 47%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_decompose_essential_matrix PASSED [ 48%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_compute_tracking_quality PASSED [ 48%]
|
|
test_f07_sequential_visual_odometry.py::TestSequentialVisualOdometry::test_compute_relative_pose_pipeline PASSED [ 48%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_compute_location_descriptor_dimensions PASSED [ 49%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_descriptor_normalization PASSED [ 49%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_deterministic_output PASSED [ 49%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_compute_chunk_descriptor_empty PASSED [ 50%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_compute_chunk_descriptor_single PASSED [ 50%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_compute_chunk_descriptor_multiple PASSED [ 50%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_season_invariance_simulation PASSED [ 50%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_location_discrimination_simulation PASSED [ 51%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_chunk_robustness_variance PASSED [ 51%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_model_manager_integration PASSED [ 51%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_descriptor_performance_budget PASSED [ 52%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_chunk_performance_budget PASSED [ 52%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_load_valid_index PASSED [ 52%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_index_not_found PASSED [ 52%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_dimension_validation PASSED [ 53%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_metadata_mismatch PASSED [ 53%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_empty_metadata_file PASSED [ 53%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_load_performance PASSED [ 54%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_faiss_manager_integration PASSED [ 54%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_query_database_unloaded PASSED [ 54%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_query_database_returns_top_k PASSED [ 55%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_query_after_load PASSED [ 55%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_query_performance PASSED [ 55%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_distance_to_similarity PASSED [ 55%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_rank_candidates PASSED [ 56%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_spatial_reranking PASSED [ 56%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_retrieve_candidate_tiles_integration PASSED [ 56%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_retrieve_candidate_tiles_performance PASSED [ 57%]
|
|
test_f08_global_place_recognition.py::TestGlobalPlaceRecognition::test_chunk_retrieval_more_accurate PASSED [ 57%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_pixel_to_gps PASSED [ 57%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_compute_reprojection_error PASSED [ 57%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_compute_homography_success PASSED [ 58%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_compute_homography_failure PASSED [ 58%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_extract_gps_from_alignment PASSED [ 58%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_compute_match_confidence PASSED [ 59%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_align_to_satellite PASSED [ 59%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_extract_chunk_features PASSED [ 59%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_aggregate_features PASSED [ 60%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_aggregate_correspondences PASSED [ 60%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_compute_sim3_transform PASSED [ 60%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_get_chunk_center_gps PASSED [ 60%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_validate_chunk_match PASSED [ 61%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_align_chunk_to_satellite_success PASSED [ 61%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_align_chunk_to_satellite_failure PASSED [ 61%]
|
|
test_f09_local_geospatial_anchoring.py::TestLocalGeospatialAnchoring::test_chunk_vs_single_image_robustness PASSED [ 62%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_add_relative_factor_scales_translation PASSED [ 62%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_add_absolute_factor_converts_gps_to_enu PASSED [ 62%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_optimize_incremental PASSED [ 62%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_get_marginal_covariance_returns_6x6 PASSED [ 63%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_chunk_creation_and_isolation PASSED [ 63%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_optimize_chunk_isolation PASSED [ 63%]
|
|
test_f10_factor_graph_optimizer.py::TestFactorGraphOptimizer::test_merge_applies_sim3_transform PASSED [ 64%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_check_confidence_good PASSED [ 64%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_check_confidence_degraded PASSED [ 64%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_check_confidence_lost PASSED [ 65%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_progressive_search PASSED [ 65%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_try_current_grid PASSED [ 65%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_user_input PASSED [ 65%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_chunk_creation PASSED [ 66%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_try_chunk_semantic_matching PASSED [ 66%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_try_chunk_litesam_matching PASSED [ 66%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_merge_chunk_to_trajectory PASSED [ 67%]
|
|
test_f11_failure_recovery_coordinator.py::TestFailureRecoveryCoordinator::test_process_unanchored_chunks PASSED [ 67%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_create_chunk PASSED [ 67%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_add_frame_to_active_chunk PASSED [ 67%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_add_frame_to_inactive_chunk_fails PASSED [ 68%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_get_active_chunk PASSED [ 68%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_get_chunk_frames_and_images PASSED [ 68%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_get_chunk_composite_descriptor PASSED [ 69%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_get_chunk_bounds PASSED [ 69%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_is_chunk_ready_for_matching PASSED [ 69%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_mark_chunk_anchored_transactional PASSED [ 70%]
|
|
test_f12_route_chunk_manager.py::TestRouteChunkManager::test_merge_chunks_transactional PASSED [ 70%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_enu_origin_lifecycle PASSED [ 70%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_gps_to_enu PASSED [ 70%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_enu_to_gps_roundtrip PASSED [ 71%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_pixel_to_gps_center PASSED [ 71%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_gps_to_pixel_roundtrip PASSED [ 71%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_image_object_to_gps PASSED [ 72%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_transform_points PASSED [ 72%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_calculate_meters_per_pixel PASSED [ 72%]
|
|
test_f13_coordinate_transformer.py::TestCoordinateTransformer::test_calculate_haversine_distance PASSED [ 72%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_enu_to_gps_without_origin_raises_error PASSED [ 73%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_gps_to_enu_at_origin_returns_zero PASSED [ 73%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_enu_to_gps_conversion PASSED [ 73%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_ray_cloud_intersection_hit PASSED [ 74%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_ray_cloud_intersection_miss PASSED [ 74%]
|
|
test_f14_coordinate_transformer.py::TestCoordinateTransformer::test_pixel_to_gps_success PASSED [ 74%]
|
|
test_f14_result_manager.py::TestResultManager::test_update_frame_result_new_frame PASSED [ 75%]
|
|
test_f14_result_manager.py::TestResultManager::test_update_frame_result_updates_waypoint PASSED [ 75%]
|
|
test_f14_result_manager.py::TestResultManager::test_update_frame_result_transaction_atomic PASSED [ 75%]
|
|
test_f14_result_manager.py::TestResultManager::test_update_frame_result_triggers_sse PASSED [ 75%]
|
|
test_f14_result_manager.py::TestResultManager::test_update_frame_result_refined_flag PASSED [ 76%]
|
|
test_f14_result_manager.py::TestResultManager::test_publish_waypoint_fetches_latest PASSED [ 76%]
|
|
test_f14_result_manager.py::TestResultManager::test_publish_waypoint_handles_transient_error PASSED [ 76%]
|
|
test_f14_result_manager.py::TestResultManager::test_publish_waypoint_logs_on_db_unavailable PASSED [ 77%]
|
|
test_f14_result_manager.py::TestResultManager::test_mark_refined_updates_all_frames PASSED [ 77%]
|
|
test_f14_result_manager.py::TestResultManager::test_mark_refined_sets_refined_flag PASSED [ 77%]
|
|
test_f14_result_manager.py::TestResultManager::test_mark_refined_updates_gps_coordinates PASSED [ 77%]
|
|
test_f14_result_manager.py::TestResultManager::test_mark_refined_triggers_sse_per_frame PASSED [ 78%]
|
|
test_f14_result_manager.py::TestResultManager::test_mark_refined_updates_waypoints PASSED [ 78%]
|
|
test_f14_result_manager.py::TestResultManager::test_chunk_merge_updates_all_frames PASSED [ 78%]
|
|
test_f14_result_manager.py::TestResultManager::test_chunk_merge_sets_refined_flag PASSED [ 79%]
|
|
test_f14_result_manager.py::TestResultManager::test_chunk_merge_triggers_sse PASSED [ 79%]
|
|
test_f14_result_manager.py::TestResultManager::test_batch_transaction_atomic PASSED [ 79%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_flight_results_returns_all_frames PASSED [ 80%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_flight_results_includes_statistics PASSED [ 80%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_flight_results_empty_flight PASSED [ 80%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_flight_results_performance PASSED [ 80%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_changed_frames_returns_modified PASSED [ 81%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_changed_frames_empty_result PASSED [ 81%]
|
|
test_f14_result_manager.py::TestResultManager::test_get_changed_frames_includes_refined PASSED [ 81%]
|
|
test_f14_result_manager.py::TestResultManager::test_export_results_json PASSED [ 82%]
|
|
test_f14_result_manager.py::TestResultManager::test_export_results_csv PASSED [ 82%]
|
|
test_f14_result_manager.py::TestResultManager::test_export_results_kml PASSED [ 82%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_create_and_close_stream PASSED [ 82%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_multiple_client_connections PASSED [ 83%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_slow_client_disconnect PASSED [ 83%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_send_frame_result_formatting PASSED [ 83%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_heartbeat_formatting PASSED [ 84%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_replay_buffered_events_on_reconnect PASSED [ 84%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_event_filtering PASSED [ 84%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_send_trajectory_refined_event PASSED [ 85%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_send_user_fix_applied_event PASSED [ 85%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_send_processing_error_event PASSED [ 85%]
|
|
test_f15_sse_event_streamer.py::TestSSEEventStreamer::test_send_flight_status_event PASSED [ 85%]
|
|
test_f16_model_manager.py::TestModelManager::test_load_model_tensorrt_mock PASSED [ 86%]
|
|
test_f16_model_manager.py::TestModelManager::test_load_model_onnx_mock PASSED [ 86%]
|
|
test_f16_model_manager.py::TestModelManager::test_load_already_cached_model PASSED [ 86%]
|
|
test_f16_model_manager.py::TestModelManager::test_load_invalid_format PASSED [ 87%]
|
|
test_f16_model_manager.py::TestModelManager::test_warmup_model PASSED [ 87%]
|
|
test_f16_model_manager.py::TestModelManager::test_warmup_unloaded_model PASSED [ 87%]
|
|
test_f16_model_manager.py::TestModelManager::test_get_inference_engine_missing PASSED [ 87%]
|
|
test_f16_model_manager.py::TestModelManager::test_optimize_to_tensorrt PASSED [ 88%]
|
|
test_f16_model_manager.py::TestModelManager::test_optimize_to_tensorrt_missing_source PASSED [ 88%]
|
|
test_f16_model_manager.py::TestModelManager::test_fallback_to_onnx_triggered_on_trt_failure PASSED [ 88%]
|
|
test_f16_model_manager.py::TestModelManager::test_inference_performance_latency_mock PASSED [ 89%]
|
|
test_f16_model_manager.py::TestModelManager::test_cold_start_all_models PASSED [ 89%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_load_config_valid_yaml PASSED [ 89%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_load_config_missing_file_uses_defaults PASSED [ 90%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_load_config_invalid_yaml_raises_error PASSED [ 90%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_load_config_partial_uses_defaults PASSED [ 90%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_validate_config_valid PASSED [ 90%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_validate_config_invalid_focal_length PASSED [ 91%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_validate_config_invalid_operational_area PASSED [ 91%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_camera_params_default PASSED [ 91%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_update_config_valid_key PASSED [ 92%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_update_config_invalid_section PASSED [ 92%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_flight_config_existing_via_db PASSED [ 92%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_flight_config_nonexistent PASSED [ 92%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_save_flight_config_valid PASSED [ 93%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_save_flight_config_invalid_flight_id PASSED [ 93%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_operational_altitude_existing PASSED [ 93%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_frame_spacing_existing PASSED [ 94%]
|
|
test_f17_configuration_manager.py::TestConfigurationManager::test_get_frame_spacing_default PASSED [ 94%]
|
|
test_h01_camera_model.py::TestCameraModel::test_intrinsic_matrix_structure PASSED [ 94%]
|
|
test_h01_camera_model.py::TestCameraModel::test_pixel_to_ray_principal_point PASSED [ 95%]
|
|
test_h01_camera_model.py::TestCameraModel::test_project_to_pixel PASSED [ 95%]
|
|
test_h01_camera_model.py::TestCameraModel::test_projection_unprojection_cycle PASSED [ 95%]
|
|
test_h02_gsd_calculator.py::TestGSDCalculator::test_calculate_gsd_simple PASSED [ 95%]
|
|
test_h02_gsd_calculator.py::TestGSDCalculator::test_calculate_gsd_realistic PASSED [ 96%]
|
|
test_h02_gsd_calculator.py::TestGSDCalculator::test_meters_per_pixel PASSED [ 96%]
|
|
test_h02_gsd_calculator.py::TestGSDCalculator::test_altitude_to_scale PASSED [ 96%]
|
|
test_h03_robust_kernels.py::TestRobustKernels::test_huber_kernel_scalar PASSED [ 97%]
|
|
test_h03_robust_kernels.py::TestRobustKernels::test_cauchy_kernel_scalar PASSED [ 97%]
|
|
test_h06_web_mercator_utils.py::TestH06WebMercatorUtils::test_latlon_to_tile PASSED [ 97%]
|
|
test_h06_web_mercator_utils.py::TestH06WebMercatorUtils::test_tile_to_latlon PASSED [ 97%]
|
|
test_h06_web_mercator_utils.py::TestH06WebMercatorUtils::test_compute_tile_bounds PASSED [ 98%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_normalize_angle PASSED [ 98%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_rotate_image PASSED [ 98%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_kabsch_zero_rotation PASSED [ 99%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_kabsch_known_rotation PASSED [ 99%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_kabsch_with_translation PASSED [ 99%]
|
|
test_h07_image_rotation_utils.py::TestImageRotationUtils::test_kabsch_insufficient_points PASSED [100%]
|
|
|
|
======================= 340 passed, 12 skipped in 14.51s =======================
|