#!/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
