#!/bin/sh
#
# Copyright (C) 2000-2022 Kern Sibbald
# License: BSD 2-Clause; see file LICENSE-FOSS
#

#
# Attempt to strip the path
#
TestName="strip-test"
JobName=stripTest
. scripts/functions

scripts/cleanup
scripts/copy-strip-confs

# Make a copy of build/src/dird to be backed up
rm -rf ${tmp}/$$-strip
mkdir -p ${tmp}/$$-strip
cp -rpf ${cwd}/build/src/dird/ ${tmp}/$$-strip/
echo "${tmp}/$$-strip" >${cwd}/tmp/file-list

# Now, strip the first 4 parts of the path (which is what
#   the backup will do and put the result in rpath
echo "${tmp}/$$-strip/" >${tmp}/1
rpath=`cut -f5- -d'/' ${tmp}/1`
#echo "========= $rpath"

change_jobname NightlySave $JobName
start_test

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@output /dev/null
messages
@#
@# Do a backup
@#
@$out ${cwd}/tmp/log1.out
@#setdebug level=150 dir
@#setdebug level=150 storage=FileStorage
setdebug level=100 client=$CLIENT
label storage=FileStorage pool=Default volume=TestVolume001
run job=$JobName storage=FileStorage pool=Default yes
wait
messages
quit
END_OF_DATA


run_bacula

rm -rf ${cwd}/tmp/bacula-restores

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@output /dev/null
messages
@# 
@# now do a restore
@#
@$out ${cwd}/tmp/log2.out
@#setdebug level=50 client=$CLIENT
restore where=${cwd}/tmp/bacula-restores select all storage=FileStorage done
yes
wait
messages
quit
END_OF_DATA

run_bconsole

check_for_zombie_jobs storage=FileStorage
stop_bacula

check_two_logs
#
if test "$debug" -eq 1 ; then
   diff -ur ${tmp}/$$-strip/ ${tmp}/bacula-restores/${rpath}
else 
   diff -r ${tmp}/$$-strip/ ${tmp}/bacula-restores/${rpath} 2>&1 >/dev/null
fi
dstat=$?

rm -rf ${tmp}/$$-strip

end_test
