?? iocmd.test
字號:
# Commands covered: open, close, gets, read, puts, seek, tell, eof, flush,# fblocked, fconfigure, open, channel, fcopy## This file contains a collection of tests for one or more of the Tcl# built-in commands. Sourcing this file into Tcl runs the tests and# generates output for errors. No output means no errors were found.## Copyright (c) 1991-1994 The Regents of the University of California.# Copyright (c) 1994-1996 Sun Microsystems, Inc.# Copyright (c) 1998-1999 by Scriptics Corporation.## See the file "license.terms" for information on usage and redistribution# of this file, and for a DISCLAIMER OF ALL WARRANTIES.## RCS: @(#) $Id: ioCmd.test,v 1.16 2003/02/19 16:43:30 das Exp $if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest namespace import -force ::tcltest::*}removeFile test1removeFile pipetest iocmd-1.1 {puts command} { list [catch {puts} msg] $msg} {1 {wrong # args: should be "puts ?-nonewline? ?channelId? string"}}test iocmd-1.2 {puts command} { list [catch {puts a b c d e f g} msg] $msg} {1 {wrong # args: should be "puts ?-nonewline? ?channelId? string"}}test iocmd-1.3 {puts command} { list [catch {puts froboz -nonewline kablooie} msg] $msg} {1 {bad argument "kablooie": should be "nonewline"}}test iocmd-1.4 {puts command} { list [catch {puts froboz hello} msg] $msg} {1 {can not find channel named "froboz"}}test iocmd-1.5 {puts command} { list [catch {puts stdin hello} msg] $msg} {1 {channel "stdin" wasn't opened for writing}}set path(test1) [makeFile {} test1]test iocmd-1.6 {puts command} { set f [open $path(test1) w] fconfigure $f -translation lf -eofchar {} puts -nonewline $f foobar close $f file size $path(test1)} 6test iocmd-1.7 {puts command} { set f [open $path(test1) w] fconfigure $f -translation lf -eofchar {} puts $f foobar close $f file size $path(test1)} 7test iocmd-1.8 {puts command} { set f [open $path(test1) w] fconfigure $f -translation lf -eofchar {} -encoding iso8859-1 puts -nonewline $f [binary format a4a5 foo bar] close $f file size $path(test1)} 9test iocmd-2.1 {flush command} { list [catch {flush} msg] $msg} {1 {wrong # args: should be "flush channelId"}}test iocmd-2.2 {flush command} { list [catch {flush a b c d e} msg] $msg} {1 {wrong # args: should be "flush channelId"}}test iocmd-2.3 {flush command} { list [catch {flush foo} msg] $msg} {1 {can not find channel named "foo"}}test iocmd-2.4 {flush command} { list [catch {flush stdin} msg] $msg} {1 {channel "stdin" wasn't opened for writing}}test iocmd-3.1 {gets command} { list [catch {gets} msg] $msg} {1 {wrong # args: should be "gets channelId ?varName?"}}test iocmd-3.2 {gets command} { list [catch {gets a b c d e f g} msg] $msg} {1 {wrong # args: should be "gets channelId ?varName?"}}test iocmd-3.3 {gets command} { list [catch {gets aaa} msg] $msg} {1 {can not find channel named "aaa"}}test iocmd-3.4 {gets command} { list [catch {gets stdout} msg] $msg} {1 {channel "stdout" wasn't opened for reading}}test iocmd-3.5 {gets command} { set f [open $path(test1) w] puts $f [binary format a4a5 foo bar] close $f set f [open $path(test1) r] set result [gets $f] close $f set x foo\x00 set x "${x}bar\x00\x00" string compare $x $result} 0test iocmd-4.1 {read command} { list [catch {read} msg] $msg} {1 {wrong # args: should be "read channelId ?numChars?" or "read ?-nonewline? channelId"}}test iocmd-4.2 {read command} { list [catch {read a b c d e f g h} msg] $msg} {1 {wrong # args: should be "read channelId ?numChars?" or "read ?-nonewline? channelId"}}test iocmd-4.3 {read command} { list [catch {read aaa} msg] $msg} {1 {can not find channel named "aaa"}}test iocmd-4.4 {read command} { list [catch {read -nonewline} msg] $msg} {1 {wrong # args: should be "read channelId ?numChars?" or "read ?-nonewline? channelId"}}test iocmd-4.5 {read command} { list [catch {read -nonew file4} msg] $msg $errorCode} {1 {can not find channel named "-nonew"} NONE}test iocmd-4.6 {read command} { list [catch {read stdout} msg] $msg} {1 {channel "stdout" wasn't opened for reading}}test iocmd-4.7 {read command} { list [catch {read -nonewline stdout} msg] $msg} {1 {channel "stdout" wasn't opened for reading}}test iocmd-4.8 {read command with incorrect combination of arguments} { removeFile test1 set f [open $path(test1) w] puts $f "Two lines: this one" puts $f "and this one" close $f set f [open $path(test1)] set x [list [catch {read -nonewline $f 20 z} msg] $msg $errorCode] close $f set x} {1 {wrong # args: should be "read channelId ?numChars?" or "read ?-nonewline? channelId"} NONE}test iocmd-4.9 {read command} { list [catch {read stdin foo} msg] $msg $errorCode} {1 {bad argument "foo": should be "nonewline"} NONE}test iocmd-4.10 {read command} { list [catch {read file107} msg] $msg $errorCode} {1 {can not find channel named "file107"} NONE}set path(test3) [makeFile {} test3]test iocmd-4.11 {read command} { set f [open $path(test3) w] set x [list [catch {read $f} msg] $msg $errorCode] close $f string compare [string tolower $x] \ [list 1 [format "channel \"%s\" wasn't opened for reading" $f] none]} 0test iocmd-4.12 {read command} { set f [open $path(test1)] set x [list [catch {read $f 12z} msg] $msg $errorCode] close $f set x} {1 {expected integer but got "12z"} NONE}test iocmd-5.1 {seek command} { list [catch {seek} msg] $msg} {1 {wrong # args: should be "seek channelId offset ?origin?"}}test iocmd-5.2 {seek command} { list [catch {seek a b c d e f g} msg] $msg} {1 {wrong # args: should be "seek channelId offset ?origin?"}}test iocmd-5.3 {seek command} { list [catch {seek stdin gugu} msg] $msg} {1 {expected integer but got "gugu"}}test iocmd-5.4 {seek command} { list [catch {seek stdin 100 gugu} msg] $msg} {1 {bad origin "gugu": must be start, current, or end}}test iocmd-6.1 {tell command} { list [catch {tell} msg] $msg} {1 {wrong # args: should be "tell channelId"}}test iocmd-6.2 {tell command} { list [catch {tell a b c d e} msg] $msg} {1 {wrong # args: should be "tell channelId"}}test iocmd-6.3 {tell command} { list [catch {tell aaa} msg] $msg} {1 {can not find channel named "aaa"}}test iocmd-7.1 {close command} { list [catch {close} msg] $msg} {1 {wrong # args: should be "close channelId"}}test iocmd-7.2 {close command} { list [catch {close a b c d e} msg] $msg} {1 {wrong # args: should be "close channelId"}}test iocmd-7.3 {close command} { list [catch {close aaa} msg] $msg} {1 {can not find channel named "aaa"}}test iocmd-8.1 {fconfigure command} { list [catch {fconfigure} msg] $msg} {1 {wrong # args: should be "fconfigure channelId ?optionName? ?value? ?optionName value?..."}}test iocmd-8.2 {fconfigure command} { list [catch {fconfigure a b c d e f} msg] $msg} {1 {wrong # args: should be "fconfigure channelId ?optionName? ?value? ?optionName value?..."}}test iocmd-8.3 {fconfigure command} { list [catch {fconfigure a b} msg] $msg} {1 {can not find channel named "a"}}test iocmd-8.4 {fconfigure command} { removeFile test1 set f1 [open $path(test1) w] set x [list [catch {fconfigure $f1 froboz} msg] $msg] close $f1 set x} {1 {bad option "froboz": should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation}}test iocmd-8.5 {fconfigure command} { list [catch {fconfigure stdin -buffering froboz} msg] $msg} {1 {bad value for -buffering: must be one of full, line, or none}}test iocmd-8.6 {fconfigure command} { list [catch {fconfigure stdin -translation froboz} msg] $msg} {1 {bad value for -translation: must be one of auto, binary, cr, lf, crlf, or platform}}test iocmd-8.7 {fconfigure command} { removeFile test1 set f1 [open $path(test1) w] fconfigure $f1 -translation lf -eofchar {} -encoding unicode set x [fconfigure $f1] close $f1 set x} {-blocking 1 -buffering full -buffersize 4096 -encoding unicode -eofchar {} -translation lf}test iocmd-8.8 {fconfigure command} { removeFile test1 set f1 [open $path(test1) w] fconfigure $f1 -translation lf -buffering line -buffersize 3030 \ -eofchar {} -encoding unicode set x "" lappend x [fconfigure $f1 -buffering] lappend x [fconfigure $f1] close $f1 set x} {line {-blocking 1 -buffering line -buffersize 3030 -encoding unicode -eofchar {} -translation lf}}test iocmd-8.9 {fconfigure command} { removeFile test1 set f1 [open $path(test1) w] fconfigure $f1 -translation binary -buffering none -buffersize 4040 \ -eofchar {} -encoding binary set x [fconfigure $f1] close $f1 set x} {-blocking 1 -buffering none -buffersize 4040 -encoding binary -eofchar {} -translation lf}test iocmd-8.10 {fconfigure command} { list [catch {fconfigure a b} msg] $msg} {1 {can not find channel named "a"}}set path(fconfigure.dummy) [makeFile {} fconfigure.dummy]test iocmd-8.11 {fconfigure command} { set chan [open $path(fconfigure.dummy) r] set res [list [catch {fconfigure $chan -froboz blarfo} msg] $msg] close $chan set res} {1 {bad option "-froboz": should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation}}test iocmd-8.12 {fconfigure command} { set chan [open $path(fconfigure.dummy) r] set res [list [catch {fconfigure $chan -b blarfo} msg] $msg] close $chan set res} {1 {bad option "-b": should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation}}test iocmd-8.13 {fconfigure command} { set chan [open $path(fconfigure.dummy) r] set res [list [catch {fconfigure $chan -buffer blarfo} msg] $msg] close $chan set res} {1 {bad option "-buffer": should be one of -blocking, -buffering, -buffersize, -encoding, -eofchar, or -translation}}removeFile fconfigure.dummytest iocmd-8.14 {fconfigure command} { fconfigure stdin -buffers} 4096proc iocmdSSETUP {} { uplevel { set srv [socket -server iocmdSRV 0] set port [lindex [fconfigure $srv -sockname] 2] proc iocmdSRV {sock ip port} {close $sock} set cli [socket 127.0.0.1 $port] }}proc iocmdSSHTDWN {} {
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -