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

📄 tests1.exp

📁 lwip在ucos上的移植
💻 EXP
📖 第 1 页 / 共 2 页
字号:
# Copyright (C) 1995, 1997 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 tests various Chill values, expressions, and types.if $tracelevel then {	strace $tracelevel}if [skip_chill_tests] then { continue }set testfile "tests1"set srcfile ${srcdir}/$subdir/${testfile}.chset binfile ${objdir}/${subdir}/${testfile}.exeif  { [compile "${srcfile} -g -w -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } {    perror "Couldn't compile ${srcfile}"    return -1}# Set the current language to chill.  This counts as a test.  If it# fails, then we skip the other tests.proc set_lang_chill {} {    global gdb_prompt    global binfile objdir subdir    verbose "loading file '$binfile'"    gdb_load $binfile    send_gdb "set language chill\n"    gdb_expect {	-re ".*$gdb_prompt $" {}	timeout { fail "set language chill (timeout)" ; return 0 }    }    send_gdb "show language\n"    gdb_expect {	-re ".* source language is \"chill\".*$gdb_prompt $" {	    pass "set language to \"chill\""	    send_gdb "break dummyfunc\n"	    gdb_expect {		-re ".*$gdb_prompt $" {		    send_gdb "run\n" 		    gdb_expect -re ".*$gdb_prompt $" {}		    return 1		}		timeout {		    fail "can't set breakpoint (timeout)"		    return 0		}	    }	}	-re ".*$gdb_prompt $" {	    fail "setting language to \"chill\""	    return 0	}	timeout {	    fail "can't show language (timeout)"	    return 0	}    }}# Testing printing of a specific value.  Increment passcount for# success or issue fail message for failure.  In both cases, return# a 1 to indicate that more tests can proceed.  However a timeout# is a serious error, generates a special fail message, and causes# a 0 to be returned to indicate that more tests are likely to fail# as well.## Args are:##	First one is string to send_gdb to gdb#	Second one is string to match gdb result to#	Third one is an optional message to be printedproc test_print_accept { args } {    global gdb_prompt    global passcount    global verbose    if [llength $args]==3 then {	set message [lindex $args 2]    } else {	set message [lindex $args 0]    }    set sendthis [lindex $args 0]    set expectthis [lindex $args 1]    set result [gdb_test $sendthis ".* = ${expectthis}" $message]    if $result==0 {incr passcount}    return $result}# Testing printing of a specific value.  Increment passcount for# success or issue fail message for failure.  In both cases, return# a 1 to indicate that more tests can proceed.  However a timeout# is a serious error, generates a special fail message, and causes# a 0 to be returned to indicate that more tests are likely to fail# as well.# various tests if modes are treated correctly# using ptypeproc test_modes {} {    global passcount    verbose "testing chill modes"    set passcount 0    # discrete modes    test_print_accept "ptype BYTE" "byte"    test_print_accept "ptype UBYTE" "ubyte"    test_print_accept "ptype INT" "int"    test_print_accept "ptype UINT" "uint"    test_print_accept "ptype LONG" "long"    test_print_accept "ptype ULONG" "ulong"    test_print_accept "ptype BOOL" "bool"    test_print_accept "ptype CHAR" "char"    test_print_accept "ptype set1" "SET \[(\]aaa, bbb, ccc\[)\]" \	"print unnumbered set mode"    test_print_accept "ptype nset1" "SET \[(\]na = 1, nb = 34, nc = 20\[)\]" \	"print numbered set mode"    # mp:    # display maybe in hex values ?    #    test_print_accept "ptype r11" "ubyte \\(0:255\\)" \	"print ubyte range mode"    test_print_accept "ptype r12" "uint \\(0:65535\\)" \	"print uint range mode"#    test_print_accept "ptype r13" "ulong \\(0:4294967295\\)" \#	"print ulong range mode"    test_print_accept "ptype r14" "byte \\(-128:127\\)" \	"print byte range mode"    test_print_accept "ptype r15" "int \\(-32768:32767\\)" \	"print int range mode"    test_print_accept "ptype r16" "long \\(-2147483648:2147483647\\)" \	"print long range mode"    test_print_accept "ptype r2" "set1 \\(bbb:ccc\\)" \	"print unnumbered set range mode"    test_print_accept "ptype r3" "nset1 \\(na:na\\)" \	"print numbered set range mode"    # really this order ?    # I'm not sure what should happen for the next two tests.    setup_xfail "*-*-*"    test_print_accept "ptype r4" "nset1 \\(nb = 34:nc = 20\\)" \	"print numbered set range mode"    setup_xfail "*-*-*"    test_print_accept "ptype r5" "nset1 \\(na = 1, nb = 34, nc = 20\\)" \	"print numbered set range mode"    # powerset modes    test_print_accept "ptype pm1" \	"POWERSET SET \[(\]p1, p2, p3, p4, p5, p6, p7, p8, p9, p10\[)\]" \	"print powerset mode 1"    test_print_accept "ptype pm2" "POWERSET byte \\(1:8\\)" \	"print powerset mode 2"    test_print_accept "ptype pm3" "POWERSET int \\(-32768:32767\\)" \	"print powerset mode 3"    test_print_accept "ptype pm4" "POWERSET long \\(-32768:32768\\)" \	"print powerset mode 4"    test_print_accept "ptype pm5" \	"POWERSET long \\(-2147483648:2147483647\\)" \	"print powerset mode 5"        # reference modes    test_print_accept "ptype ref1" "REF pm1" \	"print reference to powerset mode"    test_print_accept "ptype ref2" "REF byte" \	"print reference to byte"    test_print_accept "ptype ref3" "PTR" \	"print free reference type"    # procedure modes    # FIXME: we have to talk about this ...     test_print_accept "ptype prm1" \	"REF PROC \[(\]\[)\]" \	"print procedure mode 1"    setup_xfail "*-*-*"    test_print_accept "ptype prm2" \	"REF PROC \[(\]bool in, int out long inout\[)\] RETURNS \[(\]char\[)\]" \	"print procedure mode 2"    setup_xfail "*-*-*"    test_print_accept "ptype prm3" \	"REF PROC \[(\]pm1, ref loc\[)\] RETURNS \[(\]ref3\[)\]" \	"print procedure mode 3"    setup_xfail "*-*-*"    test_print_accept "ptype prm4" \	"\[(\] \[)\] EXCEPTIONS \[(\]ex1, ex2, ex3\[)\]" \	"print procedure mode 4"    setup_xfail "*-*-*"    test_print_accept "ptype prm5" \	"REF PROC \[(\]r11, r16 inout, r5 out\[)\] RETURNS \[(\]r2\[)\] EXCEPTIONS \[(\]ex1\[)\]" \	"print procedure mode 5"    # synchronization modes    # FIXME: since gdb doesn't process events & buffers so far, this has be     #        filled later...    xfail "synchronization mode handling"    # timing modes    test_print_accept "ptype DURATION" "duration"    test_print_accept "ptype TIME" "time"    # string modes    # some tests are done in chillvars.exp    test_print_accept "ptype strm1" "CHARS \\(5\\)" "print char string mode"    test_print_accept "ptype strm2" "CHARS \[(\]7\[)\] VARYING" \	"print varying char string mode"    test_print_accept "ptype bstr1" "BOOLS \\(20\\)" "print bit string mode"    test_print_accept "ptype B'000'" "BOOLS \\(3\\)" "bit string literal"    test_print_accept "ptype B'11110000'" "BOOLS \\(8\\)" "bit string literal"    # FIXME: adjust error message    gdb_test "ptype B'00110211'" {.*Too-large digit.*[.]} \	"reject invalid bitstring"    # array modes    # some tests are done in chillvars.exp    test_print_accept "ptype arr1m" "ARRAY \\(1:100\\) set1" \	"print array mode 1"    test_print_accept "ptype arr2m" "ARRAY \\(1:100\\) ARRAY \\(1:100\\) set1"\	"print array mode 2"    test_print_accept "ptype arr3m" "ARRAY \\(0:255\\) ARRAY \\(0:65535\\) ARRAY \\(-128:127\\) set1" \	"print array mode 3"    setup_xfail "*-*-*"    test_print_accept "ptype arr4m" "ARRAY \\(b:c\\) ARRAY \\(na = 1:na = 1\\) ARRAY \\(nc:nb\\) ARRAY \\(na = 1:nc = 20\\) POWERSET SET \[(\]p1, p2, p3, p4, p5, p6, p7, p8, p9, p10\[)\]" \	"print array mode 4"        # structure modes    # some checks are in chillvars.exp    # setup_xfail "*-*-*"    test_print_accept "ptype stru1m" "STRUCT \\(.*a long,.*b long,.*CASE OF.*:.*ch1 CHARS \\(20\\).*:.*ch2 CHARS \\(10\\).*ELSE.*ch3 CHARS \\(1\\).*ESAC.*\\)" \	"print structure mode 1"    #setup_xfail "*-*-*"    test_print_accept "ptype stru2m" "STRUCT \\(.*f set1,.*CASE OF.*:.*ch1 CHARS \\(20\\).*:.*ch2 CHARS \\(10\\) VARYING.*ELSE.*ch3 CHARS \\(0\\) VARYING.*ESAC.*\\)" \	"print structure mode 2"    #setup_xfail "*-*-*"    test_print_accept "ptype stru3m" "STRUCT \\(.*f r3,.*CASE OF.*:.*ch1 CHARS \\(20\\).*ESAC.*\\)" \	"print structure mode 3"    # setup_xfail "*-*-*"    test_print_accept "ptype stru4m" "STRUCT \\(.*i long,.*CASE OF.*:.*i1 int,.*i11 int,.*b1 bool,.*c1 char.*:.*i2 long,.*i22 long,.*bs2 BOOLS \\(10\\).*:.*s3 STRUCT \\(.*i3 int,.*CASE OF.*:.*foo long.*ELSE.*bar char.*ESAC.*\\).*ELSE.*x stru2m.*ESAC,.*y stru3m.*\\)" \	"print structure mode 4"           if $passcount then {	pass "$passcount correct modes printed"    }}# various tests if locations are treated correctly# read access using ptype, print, whatisproc test_locations {} {    global passcount    set passcount 0    verbose "testing read access to locations"    # various location tests can be found in chillvars.exp    # set locations    test_print_accept "ptype s1l" "SET \\(aaa, bbb, ccc\\)" \	"print mode of set location"    test_print_accept "whatis s1l" "set1" \	"print modename of set location"    test_print_accept "print s1l" "ccc" "print set location"    test_print_accept "ptype s2l" "SET \\(na = 1, nb = 34, nc = 20\\)" \	"print mode of numbered set location"    test_print_accept "whatis s2l" "nset1" \	"print mode name of numbered set location"    test_print_accept "print s2l" "nb" "print numberes set location"    # range modes    test_print_accept "ptype rl1" "ubyte \\(0:255\\)" \	"print mode of range location"    test_print_accept "whatis rl1" "r11" \	"print mode name of range location"    test_print_accept "print rl1" "3" \	"print range location"    test_print_accept "ptype rl2" "ubyte \\(0:255\\)" \	"print mode of range location"    test_print_accept "whatis rl2" "r11" \	"print mode name of range location"    test_print_accept "print rl2" "0" \	"print range location"    test_print_accept "ptype rl3" "ubyte \\(0:255\\)" \	"print mode of range location"    test_print_accept "whatis rl3" "r11" \	"print mode name of range location"    test_print_accept "print rl3" "255" \	"print range location"    test_print_accept "ptype rl5" "uint \\(0:65535\\)" \	"print mode of range location"    test_print_accept "whatis rl5" "r12" \	"print mode name of range location"    test_print_accept "print rl5" "65530" \	"print range location"    test_print_accept "ptype rl6" "uint \\(0:65535\\)" \	"print mode of range location"    test_print_accept "whatis rl6" "r12" \	"print mode name of range location"    test_print_accept "print rl6" "0" \	"print range location"	    test_print_accept "ptype rl7" "uint \\(0:65535\\)" \	"print mode of range location"    test_print_accept "whatis rl7" "r12" \	"print mode name of range location"    test_print_accept "print rl7" "65535" \	"print range location"	#     test_print_accept "ptype rl9" "ulong \\(0:4294967295\\)" \# 	"print mode of range location"#     test_print_accept "whatis rl9" "r13" \# 	"print mode name of range location"#     test_print_accept "print rl9" "128" \# 	"print range location"	#     test_print_accept "ptype rl10" "ulong \\(0:4294967295\\)" \# 	"print mode of range location"#     test_print_accept "whatis rl10" "r13" \# 	"print mode name of range location"#     test_print_accept "print rl10" "0" \# 	"print range location"	#     test_print_accept "ptype rl11" "ulong \\(0:4294967295\\)" \# 	"print mode of range location"#     test_print_accept "whatis rl11" "r13" \# 	"print mode name of range location"#     test_print_accept "print rl11" "4294967295" \# 	"print range location"    test_print_accept "ptype rl13" "byte \\(-128:127\\)" \	"print mode of range location"    test_print_accept "whatis rl13" "r14" \	"print mode name of range location"    test_print_accept "print rl13" "-121" \	"print range location"    test_print_accept "ptype rl14" "byte \\(-128:127\\)" \	"print mode of range location"    test_print_accept "whatis rl14" "r14" \	"print mode name of range location"    test_print_accept "print rl14" "-128" \	"print range location"    test_print_accept "ptype rl15" "byte \\(-128:127\\)" \	"print mode of range location"    test_print_accept "whatis rl15" "r14" \	"print mode name of range location"    test_print_accept "print rl15" "127" \	"print range location"    test_print_accept "ptype rl17" "int \\(-32768:32767\\)" \	"print mode of range location"    test_print_accept "whatis rl17" "r15" \	"print mode name of range location"    test_print_accept "print rl17" "-32720" \	"print range location"    test_print_accept "ptype rl18" "int \\(-32768:32767\\)" \	"print mode of range location"    test_print_accept "whatis rl18" "r15" \	"print mode name of range location"    test_print_accept "print rl18" "-32768" \	"print range location"    test_print_accept "ptype rl19" "int \\(-32768:32767\\)" \	"print mode of range location"    test_print_accept "whatis rl19" "r15" \	"print mode name of range location"    test_print_accept "print rl19" "32767" \	"print range location"    test_print_accept "ptype rl21" "long \\(-2147483648:2147483647\\)" \	"print mode of range location"    test_print_accept "whatis rl21" "r16" \	"print mode name of range location"    test_print_accept "print rl21" "2147483643" \	"print range location"    test_print_accept "ptype rl22" "long \\(-2147483648:2147483647\\)" \	"print mode of range location"    test_print_accept "whatis rl22" "r16" \	"print mode name of range location"    test_print_accept "print rl22" "-2147483648" \	"print range location"    test_print_accept "ptype rl23" "long \\(-2147483648:2147483647\\)" \	"print mode of range location"    test_print_accept "whatis rl23" "r16" \	"print mode name of range location"    test_print_accept "print rl23" "2147483647" \

⌨️ 快捷键说明

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