echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
cd ${cwd}
-bin/bacula stop 2>&1 >/dev/null
-cd bin
-./drop_bacula_tables >/dev/null 2>&1
-./make_bacula_tables >/dev/null 2>&1
-./grant_bacula_privileges 2>&1 >/dev/null
-cd ..
echo " "
echo " "
-echo " === Starting incremental-test ==="
-echo " === Starting incremental-test ===" >>working/log
+echo " === Starting incremental-test at `date +%R:%S` ==="
+echo " === Starting incremental-test at `date +%R:%S` ===" >>working/log
echo " "
bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
@output /dev/null
messages
@output tmp/log1.out
messages
quit
END_OF_DATA
+scripts/check_for_zombie_jobs storage=File
+#
+# Now create two new files to be restored later
+#
+sleep 1
echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
-echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+cp -f ${cwd}/tmp/build/dird.c ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
@output /dev/null
messages
@output tmp/log1.out
@# Force Incremental on the second Volume
update volume=TestVolume001 VolStatus=Used
+run level=Differential job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+touch ${cwd}/tmp/build/ficheriro1.txt
+touch ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Incremental job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+cd ${cwd}/tmp/build
+cp -f ficheriro2.txt 1
+sed "s%a%b%g" 1 >ficheriro2.txt
+rm -f 1
+cd ${cwd}
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Differential job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+touch ${cwd}/tmp/build/ficheriro1.txt
+touch ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Incremental job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+touch ${cwd}/tmp/build/ficheriro1.txt
+touch ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Incremental job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+touch ${cwd}/tmp/build/ficheriro1.txt
+touch ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Incremental job=CompressedTest yes
+wait
+messages
+quit
+END_OF_DATA
+sleep 1
+touch ${cwd}/tmp/build/ficheriro1.txt
+touch ${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
+@output /dev/null
+messages
+@output tmp/log1.out
run level=Incremental job=CompressedTest yes
wait
messages
@# now do a restore
@#
@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-7
-<${cwd}/tmp/restore-list
-
+restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore-list
yes
wait
messages
@output
quit
END_OF_DATA
+scripts/check_for_zombie_jobs storage=File
bin/bacula stop 2>&1 >/dev/null
-grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
bstat=$?
-grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
rstat=$?
#
# Delete .c files because we will only restored the txt files
echo " "
echo " !!!!! incremental-test Bacula source failed!!! !!!!! "
echo " !!!!! incremental-test failed!!! !!!!! " >>test.out
+ if [ $bstat != 0 -o $rstat != 0 ] ; then
+ echo " !!!!! Bad Job termination status !!!!! "
+ echo " !!!!! Bad Job termination status !!!!! " >>test.out
+ else
+ echo " !!!!! Restored files differ !!!!! "
+ echo " !!!!! Restored files differ !!!!! " >>test.out
+ fi
echo " "
else
echo " ===== incremental-test Bacula source OK ===== "