@@ -502,9 +502,10 @@ def test_flamegraph_collector_export(self):
502502
503503 # Export flamegraph
504504 with captured_stdout (), captured_stderr ():
505- collector .export (flamegraph_out .name )
505+ export_ok = collector .export (flamegraph_out .name )
506506
507507 # Verify file was created and contains valid data
508+ self .assertTrue (export_ok )
508509 self .assertTrue (os .path .exists (flamegraph_out .name ))
509510 self .assertGreater (os .path .getsize (flamegraph_out .name ), 0 )
510511
@@ -523,6 +524,21 @@ def test_flamegraph_collector_export(self):
523524 self .assertIn ('"value":' , content )
524525 self .assertIn ('"children":' , content )
525526
527+ def test_flamegraph_collector_empty_export_fails (self ):
528+ """Test empty flamegraph export reports no output."""
529+ flamegraph_out = tempfile .NamedTemporaryFile (
530+ suffix = ".html" , delete = False
531+ )
532+ self .addCleanup (close_and_unlink , flamegraph_out )
533+
534+ collector = FlamegraphCollector (1000 )
535+
536+ with captured_stdout (), captured_stderr ():
537+ export_ok = collector .export (flamegraph_out .name )
538+
539+ self .assertFalse (export_ok )
540+ self .assertEqual (os .path .getsize (flamegraph_out .name ), 0 )
541+
526542 def test_gecko_collector_basic (self ):
527543 """Test basic GeckoCollector functionality."""
528544 collector = GeckoCollector (1000 )
@@ -1552,8 +1568,9 @@ def test_diff_flamegraph_export(self):
15521568 self .addCleanup (close_and_unlink , flamegraph_out )
15531569
15541570 with captured_stdout (), captured_stderr ():
1555- diff .export (flamegraph_out .name )
1571+ export_ok = diff .export (flamegraph_out .name )
15561572
1573+ self .assertTrue (export_ok )
15571574 self .assertTrue (os .path .exists (flamegraph_out .name ))
15581575 self .assertGreater (os .path .getsize (flamegraph_out .name ), 0 )
15591576
0 commit comments