@@ -401,34 +401,32 @@ def test_normalize_screenshot_data_handles_data_url(self):
401401
402402 sink = CloudTraceSink (upload_url , run_id = run_id )
403403
404- # Test JPEG data URL
405- jpeg_data_url = "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
406- base64_str , fmt = sink ._normalize_screenshot_data (jpeg_data_url )
407- assert base64_str == "/9j/4AAQSkZJRg..."
408- assert fmt == "jpeg"
409-
410- # Test PNG data URL
411- png_data_url = "data:image/png;base64,iVBORw0KGgoAAAA..."
412- base64_str , fmt = sink ._normalize_screenshot_data (png_data_url )
413- assert base64_str == "iVBORw0KGgoAAAA..."
414- assert fmt == "png"
415-
416- # Test pure base64 (should pass through unchanged)
417- pure_base64 = "/9j/4AAQSkZJRg..."
418- base64_str , fmt = sink ._normalize_screenshot_data (pure_base64 , "jpeg" )
419- assert base64_str == "/9j/4AAQSkZJRg..."
420- assert fmt == "jpeg"
421-
422- # Test empty string
423- base64_str , fmt = sink ._normalize_screenshot_data ("" )
424- assert base64_str == ""
425- assert fmt == "jpeg"
426-
427- # Cleanup
428- cache_dir = Path .home () / ".sentience" / "traces" / "pending"
429- trace_path = cache_dir / f"{ run_id } .jsonl"
430- if trace_path .exists ():
431- os .remove (trace_path )
404+ try :
405+ # Test JPEG data URL
406+ jpeg_data_url = "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
407+ base64_str , fmt = sink ._normalize_screenshot_data (jpeg_data_url )
408+ assert base64_str == "/9j/4AAQSkZJRg..."
409+ assert fmt == "jpeg"
410+
411+ # Test PNG data URL
412+ png_data_url = "data:image/png;base64,iVBORw0KGgoAAAA..."
413+ base64_str , fmt = sink ._normalize_screenshot_data (png_data_url )
414+ assert base64_str == "iVBORw0KGgoAAAA..."
415+ assert fmt == "png"
416+
417+ # Test pure base64 (should pass through unchanged)
418+ pure_base64 = "/9j/4AAQSkZJRg..."
419+ base64_str , fmt = sink ._normalize_screenshot_data (pure_base64 , "jpeg" )
420+ assert base64_str == "/9j/4AAQSkZJRg..."
421+ assert fmt == "jpeg"
422+
423+ # Test empty string
424+ base64_str , fmt = sink ._normalize_screenshot_data ("" )
425+ assert base64_str == ""
426+ assert fmt == "jpeg"
427+ finally :
428+ # Close the sink to release file handle (required on Windows)
429+ sink .close ()
432430
433431 def test_cloud_trace_sink_handles_data_url_in_screenshot (self ):
434432 """Test that CloudTraceSink properly extracts screenshots from data URLs."""
0 commit comments