code: def test_exec_next():
      t = make_tester()
      t.write(
          "test.jam",
          """\
          rule g ( )
          {
              a = 1 ;
          }
          rule f ( )
          {
              g ;
              b = 2 ;
              c = 3 ;
          }
          rule h ( )
          {
              f ;
              g ;
          }
          h ;
          d = 4 ;
      """,
      )
      run(
          t,
          """\
  =thread-group-added,id="i1"
  (gdb)
  -break-insert f
  ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",func="f"}
  (gdb)
  72-exec-run -ftest.jam
  =thread-created,id="1",group-id="i1"
  72^running
  (gdb)
  *stopped,reason="breakpoint-hit",bkptno="1",disp="keep",frame={func="f",args=[],file="test.jam",fullname="{{.*}}test.jam",line="7"},thread-id="1",stopped-threads="all"
  (gdb)
  1-exec-next
  1^running
  (gdb)
  *stopped,reason="end-stepping-range",frame={func="f",args=[],file="test.jam",fullname="{{.*}}test.jam",line="8"},thread-id="1"
  (gdb)
  2-exec-next
  2^running
  (gdb)
  *stopped,reason="end-stepping-range",frame={func="f",args=[],file="test.jam",fullname="{{.*}}test.jam",line="9"},thread-id="1"
  (gdb)
  3-exec-next
  3^running
  (gdb)
  *stopped,reason="end-stepping-range",frame={func="h",args=[],file="test.jam",fullname="{{.*}}test.jam",line="14"},thread-id="1"
  (gdb)
  4-exec-next
  4^running
  (gdb)
  *stopped,reason="end-stepping-range",frame={func="module scope",args=[],file="test.jam",fullname="{{.*}}test.jam",line="17"},thread-id="1"
  (gdb)
  73-gdb-exit
  73^exit
  """,
      )
      t.cleanup()
  
file_path: turicreate/src/external/boost/boost_1_68_0/tools/build/test/debugger-mi.py
imports: import BoostBuild
  import TestCmd
  import re
label_desc: Use image node_id 7 for calling a global function with example usage: test_exec_next() without return types