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

📄 interp.test

📁 linux系统下的音频通信
💻 TEST
📖 第 1 页 / 共 5 页
字号:
    catch {interp delete a}    interp create a    interp create {a x3}    interp alias {a x3} froboz "" puts    interp aliases {a x3}} froboz# part 15: testing file sharingtest interp-15.1 {testing file sharing} {    catch {interp delete z}    interp create z    z eval close stdout    list [catch {z eval puts hello} msg] $msg} {1 {can not find channel named "stdout"}}catch {removeFile file-15.2}test interp-15.2 {testing file sharing} {    catch {interp delete z}    interp create z    set f [open file-15.2 w]    interp share "" $f z    z eval puts $f hello    z eval close $f    close $f} ""catch {removeFile file-15.2}test interp-15.3 {testing file sharing} {    catch {interp delete xsafe}    interp create xsafe -safe    list [catch {xsafe eval puts hello} msg] $msg} {1 {can not find channel named "stdout"}}catch {removeFile file-15.4}test interp-15.4 {testing file sharing} {    catch {interp delete xsafe}    interp create xsafe -safe    set f [open file-15.4 w]    interp share "" $f xsafe    xsafe eval puts $f hello    xsafe eval close $f    close $f} ""catch {removeFile file-15.4}test interp-15.5 {testing file sharing} {    catch {interp delete xsafe}    interp create xsafe -safe    interp share "" stdout xsafe    list [catch {xsafe eval gets stdout} msg] $msg} {1 {channel "stdout" wasn't opened for reading}}catch {removeFile file-15.6}test interp-15.6 {testing file sharing} {    catch {interp delete xsafe}    interp create xsafe -safe    set f [open file-15.6 w]    interp share "" $f xsafe    set x [list [catch [list xsafe eval gets $f] msg] $msg]    xsafe eval close $f    close $f    string compare [string tolower $x] \		[list 1 [format "channel \"%s\" wasn't opened for reading" $f]]} 0catch {removeFile file-15.6}catch {removeFile file-15.7}test interp-15.7 {testing file transferring} {    catch {interp delete xsafe}    interp create xsafe -safe    set f [open file-15.7 w]    interp transfer "" $f xsafe    xsafe eval puts $f hello    xsafe eval close $f} ""catch {removeFile file-15.7}catch {removeFile file-15.8}test interp-15.8 {testing file transferring} {    catch {interp delete xsafe}    interp create xsafe -safe    set f [open file-15.8 w]    interp transfer "" $f xsafe    xsafe eval close $f    set x [list [catch {close $f} msg] $msg]    string compare [string tolower $x] \		[list 1 [format "can not find channel named \"%s\"" $f]]} 0catch {removeFile file-15.8}## Torture tests for interpreter deletion order#proc kill {} {interp delete xxx}test interp-15.9 {testing deletion order} {    catch {interp delete xxx}    interp create xxx    xxx alias kill kill    list [catch {xxx eval kill} msg] $msg} {0 {}}test interp-16.1 {testing deletion order} {    catch {interp delete xxx}    interp create xxx    interp create {xxx yyy}    interp alias {xxx yyy} kill "" kill    list [catch {interp eval {xxx yyy} kill} msg] $msg} {0 {}}test interp-16.2 {testing deletion order} {    catch {interp delete xxx}    interp create xxx    interp create {xxx yyy}    interp alias {xxx yyy} kill "" kill    list [catch {xxx eval yyy eval kill} msg] $msg} {0 {}}test interp-16.3 {testing deletion order} {    catch {interp delete xxx}    interp create xxx    interp create ddd    xxx alias kill kill    interp alias ddd kill xxx kill    set x [ddd eval kill]    interp delete ddd    set x} ""test interp-16.4 {testing deletion order} {    catch {interp delete xxx}    interp create xxx    interp create {xxx yyy}    interp alias {xxx yyy} kill "" kill    interp create ddd    interp alias ddd kill {xxx yyy} kill    set x [ddd eval kill]    interp delete ddd    set x} ""test interp-16.5 {testing deletion order, bgerror} {    catch {interp delete xxx}    interp create xxx    xxx eval {proc bgerror {args} {exit}}    xxx alias exit kill xxx    proc kill {i} {interp delete $i}    xxx eval after 100 expr a + b    after 200    update    interp exists xxx} 0## Alias loop prevention testing.#test interp-17.1 {alias loop prevention} {    list [catch {interp alias {} a {} a} msg] $msg} {1 {cannot define or rename alias "a": would create a loop}}test interp-17.2 {alias loop prevention} {    catch {interp delete x}    interp create x    x alias a loop    list [catch {interp alias {} loop x a} msg] $msg} {1 {cannot define or rename alias "loop": would create a loop}}test interp-17.3 {alias loop prevention} {    catch {interp delete x}    interp create x    interp alias x a x b    list [catch {interp alias x b x a} msg] $msg} {1 {cannot define or rename alias "b": would create a loop}}test interp-17.4 {alias loop prevention} {    catch {interp delete x}    interp create x    interp alias x b x a    list [catch {x eval rename b a} msg] $msg} {1 {cannot define or rename alias "b": would create a loop}}test interp-17.5 {alias loop prevention} {    catch {interp delete x}    interp create x    x alias z l1    interp alias {} l2 x z    list [catch {rename l2 l1} msg] $msg} {1 {cannot define or rename alias "l2": would create a loop}}## Test robustness of Tcl_DeleteInterp when applied to a slave interpreter.# If there are bugs in the implementation these tests are likely to expose# the bugs as a core dump.#if {[info commands testinterpdelete] != ""} {    test interp-18.1 {testing Tcl_DeleteInterp vs slaves} {	list [catch {testinterpdelete} msg] $msg    } {1 {wrong # args: should be "testinterpdelete path"}}    test interp-18.2 {testing Tcl_DeleteInterp vs slaves} {	catch {interp delete a}	interp create a	testinterpdelete a    } ""    test interp-18.3 {testing Tcl_DeleteInterp vs slaves} {	catch {interp delete a}	interp create a	interp create {a b}	testinterpdelete {a b}    } ""    test interp-18.4 {testing Tcl_DeleteInterp vs slaves} {	catch {interp delete a}	interp create a	interp create {a b}	testinterpdelete a    } ""    test interp-18.5 {testing Tcl_DeleteInterp vs slaves} {	catch {interp delete a}	interp create a	interp create {a b}	interp alias {a b} dodel {} dodel	proc dodel {x} {testinterpdelete $x}	list [catch {interp eval {a b} {dodel {a b}}} msg] $msg    } {0 {}}    test interp-18.6 {testing Tcl_DeleteInterp vs slaves} {	catch {interp delete a}	interp create a	interp create {a b}	interp alias {a b} dodel {} dodel	proc dodel {x} {testinterpdelete $x}	list [catch {interp eval {a b} {dodel a}} msg] $msg    } {0 {}}    test interp-18.7 {eval in deleted interp} {	catch {interp delete a}	interp create a	a eval {	    proc dodel {} {		delme		dosomething else	    }	    proc dosomething args {		puts "I should not have been called!!"	    }	}	a alias delme dela	proc dela {} {interp delete a}	list [catch {a eval dodel} msg] $msg    } {1 {attempt to call eval in deleted interpreter}}    test interp-18.8 {eval in deleted interp} {	catch {interp delete a}	interp create a	a eval {	    interp create b	    b eval {		proc dodel {} {		    dela		}	    }	    proc foo {} {		b eval dela		dosomething else	    }	    proc dosomething args {		puts "I should not have been called!!"	    }	}	interp alias {a b} dela {} dela	proc dela {} {interp delete a}	list [catch {a eval foo} msg] $msg    } {1 {attempt to call eval in deleted interpreter}}}# Test alias deletiontest interp-19.1 {alias deletion} {    catch {interp delete a}    interp create a    interp alias a foo a bar    set s [interp alias a foo {}]    interp delete a    set s} {}test interp-19.2 {alias deletion} {    catch {interp delete a}    interp create a    catch {interp alias a foo {}} msg    interp delete a    set msg} {alias "foo" not found}test interp-19.3 {alias deletion} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a {rename foo zop}    interp alias a foo a zop    catch {interp eval a foo} msg    interp delete a    set msg} {invalid command name "zop"}test interp-19.4 {alias deletion} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a {rename foo zop}    catch {interp eval a foo} msg    interp delete a    set msg} {invalid command name "foo"}test interp-19.5 {alias deletion} {    catch {interp delete a}    interp create a    interp eval a {proc bar {} {return 1}}    interp alias a foo a bar    interp eval a {rename foo zop}    catch {interp eval a zop} msg    interp delete a    set msg} 1test interp-19.6 {alias deletion} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a {rename foo zop}    interp alias a foo a zop    set s [interp aliases a]    interp delete a    set s} footest interp-19.7 {alias deletion, renaming} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a rename foo blotz    interp alias a foo {}    set s [interp aliases a]    interp delete a    set s} {}test interp-19.8 {alias deletion, renaming} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a rename foo blotz    set l ""    lappend l [interp aliases a]    interp alias a foo {}    lappend l [interp aliases a]    interp delete a    set l} {foo {}}test interp-19.9 {alias deletion, renaming} {    catch {interp delete a}    interp create a    interp alias a foo a bar    interp eval a rename foo blotz    interp eval a {proc foo {} {expr 34 * 34}}    interp alias a foo {}    set l [interp eval a foo]    interp delete a    set l} 1156    test interp-20.1 {interp hide, interp expose and interp invokehidden} {    catch {interp delete a}    interp create a    a eval {proc unknown {x args} {error "invalid command name \"$x\""}}    a eval {proc foo {} {}}    a hide foo    catch {a eval foo something} msg    interp delete a    set msg} {invalid command name "foo"}test interp-20.2 {interp hide, interp expose and interp invokehidden} {    catch {interp delete a}    interp create a    a eval {proc unknown {x args} {error "invalid command name \"$x\""}}    a hide list    set l ""    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    a expose list    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    interp delete a    set l} {1 {invalid command name "list"} 0 {1 2 3}}test interp-20.3 {interp hide, interp expose and interp invokehidden} {    catch {interp delete a}    interp create a    a eval {proc unknown {x args} {error "invalid command name \"$x\""}}    a hide list    set l ""    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    lappend l [catch {a invokehidden list 1 2 3} msg]    lappend l $msg    a expose list    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    interp delete a    set l} {1 {invalid command name "list"} 0 {1 2 3} 0 {1 2 3}}test interp-20.4 {interp hide, interp expose and interp invokehidden -- passing {}} {    catch {interp delete a}    interp create a    a eval {proc unknown {x args} {error "invalid command name \"$x\""}}    a hide list    set l ""    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    lappend l [catch {a invokehidden list {"" 1 2 3}} msg]    lappend l $msg    a expose list    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    interp delete a    set l} {1 {invalid command name "list"} 0 {{"" 1 2 3}} 0 {1 2 3}}test interp-20.5 {interp hide, interp expose and interp invokehidden -- passing {}} {    catch {interp delete a}    interp create a    a eval {proc unknown {x args} {error "invalid command name \"$x\""}}    a hide list    set l ""    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    lappend l [catch {a invokehidden list {{} 1 2 3}} msg]    lappend l $msg    a expose list    lappend l [catch {a eval {list 1 2 3}} msg]    lappend l $msg    interp delete a    set l} {1 {invalid command name "list"} 0 {{{} 1 2 3}} 0 {1 2 3}}test interp-20.6 {interp invokehidden -- eval args} {    catch {interp delete a}    interp create a    a hide list    set l ""    set z 45    lappend l [catch {a invokehidden list $z 1 2 3} msg]    lappend l $msg    a expose list    lappend l [catch {a eval list $z 1 2 3} msg]    lappend l $msg    interp delete a    set l} {0 {45 1 2 3} 0 {45 1 2 3}}test interp-20.7 {interp invokehidden vs variable eval} {    catch {interp delete a}    interp create a    a hide list    set z 45    set l ""    lappend l [catch {a invokehidden list {$z a b c}} msg]    lappend l $msg    interp delete a    set l} {0 {{$z a b c}}}test interp-20.8 {interp invokehidden vs variable eval} {    catch {interp delete a}    interp create a    a hide list    a eval set z 89    set z 45    set l ""    lappend l [catch {a invokehidden list {$z a b c}} msg]

⌨️ 快捷键说明

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