diff options
-rw-r--r-- | gdb/testsuite/gdb.fortran/lbound-ubound.F90 | 22 | ||||
-rw-r--r-- | gdb/testsuite/gdb.fortran/lbound-ubound.exp | 64 |
2 files changed, 18 insertions, 68 deletions
diff --git a/gdb/testsuite/gdb.fortran/lbound-ubound.F90 b/gdb/testsuite/gdb.fortran/lbound-ubound.F90 index 42aca4a..4b7d44d 100644 --- a/gdb/testsuite/gdb.fortran/lbound-ubound.F90 +++ b/gdb/testsuite/gdb.fortran/lbound-ubound.F90 @@ -20,28 +20,6 @@ subroutine do_test (lb, ub) integer*4, dimension (:) :: lb integer*4, dimension (:) :: ub - print *, "" - print *, "Expected GDB Output:" - print *, "" - - write(*, fmt="(A)", advance="no") "LBOUND = (" - do i=LBOUND (lb, 1), UBOUND (lb, 1), 1 - if (i > LBOUND (lb, 1)) then - write(*, fmt="(A)", advance="no") ", " - end if - write(*, fmt="(I0)", advance="no") lb (i) - end do - write(*, fmt="(A)", advance="yes") ")" - - write(*, fmt="(A)", advance="no") "UBOUND = (" - do i=LBOUND (ub, 1), UBOUND (ub, 1), 1 - if (i > LBOUND (ub, 1)) then - write(*, fmt="(A)", advance="no") ", " - end if - write(*, fmt="(I0)", advance="no") ub (i) - end do - write(*, fmt="(A)", advance="yes") ")" - print *, "" ! Test Breakpoint end subroutine do_test diff --git a/gdb/testsuite/gdb.fortran/lbound-ubound.exp b/gdb/testsuite/gdb.fortran/lbound-ubound.exp index fced41f..90cb43a 100644 --- a/gdb/testsuite/gdb.fortran/lbound-ubound.exp +++ b/gdb/testsuite/gdb.fortran/lbound-ubound.exp @@ -17,9 +17,6 @@ require allow_fortran_tests -# This test relies on output from the inferior. -require {!target_info exists gdb,noinferiorio} - standard_testfile ".F90" load_lib fortran.exp @@ -55,40 +52,15 @@ while { $test_count < 500 } { set expected_ubound "" set found_prompt false gdb_test_multiple "continue" "continue" { - -i $::inferior_spawn_id - - -re ".*LBOUND = (\[^\r\n\]+)\r\n" { - set expected_lbound $expect_out(1,string) - if {!$found_prompt} { - exp_continue - } - } - -re ".*UBOUND = (\[^\r\n\]+)\r\n" { - set expected_ubound $expect_out(1,string) - if {!$found_prompt} { - exp_continue - } + -re -wrap "! Test Breakpoint.*" { + # We stopped at the next test case. + pass $gdb_test_name } - -i $::gdb_spawn_id - - -re "! Test Breakpoint" { - set func_name "show_elem" - exp_continue - } - -re "! Breakpoint before deallocate" { + -re -wrap "! Breakpoint before deallocate.*" { + # There are no more test cases. + pass $gdb_test_name set found_dealloc_breakpoint true - exp_continue - } - -re "$gdb_prompt $" { - set found_prompt true - - if {$found_dealloc_breakpoint - || ($expected_lbound != "" && $expected_ubound != "")} { - # We're done. - } else { - exp_continue - } } } @@ -96,6 +68,17 @@ while { $test_count < 500 } { break } + set expected_lbound [get_valueof "" "lb" "" "get expected lbound"] + set expected_ubound [get_valueof "" "ub" "" "get expected ubound"] + + if { $expected_lbound == "" } { + error "failed to extract expected results for lbound" + } + + if { $expected_ubound == "" } { + error "failed to extract expected results for ubound" + } + verbose -log "APB: Run a test here" verbose -log "APB: Expected lbound '$expected_lbound'" verbose -log "APB: Expected ubound '$expected_ubound'" @@ -116,19 +99,8 @@ while { $test_count < 500 } { } } - # Check we have all the information we need to successfully run one - # of these tests. - if { $expected_lbound == "" } { - perror "failed to extract expected results for lbound" - return 0 - } - if { $expected_ubound == "" } { - perror "failed to extract expected results for ubound" - return 0 - } if { $array_name == "" } { - perror "failed to extract array name" - return 0 + error "failed to extract array name" } # Check GDB can correctly print complete set of upper and |