diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/gdb.ada/fun_overload_menu.exp | 43 | ||||
-rw-r--r-- | gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb | 4 |
2 files changed, 28 insertions, 19 deletions
diff --git a/gdb/testsuite/gdb.ada/fun_overload_menu.exp b/gdb/testsuite/gdb.ada/fun_overload_menu.exp index 8e7a3fb..1130d84 100644 --- a/gdb/testsuite/gdb.ada/fun_overload_menu.exp +++ b/gdb/testsuite/gdb.ada/fun_overload_menu.exp @@ -28,18 +28,30 @@ clean_restart ${testfile} set bp_location [gdb_get_line_number "BREAK" ${testdir}/foo.adb] runto "foo.adb:$bp_location" +set line1 [gdb_get_line_number "LINE 1" ${testdir}/foo.adb] +set line2 [gdb_get_line_number "LINE 2" ${testdir}/foo.adb] -proc test_menu {expr function menu_entries selection output} { - set menu [multi_line "Multiple matches for $function" \ - "\\\[0\\\] cancel" \ - "$menu_entries" \ - "> $"] +proc test_menu {expr function first second selection output} { + set menu1 [multi_line "Multiple matches for $function" \ + "\\\[0\\\] cancel" \ + "\\\[1\\\] $first" \ + "\\\[2\\\] $second" \ + "> $"] + set menu2 [multi_line "Multiple matches for $function" \ + "\\\[0\\\] cancel" \ + "\\\[1\\\] $second" \ + "\\\[2\\\] $first" \ + "> $"] set test_name "multiple matches for $function {$expr}" - gdb_test_multiple "print $expr" "$test_name" \ - { - -re "$menu" { + gdb_test_multiple "print $expr" "$test_name" { + -re "$menu1" { pass "$test_name" } + -re "$menu2" { + pass "$test_name" + # Make sure we pick the correct one. + set selection [expr {3 - $selection}] + } default { fail "$test_name" } @@ -53,18 +65,16 @@ proc test_menu {expr function menu_entries selection output} { # 1. Test with overloaded functions with_test_prefix "func" { test_menu "f (1, null)" "f" \ - [multi_line \ - "\\\[1\\\] foo\\.f \\(integer; foo\\.integer_access\\) return boolean at .*foo.adb:.*" \ - "\\\[2\\\] foo\\.f \\(foo\\.new_integer; foo\\.integer_access\\) return boolean at .*foo.adb:.*"] \ + "foo\\.f \\(integer; (foo\\.)?integer_access\\) return boolean at .*foo.adb:.*" \ + "foo\\.f \\((foo\\.)?new_integer; (foo\\.)?integer_access\\) return boolean at .*foo.adb:.*" \ "1" "= true" } # 2. Test with overloaded procedures with_test_prefix "proc" { test_menu "p (1, null)" "p" \ - [multi_line \ - "\\\[1\\\] foo\\.p \\(integer; foo\\.integer_access\\) at .*foo.adb:.*" \ - "\\\[2\\\] foo\\.p \\(foo\\.new_integer; foo\\.integer_access\\) at .*foo.adb:.*" ] \ + "foo\\.p \\(integer; (foo\\.)?integer_access\\) at .*foo.adb:.*" \ + "foo\\.p \\((foo\\.)?new_integer; (foo\\.)?integer_access\\) at .*foo.adb:.*" \ "1" "= (void)" } @@ -72,8 +82,7 @@ with_test_prefix "proc" { gdb_test "set ada print-signatures off" "" with_test_prefix "signatures disabled" { test_menu "f (1, null)" "f" \ - [multi_line \ - "\\\[1\\\] foo\\.f at .*foo.adb:.*" \ - "\\\[2\\\] foo\\.f at .*foo.adb:.*"] \ + "foo\\.f at .*foo.adb:$line1.*" \ + "foo\\.f at .*foo.adb:$line2.*" \ "1" "= true" } diff --git a/gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb b/gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb index 0a2b21a..d866221 100644 --- a/gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb +++ b/gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb @@ -20,12 +20,12 @@ procedure Foo is function F (I : Integer; A : Integer_Access) return Boolean is begin - return True; + return True; -- LINE 1 end F; function F (I : New_Integer; A : Integer_Access) return Boolean is begin - return False; + return False; -- LINE 2 end F; procedure P (I : Integer; A : Integer_Access) is |