6 top="$(WVPASS pwd)" || exit $?
7 tmpdir="$(WVPASS wvmktempdir)" || exit $?
9 export BUP_DIR="$tmpdir/bup"
10 export GIT_DIR="$tmpdir/bup"
12 bup() { "$top/bup" "$@"; }
20 WVPASS touch -t 196907202018 src/.dotfile
21 WVPASS bup random 1k > src/file
22 WVPASS touch -t 196907202018 src/file
23 (WVPASS cd src; WVPASS ln -s file symlink) || exit $?
24 WVPASS mkfifo src/fifo
25 WVPASS touch -t 196907202018 src/fifo
26 WVPASS "$top"/t/mksock src/socket
27 WVPASS touch -t 196907202018 src/socket
28 WVPASS touch -t 196907202018 src/executable
29 WVPASS chmod u+x src/executable
30 WVPASS touch -t 196907202018 src/executable
31 WVPASS touch -t 196907202018 src
32 WVPASS touch -t 196907202018 .
33 WVPASS chmod -R u=rwX,g-rwx,o-rwx .
35 WVPASS bup save -n src src
39 WVPASSEQ "$(WVPASS bup ls /)" "src"
41 WVPASSEQ "$(WVPASS bup ls -A /)" ".commit
45 WVPASSEQ "$(WVPASS bup ls -AF /)" ".commit/
49 WVPASSEQ "$(WVPASS bup ls -a /)" ".
55 WVPASSEQ "$(WVPASS bup ls -aF /)" "./
61 WVPASSEQ "$(WVPASS bup ls src/latest/"$tmpdir"/src)" "executable
67 WVPASSEQ "$(WVPASS bup ls -A src/latest/"$tmpdir"/src)" ".dotfile
74 WVPASSEQ "$(WVPASS bup ls -a src/latest/"$tmpdir"/src)" ".
83 WVPASSEQ "$(WVPASS bup ls -F src/latest/"$tmpdir"/src)" "executable*
89 WVPASSEQ "$(WVPASS bup ls --file-type src/latest/"$tmpdir"/src)" "executable
97 WVPASSEQ "$(WVPASS bup ls -l / | tr -s ' ' ' ')" \
98 "d--------- ?/? 0 1970-01-01 00:00 src"
100 WVPASSEQ "$(WVPASS bup ls -lA / | tr -s ' ' ' ')" \
101 "d--------- ?/? 0 1970-01-01 00:00 .commit
102 d--------- ?/? 0 1970-01-01 00:00 .tag
103 d--------- ?/? 0 1970-01-01 00:00 src"
105 WVPASSEQ "$(WVPASS bup ls -lAF / | tr -s ' ' ' ')" \
106 "d--------- ?/? 0 1970-01-01 00:00 .commit/
107 d--------- ?/? 0 1970-01-01 00:00 .tag/
108 d--------- ?/? 0 1970-01-01 00:00 src/"
110 WVPASSEQ "$(WVPASS bup ls -la / | tr -s ' ' ' ')" \
111 "d--------- ?/? 0 1970-01-01 00:00 .
112 d--------- ?/? 0 1970-01-01 00:00 ..
113 d--------- ?/? 0 1970-01-01 00:00 .commit
114 d--------- ?/? 0 1970-01-01 00:00 .tag
115 d--------- ?/? 0 1970-01-01 00:00 src"
117 WVPASSEQ "$(WVPASS bup ls -laF / | tr -s ' ' ' ')" \
118 "d--------- ?/? 0 1970-01-01 00:00 ./
119 d--------- ?/? 0 1970-01-01 00:00 ../
120 d--------- ?/? 0 1970-01-01 00:00 .commit/
121 d--------- ?/? 0 1970-01-01 00:00 .tag/
122 d--------- ?/? 0 1970-01-01 00:00 src/"
124 symlink_size="$(python -c "import os; print os.lstat('src/symlink').st_size")"
125 symlink_date="$(bup ls -l src/latest"$tmpdir"/src | grep symlink)"
126 symlink_date="$(echo "$symlink_date" \
127 | perl -ne 'm/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2')"
128 uid="$(id -u)" || exit $?
129 gid="$(id -g)" || exit $?
130 user="$(id -un)" || exit $?
131 group="$(id -gn)" || exit $?
133 WVPASSEQ "$(bup ls -l src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
134 "-rwx------ $user/$group 0 1969-07-20 20:18 executable
135 prw------- $user/$group 0 1969-07-20 20:18 fifo
136 -rw------- $user/$group 1024 1969-07-20 20:18 file
137 srwx------ $user/$group 0 1969-07-20 20:18 socket
138 lrwxrwxrwx $user/$group $symlink_size $symlink_date symlink -> file"
140 WVPASSEQ "$(bup ls -la src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
141 "drwx------ $user/$group 0 1969-07-20 20:18 .
142 drwx------ $user/$group 0 1969-07-20 20:18 ..
143 -rw------- $user/$group 0 1969-07-20 20:18 .dotfile
144 -rwx------ $user/$group 0 1969-07-20 20:18 executable
145 prw------- $user/$group 0 1969-07-20 20:18 fifo
146 -rw------- $user/$group 1024 1969-07-20 20:18 file
147 srwx------ $user/$group 0 1969-07-20 20:18 socket
148 lrwxrwxrwx $user/$group $symlink_size $symlink_date symlink -> file"
150 WVPASSEQ "$(bup ls -lA src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
151 "-rw------- $user/$group 0 1969-07-20 20:18 .dotfile
152 -rwx------ $user/$group 0 1969-07-20 20:18 executable
153 prw------- $user/$group 0 1969-07-20 20:18 fifo
154 -rw------- $user/$group 1024 1969-07-20 20:18 file
155 srwx------ $user/$group 0 1969-07-20 20:18 socket
156 lrwxrwxrwx $user/$group $symlink_size $symlink_date symlink -> file"
158 WVPASSEQ "$(bup ls -lF src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
159 "-rwx------ $user/$group 0 1969-07-20 20:18 executable*
160 prw------- $user/$group 0 1969-07-20 20:18 fifo|
161 -rw------- $user/$group 1024 1969-07-20 20:18 file
162 srwx------ $user/$group 0 1969-07-20 20:18 socket=
163 lrwxrwxrwx $user/$group $symlink_size $symlink_date symlink@ -> file"
165 WVPASSEQ "$(bup ls -l --file-type src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
166 "-rwx------ $user/$group 0 1969-07-20 20:18 executable
167 prw------- $user/$group 0 1969-07-20 20:18 fifo|
168 -rw------- $user/$group 1024 1969-07-20 20:18 file
169 srwx------ $user/$group 0 1969-07-20 20:18 socket=
170 lrwxrwxrwx $user/$group $symlink_size $symlink_date symlink@ -> file"
172 WVPASSEQ "$(bup ls -ln src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
173 "-rwx------ $uid/$gid 0 1969-07-20 20:18 executable
174 prw------- $uid/$gid 0 1969-07-20 20:18 fifo
175 -rw------- $uid/$gid 1024 1969-07-20 20:18 file
176 srwx------ $uid/$gid 0 1969-07-20 20:18 socket
177 lrwxrwxrwx $uid/$gid $symlink_size $symlink_date symlink -> file"
179 WVSTART "ls (backup set - long)"
180 WVPASSEQ "$(bup ls -l src | cut -d' ' -f 1-2)" \
184 WVSTART "ls (dates TZ != UTC)"
186 symlink_date_central="$(bup ls -l src/latest"$tmpdir"/src | grep symlink)"
187 symlink_date_central="$(echo "$symlink_date_central" \
188 | perl -ne 'm/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2')"
189 WVPASSEQ "$(bup ls -ln src/latest"$tmpdir"/src | tr -s ' ' ' ')" \
190 "-rwx------ $uid/$gid 0 1969-07-20 15:18 executable
191 prw------- $uid/$gid 0 1969-07-20 15:18 fifo
192 -rw------- $uid/$gid 1024 1969-07-20 15:18 file
193 srwx------ $uid/$gid 0 1969-07-20 15:18 socket
194 lrwxrwxrwx $uid/$gid $symlink_size $symlink_date_central symlink -> file"
197 WVPASS rm -rf "$tmpdir"