aboutsummaryrefslogtreecommitdiff
path: root/tests/filecopy.test
blob: b7c4f475051ef9b5c6636867290ccec0ddbfd186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
source testing.tcl

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: must 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: must 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)" {
	list [catch {file copy -force testio.in tempdir} msg] $msg
} {1 {tempdir: Is a directory}}

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}}

file delete tempfile
exec rmdir tempdir

testreport