115 lines
2.6 KiB
Plaintext
115 lines
2.6 KiB
Plaintext
# copy.test
|
|
#
|
|
# This file tests the dp_copy command.
|
|
#
|
|
|
|
if {[string compare test [info procs test]] == 1} then {source ../tests/defs}
|
|
|
|
set argsError {wrong # args: should be "dp_copy ?-size size? inChanId outChanId ?outChanId ...?"}
|
|
|
|
test copy-1.1 {dp_copy command} {
|
|
list [catch {dp_copy} msg] $msg
|
|
} [list 1 $argsError]
|
|
|
|
test copy-1.2 {dp_copy command} {
|
|
list [catch {dp_copy foo} msg] $msg
|
|
} [list 1 $argsError]
|
|
|
|
test copy-1.3 {dp_copy command} {
|
|
list [catch {dp_copy -size 1000 foo} msg] $msg
|
|
} [list 1 $argsError]
|
|
|
|
test copy-1.4 {dp_copy command} {
|
|
list [catch {dp_copy -size foo} msg] $msg
|
|
} {1 {expected integer but got "foo"}}
|
|
|
|
test copy-1.5 {dp_copy command} {
|
|
list [catch {dp_copy -size stdin} msg] $msg
|
|
} {1 {expected integer but got "stdin"}}
|
|
|
|
test copy-2.1 {create temp file for testing} {
|
|
set tmpfd [open testtmp.00 {CREAT TRUNC WRONLY}]
|
|
puts -nonewline $tmpfd "0123456789"
|
|
puts $tmpfd ".........."
|
|
puts $tmpfd "abcd..abcd"
|
|
close $tmpfd
|
|
set dp_copyTmpFileGood 1
|
|
} 1
|
|
|
|
catch {close $tmpfd}
|
|
|
|
if ![info exists dp_copyTmpFileGood] {
|
|
puts stderr "Cannot create temporary file. Some tests of dp_copy are "
|
|
puts stderr "skipped."
|
|
catch {
|
|
file delete testtmp.00
|
|
}
|
|
return
|
|
}
|
|
|
|
test copy-2.2 {dp_copy command} {
|
|
set ifd [open testtmp.00 {RDONLY}]
|
|
set ofd [open testtmp.01 {CREAT TRUNC WRONLY}]
|
|
|
|
dp_copy -size 10 $ifd $ofd
|
|
close $ifd
|
|
close $ofd
|
|
|
|
set ofd [open testtmp.01 {RDONLY}]
|
|
gets $ofd
|
|
} "0123456789"
|
|
|
|
catch {close $ifd}
|
|
catch {close $ofd}
|
|
|
|
test copy-2.3 {dp_copy command} {
|
|
set ifd [open testtmp.00 {RDONLY}]
|
|
set ofd [open testtmp.01 {CREAT TRUNC WRONLY}]
|
|
|
|
dp_copy -size 10 $ifd $ofd
|
|
dp_copy -size 15 $ifd $ofd
|
|
close $ifd
|
|
close $ofd
|
|
|
|
set ofd [open testtmp.01 {RDONLY}]
|
|
set stuff "[gets $ofd][gets $ofd]"
|
|
#
|
|
# N.B. The newline character is discarded by gets
|
|
#
|
|
} "0123456789..........abcd"
|
|
|
|
catch {close $ifd}
|
|
catch {close $ofd}
|
|
|
|
test copy-2.4 {dp_copy command} {
|
|
set ifd [open testtmp.00 {RDONLY}]
|
|
set ofd1 [open testtmp.01 {CREAT TRUNC WRONLY}]
|
|
set ofd2 [open testtmp.02 {CREAT TRUNC WRONLY}]
|
|
|
|
dp_copy -size 10 $ifd $ofd1 $ofd2
|
|
dp_copy -size 5 $ifd $ofd1 $ofd2
|
|
dp_copy -size 10 $ifd $ofd1
|
|
close $ifd
|
|
close $ofd1
|
|
close $ofd2
|
|
|
|
set ofd1 [open testtmp.01 {RDONLY}]
|
|
set ofd2 [open testtmp.02 {RDONLY}]
|
|
set stuff "[gets $ofd1][gets $ofd2][gets $ofd1][gets $ofd2]"
|
|
|
|
} "0123456789..........0123456789.....abcd"
|
|
|
|
catch {close $ifd}
|
|
catch {close $ofd1}
|
|
catch {close $ofd2}
|
|
|
|
catch {file delete testtmp.00}
|
|
catch {file delete testtmp.01}
|
|
catch {file delete testtmp.02}
|
|
|
|
|
|
|
|
|
|
|
|
|