#!/bin/sh
#
# Run two jobs at the same time
#

TestName="concurrent-jobs-test"
JobName=concurrent-jobs
. scripts/functions

copy_test_confs

echo "${cwd}/tmp/largefile" >${cwd}/tmp/file-list
if test -c /dev/urandom ; then
# Create 56MB file with random data
#  echo "Creating a 56MB file with random data ..."
   dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 2>&1 1>/dev/null
else
#  echo "Creating a 56MB file with bareos-dir data ..."
   dd if=$bin/bareos-dir of=${cwd}/tmp/1 bs=1024 count=1000 2>&1 1>/dev/null
   cat ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 >${cwd}/tmp/2
   rm -f ${cwd}/tmp/1
   cat ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 >>${cwd}/tmp/3
   rm -f ${cwd}/tmp/2
   cat ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 >${cwd}/tmp/largefile
   rm -f ${cwd}/tmp/3
fi

#echo "largefile created"

change_jobname CompressedTest $JobName
start_test

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@$out /dev/null
messages
@$out  ${cwd}/tmp/log1.out
label storage=File volume=TestVolume001
run job=$JobName level=Full yes
run job=$JobName level=Full yes
run job=$JobName level=Full yes
run job=$JobName level=Full yes
wait
messages
@#
@# now do a restore
@#
@$out   ${cwd}/tmp/log2.out
restore where=${cwd}/tmp/bareos-restores select storage=File
unmark *
mark *
done
yes
wait
messages
@output
quit
END_OF_DATA

run_bareos
check_for_zombie_jobs storage=File
stop_bareos

check_two_logs
diff ${cwd}/tmp/largefile  ${cwd}/tmp/bareos-restores${cwd}/tmp/largefile 2>&1 >/dev/null
dstat=$?
end_test
