Home | History | Annotate | Line # | Download | only in gdb.rust
      1 # Copyright (C) 2017-2024 Free Software Foundation, Inc.
      2 
      3 # This program is free software; you can redistribute it and/or modify
      4 # it under the terms of the GNU General Public License as published by
      5 # the Free Software Foundation; either version 3 of the License, or
      6 # (at your option) any later version.
      7 #
      8 # This program is distributed in the hope that it will be useful,
      9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     11 # GNU General Public License for more details.
     12 #
     13 # You should have received a copy of the GNU General Public License
     14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
     15 
     16 # Test expression parsing and evaluation that requires Rust compiler.
     17 
     18 load_lib rust-support.exp
     19 require allow_rust_tests
     20 require {can_compile rust}
     21 
     22 standard_testfile .rs
     23 if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug rust}]} {
     24     return -1
     25 }
     26 
     27 set line [gdb_get_line_number "set breakpoint here"]
     28 if {![runto ${srcfile}:$line]} {
     29     untested "could not run to breakpoint"
     30     return -1
     31 }
     32 
     33 gdb_test "ptype us" " = .*V<\\\[u8\\\]>.*"
     34 
     35 if {[rust_at_least 1.61]} {
     36     gdb_test "print us2" " = .*u8.* \\\[1, 2, 3\\\]"
     37     gdb_test "ptype us2" "type = .*"
     38 }
     39