# be a single instruction between line_label_1 and line_label_2, but
 # we allow for up to 25 (just a random number).
 
-set i 0
-set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
-          "get pc before stepi loop at line_label_1"]
-while { $pc < $ll2 } {
-    incr i
-    set line_changed -1
-    gdb_test_multiple "stepi" "stepi until line_label_2, $i" {
-       -re "main, set var to 99.*$gdb_prompt" {
-           set line_changed 0
-       }
-       -re "main, set var to 0.*$gdb_prompt " {
-           set line_changed 1
-       }
-    }
-    gdb_assert { $line_changed != -1 } \
-       "ensure we saw a valid line pattern, $i"
+with_test_prefix "stepi until line_label_2" {
+    set i 0
     set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
-               "get pc inside stepi loop from line_label_1, $i"]
-    if { $ll2 == $pc } {
-       gdb_assert { $line_changed } \
-           "line must change at line_label_2"
-    } else {
-       gdb_assert { !$line_changed } \
-           "line should not change until line_label_2, $i"
+               "get pc before stepi loop at line_label_1"]
+    while { $pc < $ll2 } {
+       incr i
+       with_test_prefix $i {
+           set line_changed -1
+           gdb_test_multiple "stepi" "stepi until line_label_2" {
+               -re "main, set var to 99.*$gdb_prompt" {
+                   set line_changed 0
+               }
+               -re "main, set var to 0.*$gdb_prompt " {
+                   set line_changed 1
+               }
+           }
+           gdb_assert { $line_changed != -1 } \
+               "ensure we saw a valid line pattern"
+           set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
+                       "get pc inside stepi loop from line_label_1"]
+           if { $ll2 == $pc } {
+               gdb_assert { $line_changed } \
+                   "line must change at line_label_2"
+           } else {
+               gdb_assert { !$line_changed } \
+                   "line should not change until line_label_2"
+           }
+       }
     }
 }
 
 # Now single instruction step forward until GDB reports a new source
 # line, at which point we should be at line_label_5.
 
-set i 0
-set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
-          "get pc before stepi loop at line_label_2"]
-while { $pc < $ll5 } {
-    incr i
-    set line_changed -1
-    gdb_test_multiple "stepi" "stepi until line_label_5, $i" {
-       -re "main, set var to 0.*$gdb_prompt" {
-           set line_changed 0
-       }
-       -re "main end.*$gdb_prompt " {
-           set line_changed 1
-       }
-    }
-    gdb_assert { $line_changed != -1 } \
-       "ensure we saw a valid line pattern, $i"
+with_test_prefix "stepi until line_label_5" {
+    set i 0
     set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
-               "get pc inside stepi loop from line_label_2, $i"]
-    if { $ll5 == $pc } {
-       gdb_assert { $line_changed } \
-           "line must change at line_label_5"
-    } else {
-       gdb_assert { !$line_changed } \
-           "line should not change until line_label_5, $i"
+               "get pc before stepi loop at line_label_2"]
+    while { $pc < $ll5 } {
+       incr i
+       with_test_prefix $i {
+           set line_changed -1
+           gdb_test_multiple "stepi" "stepi until line_label_5" {
+               -re "main, set var to 0.*$gdb_prompt" {
+                   set line_changed 0
+               }
+               -re "main end.*$gdb_prompt " {
+                   set line_changed 1
+               }
+           }
+           gdb_assert { $line_changed != -1 } \
+               "ensure we saw a valid line pattern"
+           set pc [get_hexadecimal_valueof "\$pc" "NO-PC" \
+                       "get pc inside stepi loop from line_label_2"]
+           if { $ll5 == $pc } {
+               gdb_assert { $line_changed } \
+                   "line must change at line_label_5"
+           } else {
+               gdb_assert { !$line_changed } \
+                   "line should not change until line_label_5"
+           }
+       }
     }
 }