@@ -109,6 +109,39 @@ def _wait_for_process_ready(proc, timeout):
109109 return proc .poll () is None
110110
111111
112+ @unittest .skipIf (
113+ _build_child_profiler_args is None ,
114+ "profiling.sampling.cli unavailable" ,
115+ )
116+ class TestChildProfilerArgBuilder (unittest .TestCase ):
117+ """Tests for child profiler CLI argument construction."""
118+
119+ def test_build_child_profiler_args_diff_flamegraph (self ):
120+ """Test child args use the real --diff-flamegraph flag."""
121+ args = argparse .Namespace (
122+ sample_interval_usec = 1000 ,
123+ duration = None ,
124+ all_threads = False ,
125+ realtime_stats = False ,
126+ native = False ,
127+ gc = True ,
128+ opcodes = False ,
129+ async_aware = False ,
130+ mode = "wall" ,
131+ format = "diff_flamegraph" ,
132+ diff_baseline = "baseline.bin" ,
133+ )
134+
135+ child_args = _build_child_profiler_args (args )
136+
137+ self .assertIn ("--diff-flamegraph" , child_args )
138+ self .assertNotIn ("--diff_flamegraph" , child_args )
139+
140+ flag_index = child_args .index ("--diff-flamegraph" )
141+ self .assertGreater (len (child_args ), flag_index + 1 )
142+ self .assertEqual (child_args [flag_index + 1 ], "baseline.bin" )
143+
144+
112145@requires_remote_subprocess_debugging ()
113146class TestGetChildPids (unittest .TestCase ):
114147 """Tests for the get_child_pids function."""
0 commit comments