aboutsummaryrefslogtreecommitdiffstats
path: root/test/fcopy/dircopy.exp
blob: bb5a1e45e8895e0f27c8f16b4ec3ca019ea354a9 (plain) (blame)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/usr/bin/expect -f
# This file is part of Firejail project
# Copyright (C) 2014-2018 Firejail Authors
# License GPL v2

#
# copy directory src to dest
#
set timeout 10
spawn $env(SHELL)
match_max 100000

send -- "rm -fr dest/*\r"
after 100

send -- "fcopy src dest\r"
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 0\n";exit}
	"dest/"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 0\n";exit}
	"dest/"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 1\n";exit}
	"dest/a"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 2\n";exit}
	"dest/a/b"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 3\n";exit}
	"dest/a/b/file4"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 4\n";exit}
	"dest/a/file3"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 5\n";exit}
	"dest/dircopy.exp"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 6\n";exit}
	"dest/file2"
}
after 100

send -- "find dest\r"
expect {
	timeout {puts "TESTING ERROR 7\n";exit}
	"dest/file1"
}
after 100


send -- "ls -al dest\r"
expect {
	timeout {puts "TESTING ERROR 8\n";exit}
	"drwxr-xr-x" { puts "umask 0022\n" }
	"drwxrwxr-x" { puts "umask 0002\n" }
}
expect {
	timeout {puts "TESTING ERROR 9\n";exit}
	"a"
}
expect {
	timeout {puts "TESTING ERROR 10\n";exit}
	"lrwxrwxrwx"
}
expect {
	timeout {puts "TESTING ERROR 11\n";exit}
	"dircopy.exp"
}
expect {
	timeout {puts "TESTING ERROR 12\n";exit}
	"rwxr-xr-x" { puts "umask 0022\n" }
	"rwxrwxr-x" { puts "umask 0002\n" }
}
expect {
	timeout {puts "TESTING ERROR 13\n";exit}
	"file1"
}
expect {
	timeout {puts "TESTING ERROR 14\n";exit}
	"rw-r--r--" { puts "umask 0022\n" }
	"rw-rw-r--" { puts "umask 0002\n" }
}
expect {
	timeout {puts "TESTING ERROR 15\n";exit}
	"file2"
}
after 100

send -- "stty -echo\r"
after 100
send -- "diff -q src/a/b/file4 dest/a/b/file4; echo done\r"
expect {
	timeout {puts "TESTING ERROR 16\n";exit}
	"differ" {puts "TESTING ERROR 17\n";exit}
	"done"
}

send -- "file dest/dircopy.exp\r"
expect {
	timeout {puts "TESTING ERROR 18\n";exit}
	"symbolic link"
}

send -- "rm -fr dest/*\r"
after 100

puts "\nall done\n"