3 # Test file relocation feature
6 TestName="regexwhere-test"
13 rm -f bin/bacula-dir.conf
15 rm -f ${cwd}/build/po/*old*
17 /bin/cp -f scripts/bacula-dir.conf.regexwhere bin/bacula-dir.conf
19 echo "${cwd}/build/po" >/tmp/file-list
23 cat <<END_OF_DATA >tmp/bconcmds
26 label volume=TestVolume001
30 @##################################
41 @##################################
52 @##################################
63 @##################################
74 @##################################
85 @##################################
96 @##################################
98 restore strip_prefix="${cwd}" add_prefix="/tmp/bacula-restore"
107 @##################################
109 restore add_suffix=.old
118 @##################################
120 restore regexwhere="!Po!old!i,!old!po!,!\$!.old!"
129 @##################################
138 @## File Relocation -> add suffix -> test -> accept
149 /tmp/bacula-restore-it
165 cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf > /dev/null
173 if grep -q "Restore OK" tmp/RUN_$J &&
174 grep -q "${cwd}/build/po/fr.old.po" tmp/RUN_$J
176 [ "$debug" = 1 ] && echo $J ok
184 if grep -q "Restore OK" tmp/RUN_$J &&
185 grep -q "/tmp/bacula-restore${cwd}/po/fr.po.old" tmp/RUN_$J
187 [ "$debug" = 1 ] && echo $J ok
194 if grep -q "Restore OK" tmp/RUN_$J &&
195 grep -q "/tmp/bacula-restore${cwd}/build/po/fr.po" tmp/RUN_$J
197 [ "$debug" = 1 ] && echo $J ok
204 if grep -q "Restore Error" tmp/RUN_$J
206 [ "$debug" = 1 ] && echo $J ok
213 if grep -q "Restore OK" tmp/RUN_$J &&
214 grep -q "${cwd}/tmp/fr.po" tmp/RUN_$J
216 [ "$debug" = 1 ] && echo $J ok
223 if grep -q "Restore OK" tmp/RUN_$J &&
224 grep -q "/tmp/regress/build/po/fr.po" tmp/RUN_$J
226 [ "$debug" = 1 ] && echo $J ok
233 if grep -q "Restore OK" tmp/RUN_$J &&
234 grep -q "/tmp/bacula-restore/build/po/fr.po" tmp/RUN_$J
236 [ "$debug" = 1 ] && echo $J ok
243 if grep -q "Restore OK" tmp/RUN_$J &&
244 grep -q "${cwd}/build/po/fr.po.old" tmp/RUN_$J
246 [ "$debug" = 1 ] && echo $J ok
253 if grep "Restore OK" tmp/RUN_$J &&
254 grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J
256 [ "$debug" = 1 ] && echo $J ok
264 if grep "Restore OK" tmp/RUN_$J &&
265 grep "/etc/passwd.old" tmp/RUN_$J &&
266 grep "Where: /tmp/bacula-restore-it" tmp/RUN_$J &&
267 grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J
269 [ "$debug" = 1 ] && echo $J ok
277 find ${cwd}/build > tmp/list
278 sed -e 's/readme/readme/i' -e 's/\([ch]\)$/.old.\1/' tmp/list > /tmp/list.sed
279 ./build/src/tools/bregtest -s -f tmp/list -e '/readme/readme/i,/([ch])$/.old.$1/' > /tmp/list.bsed
281 if diff -q tmp/list.bsed tmp/list.sed
283 [ "$debug" = 1 ] && echo bregtest ok
285 echo "bregtest test in error"