#!/bin/bash
set -e
set -o pipefail
set -u

TestName="$(basename "$(pwd)")"
export TestName

JobName=backup-bareos-fd

#shellcheck source=../environment.in
. ./environment

#shellcheck source=../scripts/functions
. "${rscripts}"/functions

start_test

rm -f "$tmp/forcebackup-*.out" 

cat <<END_OF_DATA >$tmp/bconcmds
@$out ${NULL_DEV}
messages
setdebug client=bareos-fd level=130 trace=1
@$out $tmp/sincetime-full.out
run job=$JobName fileset=PluginSinceTime level=Full yes
wait
messages
@$out $tmp/checkchanges-full.out
run job=$JobName fileset=PluginCheckChanges level=Full yes
wait
messages
@$out $tmp/sincetime-incr.out
run job=$JobName fileset=PluginSinceTime level=Incremental yes
wait
messages
@$out $tmp/checkchanges-incr.out
run job=$JobName fileset=PluginCheckChanges level=Incremental yes
wait
messages
END_OF_DATA

run_bconsole
check_for_zombie_jobs storage=File


expect_grep "Backup OK" \
	    "$tmp/sincetime-full.out" \
	    "Full Backup was not created correctly."
	    
expect_grep "Backup Level:[[:space:]]*Incremental" \
            "$tmp/sincetime-incr.out" \
            "Incremental got upgraded to full."

expect_grep "FD Files Written:       1" \
            "$tmp/sincetime-incr.out" \
            "Incremental with SinceTime=0 did not backup file!"

expect_grep "Backup OK" \
	    "$tmp/checkchanges-full.out" \
	    "Full Backup was not created correctly."
	    
expect_grep "Backup Level:[[:space:]]*Incremental" \
            "$tmp/checkchanges-incr.out" \
            "Incremental got upgraded to full."

expect_grep "FD Files Written:       1" \
            "$tmp/checkchanges-incr.out" \
            "Incremental with CheckChanges=false did not backup file!"

end_test
