102 lines
2.9 KiB
Plaintext
102 lines
2.9 KiB
Plaintext
source [file dirname [info script]]/testing.tcl
|
|
|
|
needs constraint jim
|
|
needs cmd file
|
|
needs cmd exec
|
|
needs cmd parray tclcompat
|
|
|
|
testConstraint unix [expr {$tcl_platform(platform) eq "unix"}]
|
|
|
|
cd [file dirname [info script]]
|
|
|
|
file mkdir tempdir
|
|
|
|
test filecopy-1.1 "Simple case" {
|
|
file copy testio.in tempfile
|
|
} {}
|
|
|
|
test filecopy-1.2 "Target exists" {
|
|
list [catch {file copy testio.in tempfile} msg] $msg
|
|
} {1 {error copying "testio.in" to "tempfile": file already exists}}
|
|
|
|
test filecopy-1.3 "Source doesn't exist" {
|
|
list [catch {file copy missing tempfile} msg] $msg
|
|
} {1 {missing: No such file or directory}}
|
|
|
|
test filecopy-1.4 "Can't write to target" {
|
|
list [catch {file copy testio.in tempdir} msg] $msg
|
|
} {1 {error copying "testio.in" to "tempdir": file already exists}}
|
|
|
|
test filecopy-1.5 "Source doesn't exist and can't write to target" {
|
|
list [catch {file copy missing tempdir} msg] $msg
|
|
} {1 {missing: No such file or directory}}
|
|
|
|
test filecopy-1.6 "Wrong args" {
|
|
list [catch {file copy onearg} msg] $msg
|
|
} {1 {wrong # args: should be "file copy ?-force? source dest"}}
|
|
|
|
test filecopy-1.7 "Wrong args" {
|
|
list [catch {file copy too many args here} msg] $msg
|
|
} {1 {wrong # args: should be "file copy ?-force? source dest"}}
|
|
|
|
test filecopy-1.8 "Wrong args" {
|
|
list [catch {file copy -blah testio.in tempfile} msg] $msg
|
|
} {1 {bad option "-blah": should be -force}}
|
|
|
|
file delete tempfile
|
|
|
|
test filecopy-2.1 "Simple case (-force)" {
|
|
file copy -force testio.in tempfile
|
|
} {}
|
|
|
|
test filecopy-2.2 "Target exists (-force)" {
|
|
file copy -force testio.in tempfile
|
|
} {}
|
|
|
|
test filecopy-2.3 "Source doesn't exist (-force)" {
|
|
list [catch {file copy -force missing tempfile} msg] $msg
|
|
} {1 {missing: No such file or directory}}
|
|
|
|
test filecopy-2.4 "Can't write to target (-force)" -body {
|
|
file copy -force testio.in tempdir
|
|
} -returnCodes error -match glob -result {tempdir: *}
|
|
|
|
test filecopy-2.5 "Source doesn't exist and can't write to target (-force)" {
|
|
list [catch {file copy -force missing tempdir} msg] $msg
|
|
} {1 {missing: No such file or directory}}
|
|
|
|
test filecopy-2.6 "Source and target identical (-force)" {
|
|
file copy -force tempfile tempfile
|
|
file size tempfile
|
|
} 16
|
|
|
|
test file-tempfile-1.1 {file tempfile - simple} {
|
|
set f [file tempfile]
|
|
set ret [file exists $f]
|
|
file delete $f
|
|
set ret
|
|
} {1}
|
|
|
|
# Note that Windows doesn't provide much control over the tempfile.
|
|
# Only the first 3 chars of the pattern are used, so ignore these tests on that platform
|
|
|
|
test file-tempfile-1.2 {file tempfile with pattern} unix {
|
|
set f [file tempfile /tmp/file-tempfile.XXXXXX]
|
|
set ret [file exists $f]
|
|
file delete $f
|
|
set ret
|
|
} {1}
|
|
|
|
test file-tempfile-1.3 {file tempfile with invalid path} -constraints unix -body {
|
|
set f [file tempfile /doesnotexist/file-tempfile.XXXXXX]
|
|
puts $f
|
|
set ret [file exists $f]
|
|
file delete $f
|
|
set $f
|
|
} -returnCodes error -match glob -result {/doesnotexist/file-tempfile.*}
|
|
|
|
file delete tempfile
|
|
file delete --force tempdir
|
|
|
|
testreport
|