⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 call-ar-st.exp

📁 这个是LINUX下的GDB调度工具的源码
💻 EXP
📖 第 1 页 / 共 3 页
字号:
#   Copyright 1998, 1999, 2000, 2001, 2004#   Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # Please email any bugs, comments, and/or additions to this file to:# bug-gdb@prep.ai.mit.edu# This file was written by Elena Zannoni (ezannoni@cygnus.com)if $tracelevel then {        strace $tracelevel}set prms_id 0set bug_id 0set testfile "call-ar-st"set srcfile ${testfile}.cset binfile ${objdir}/${subdir}/${testfile}# Test depends on printf, which the sparclet stub doesn't support.  if { [istarget "sparclet-*-*"] } {    return 0;}if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."}# Create and source the file that provides information about the compiler# used to compile the test case.if [get_compiler_info ${binfile}] {    return -1;}# Some targets can't call functions, so don't even bother with this# test.if [target_info exists gdb,cannot_call_functions] {    setup_xfail "*-*-*" 2416    fail "This target can not call functions"    continue}set oldtimeout $timeoutset timeout [expr "$timeout + 60"]# Set the current language to C.  This counts as a test.  If it# fails, then we skip the other tests.proc set_lang_c {} {    global gdb_prompt    send_gdb "set language c\n"    gdb_expect {	-re ".*$gdb_prompt $" {}	timeout { fail "set language c (timeout)" ; return 0; }    }    send_gdb "show language\n"    gdb_expect {	-re ".* source language is \"c\".*$gdb_prompt $" {	    pass "set language to \"c\""	    return 1	}	-re ".*$gdb_prompt $" {	    fail "setting language to \"c\""	    return 0	}	timeout {	    fail "can't show language (timeout)"	    return 0	}    }}# Start with a fresh gdb.gdb_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_load ${binfile}send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $"send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $"send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $"if ![runto_main] then {    perror "couldn't run to breakpoint"    continue}get_debug_format#go -until 1209gdb_test "tbreak 1209" \    "Breakpoint \[0-9\]+.*file.*$srcfile, line 1209.*" \    "tbreakpoint line 1209"gdb_test continue \"Continuing\\..*main \\(\\) at.*$srcfile:1209.*" \"run until breakpoint set at a line"#call print_double_array(double_array)if {![gdb_skip_float_test "print print_double_array(double_array)"] && \    ![gdb_skip_stdio_test "print print_double_array(double_array)"] } {  send_gdb "print print_double_array(double_array)\n"  gdb_expect_list "print print_double_array(double_array)" ".*$gdb_prompt $" {	"\[ \t\r\n\]+array_d :"	"\[ \t\r\n\]+========="	"\[ \t\r\n\]+0.000000"	"\[ \t\r\n\]+23.456\[0-9\]*  46.913\[0-9\]*  70.370\[0-9\]*  93.826\[0-9\]*  117.283\[0-9\]*  140.740\[0-9\]*  164.196\[0-9\]*  187.653\[0-9\]"	"\[ \t\r\n\]+"  }}#call print_char_array(char_array)if ![gdb_skip_stdio_test "print_char_array(char_array)"] {    send_gdb "print print_char_array(char_array)\n"    gdb_expect_list "print print_char_array(char_array)" ".*$gdb_prompt $" {	"\[ \t\r\n\]+array_c :"	"\[ \t\r\n\]+========="	"\[ \t\r\n\]+\[ \t\r\n\]+Z"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZa\[ \t\r\n\]+\[ \t\r\n\]+"    }}#go -until 1216gdb_test "tbreak 1216" \"Breakpoint.*file.*$srcfile, line 1216.*" \"tbreakpoint line 1216"if ![gdb_skip_stdio_test "continue to 1216"] {    send_gdb "continue\n"    gdb_expect_list "continue to 1216" ".*$gdb_prompt $" {	"\[ \t\r\n\]+array_c :"	"\[ \t\r\n\]+========="	"\[ \t\r\n\]+\[ \t\r\n\]+Z"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ"	"\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZa"	"\[ \t\r\n\]+main.*at.*:1216"	"\[ \t\r\n\]+1216.*print_double_array\\(double_array\\)"    }} else {    gdb_test "continue" "" ""}# I am disabling this test, because it takes too long. I verified by# hand that it works, feel free to check for yourself. #call print_all_arrays(integer_array, char_array, float_array, double_array)#send_gdb "print print_all_arrays(integer_array, char_array, float_array, double_array)\n"#gdb_expect {#    -re ".*array_i :\[ \t\r\n\]+=========\[ \t\r\n\]+\[ \t\r\n\]+0\[ \t\r\n\]+-1  -2  -3  -4  -5  -6  -7  -8\[ \t\r\n\]+-9  -10  -11  -12  -13  -14  -15  -16\[ \t\r\n\]+-17  -18  -19  -20  -21  -22  -23  -24\[ \t\r\n\]+-25  -26  -27  -28  -29  -30  -31  -32\[ \t\r\n\]+-33  -34  -35  -36  -37  -38  -39  -40\[ \t\r\n\]+-41  -42  -43  -44  -45  -46  -47  -48\[ \t\r\n\]+-49\[ \t\r\n\]+\[ \t\r\n\]+array_c :\[ \t\r\n\]+=========\[ \t\r\n\]+\[ \t\r\n\]+Z\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZ\[ \t\r\n\]+aZaZaZaZaZaZaZaZaZa\[ \t\r\n\]+\[ \t\r\n\]+array_f :\[ \t\r\n\]+=========\[ \t\r\n\]+\[ \t\r\n\]+0.000000\[ \t\r\n\]+0.142450  0.284900  0.427350  0.569801  0.712251  0.854701  0.997151  1.139601\[ \t\r\n\]+1.282051  1.424501  1.566952  1.709402  1.851852  1.994302\[ \t\r\n\]+\[ \t\r\n\]+array_d :\[ \t\r\n\]+=========\[ \t\r\n\]+\[ \t\r\n\]+0.000000\[ \t\r\n\]+23.456700  46.913400  70.370100  93.826800  117.283500  140.740200  164.196900  187.653600\[ \t\r\n\]+211.110300  234.567000  258.023700  281.480400  304.937100  328.393800  351.850500  375.307200\[ \t\r\n\]+398.763900  422.220600  445.677300  469.134000  492.590700  516.047400  539.504100  562.960800\[ \t\r\n\]+586.41750  609.874200  633.330900  656.787600  680.244300  703.701000  727.157700  750.614400\[ \t\r\n\]+774.071100  797.527800  820.984500  844.441200  867.897900  891.354600  914.811300  938.268000\[ \t\r\n\]+961.724700  985.181400  1008.638100  1032.094800  1055.551500  1079.008200  1102.464900  1125.921600\[ \t\r\n\]+1149.378300  1172.835000  1196.291700  1219.748400  1243.205100  1266.661800  1290.118500  1313.575200\[ \t\r\n\]+1337.031900  1360.488600  1383.945300  1407.402000  1430.858700  1454.315400  1477.772100  1501.228800\[ \t\r\n\]+1524.685500  1548.142200  1571.598900  1595.055600  1618.512300  1641.969000  1665.425700  1688.882400\[ \t\r\n\]+1712.339100  1735.795800  1759.252500  1782.709200  1806.165900  1829.622600  1853.079300  1876.536000\[ \t\r\n\]+1899.992700  1923.449400  1946.906100  1970.362800  1993.819500  2017.276200  2040.732900  2064.189600\[ \t\r\n\]+2087.646300  2111.103000  2134.559700  2158.016400  2181.473100  2204.929800  2228.386500  2251.843200\[ \t\r\n\]+2275.299900  2298.756600  2322.213300.*$gdb_prompt $" {#        pass "print print_all_arrays(integer_array, char_array, float_array, double_array)"#   }#    -re ".*$gdb_prompt $" { fail "print print_all_arrays(integer_array, char_array, float_array, double_array)" }#    timeout           { fail "(timeout) print print_all_arrays(integer_array, char_array, float_array, double_array)" }#  }#set timeout $oldtimeout#go -until 1220gdb_test "tbreak 1220" \	"Breakpoint.* file .*$srcfile, line 1220.*" \	"tbreakpoint line 1220"if {![gdb_skip_float_test "continuing to breakpoint 1220"] && \    ![gdb_skip_stdio_test "continuing to breakpoint 1220"] } {    send_gdb "continue\n"    gdb_expect_list "continuing to breakpoint 1220" ".*$gdb_prompt $" {	"Continuing\\."	"\[ \t\r\n\]+array_d :"	"\[ \t\r\n\]+========="	"\[ \t\r\n\]+0.000000"	"\[ \t\r\n\]+23.456\[0-9\]*  46.913\[0-9\]*  70.370\[0-9\]*  93.826\[0-9\]*  117.283\[0-9\]*  140.740\[0-9\]*  164.196\[0-9\]*  187.653\[0-9\]*"	"\[ \t\r\n\]+"	".*array_f :"	".*student id :\[\t \]+.*YELLOW"	".*array_i :"	".*main \\(\\) at .*call-ar-st.c:1220\[ \t\r\n\]+.*print_all_arrays\\(integer_array, char_array, float_array, double_array\\)."    }} else {    gdb_test "continue" "" ""}#stepsend_gdb "step\n"gdb_expect {    -re "print_all_arrays \\(array_i=, array_c=.ZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZa., array_f=, array_d=\\) at .*call-ar-st.c:306\[ \t\r\n\]+306.*print_int_array\\(array_i\\);.*$gdb_prompt $" {pass "step inside print_all_arrays"}    -re ".*$gdb_prompt $" { fail "step inside print_all_arrays" }    timeout { fail "step inside print_all_arrays (timeout)" }}#step -overif ![gdb_skip_stdio_test "next over print_int_array in print_all_arrays"] {    send_gdb "next\n"    gdb_expect {	-re "array_i :.*307.*print_char_array.*$gdb_prompt $" {	    pass "next over print_int_array in print-all_arrays"	}	-re ".*$gdb_prompt $" { 	    fail "next over print_int_array in print-all_arrays" 	}	timeout { 	    fail "next over print_int_array in print-all_arrays (timeout)"	}    }} else {    gdb_test "next" "" ""}#call print_double_array(array_d)if {![gdb_skip_float_test "print print_double_array(array_d)"] && \    ![gdb_skip_stdio_test "print print_double_array(array_d)"] } {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -