From: Kern Sibbald Date: Wed, 26 Mar 2008 13:49:03 +0000 (+0000) Subject: Reorganize tests X-Git-Tag: Release-7.0.0~4790 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c8a98b6eba62cb0fc3e79ede47738276ac736504;p=bacula%2Fbacula Reorganize tests git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6691 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/regress/DartTestfile.txt.in b/regress/DartTestfile.txt.in index a5bdb1731d..2a6a6fe917 100644 --- a/regress/DartTestfile.txt.in +++ b/regress/DartTestfile.txt.in @@ -1,73 +1,90 @@ -ADD_TEST(all-non-root:accurate-test "@regressdir@/tests/accurate-test") -ADD_TEST(all-non-root:auto-label-test "@regressdir@/tests/auto-label-test") -ADD_TEST(all-non-root:backup-bacula-test "@regressdir@/tests/backup-bacula-test") -ADD_TEST(all-non-root:backup-to-null "@regressdir@/tests/backup-to-null") -ADD_TEST(all-non-root:bextract-test "@regressdir@/tests/bextract-test") -ADD_TEST(all-non-root:big-vol-test "@regressdir@/tests/big-vol-test") -ADD_TEST(all-non-root:bscan-test "@regressdir@/tests/bscan-test") -ADD_TEST(all-non-root:bsr-opt-test "@regressdir@/tests/bsr-opt-test") -ADD_TEST(all-non-root:compressed-test "@regressdir@/tests/compressed-test") -ADD_TEST(all-non-root:compress-encrypt-test "@regressdir@/tests/compress-encrypt-test") -ADD_TEST(all-non-root:concurrent-jobs-test "@regressdir@/tests/concurrent-jobs-test") -ADD_TEST(all-non-root:data-encrypt-test "@regressdir@/tests/data-encrypt-test") -ADD_TEST(all-non-root:differential-test "@regressdir@/tests/differential-test") -ADD_TEST(all-non-root:encrypt-bug-test "@regressdir@/tests/encrypt-bug-test") -ADD_TEST(all-non-root:fast-two-pool-test "@regressdir@/tests/fast-two-pool-test") -ADD_TEST(all-non-root:fifo-test "@regressdir@/tests/fifo-test") -ADD_TEST(all-non-root:four-concurrent-jobs-test "@regressdir@/tests/four-concurrent-jobs-test") -ADD_TEST(all-non-root:four-jobs-test "@regressdir@/tests/four-jobs-test") -ADD_TEST(all-non-root:hardlink-test "@regressdir@/tests/hardlink-test") -ADD_TEST(all-non-root:incremental-2disk "@regressdir@/tests/incremental-2disk") -ADD_TEST(all-non-root:incremental-2media "@regressdir@/tests/incremental-2media") -ADD_TEST(all-non-root:incremental-test "@regressdir@/tests/incremental-test") -ADD_TEST(all-non-root:maxvol2-test "@regressdir@/tests/maxvol2-test") -ADD_TEST(all-non-root:maxvol-test "@regressdir@/tests/maxvol-test") -ADD_TEST(all-non-root:migration-jobspan-test "@regressdir@/tests/migration-jobspan-test") -ADD_TEST(all-non-root:migration-job-test "@regressdir@/tests/migration-job-test") -ADD_TEST(all-non-root:migration-time-test "@regressdir@/tests/migration-time-test") -ADD_TEST(all-non-root:migration-volume-test "@regressdir@/tests/migration-volume-test") -ADD_TEST(all-non-root:query-test "@regressdir@/tests/query-test") -ADD_TEST(all-non-root:recycle-test "@regressdir@/tests/recycle-test") -ADD_TEST(all-non-root:regexwhere-test "@regressdir@/tests/regexwhere-test") -ADD_TEST(all-non-root:restore2-by-file-test "@regressdir@/tests/restore2-by-file-test") -ADD_TEST(all-non-root:restore-by-file-test "@regressdir@/tests/restore-by-file-test") -ADD_TEST(all-non-root:restore-disk-seek-test "@regressdir@/tests/restore-disk-seek-test") -ADD_TEST(all-non-root:runscript-test "@regressdir@/tests/runscript-test") -ADD_TEST(all-non-root:scratch-pool-test "@regressdir@/tests/scratch-pool-test") -ADD_TEST(all-non-root:six-vol-test "@regressdir@/tests/six-vol-test") -ADD_TEST(all-non-root:span-vol-test "@regressdir@/tests/span-vol-test") -ADD_TEST(all-non-root:sparse-compressed-test "@regressdir@/tests/sparse-compressed-test") -ADD_TEST(all-non-root:sparse-test "@regressdir@/tests/sparse-test") -ADD_TEST(all-non-root:2drive-3pool-test "@regressdir@/tests/2drive-3pool-test") -ADD_TEST(all-non-root:2drive-concurrent-test "@regressdir@/tests/2drive-concurrent-test") -ADD_TEST(all-non-root:2drive-incremental-2disk "@regressdir@/tests/2drive-incremental-2disk") -ADD_TEST(all-non-root-2tape:incremental-2tape "@regressdir@/tests/incremental-2tape") -ADD_TEST(all-non-root-2tape:two-volume-tape "@regressdir@/tests/two-volume-tape") -ADD_TEST(all-non-root-2drive-tape:2drive-incremental-2t2da-tape "@regressdir@/tests/2drive-incremental-2t2da-tape") -ADD_TEST(all-non-root-tape:ansi-label-1t1d-tape "@regressdir@/tests/ansi-label-1t1d-tape") -ADD_TEST(all-non-root-tape:backup-bacula-1t1d-tape "@regressdir@/tests/backup-bacula-1t1d-tape") -ADD_TEST(all-non-root-tape:bscan-1t1d-tape "@regressdir@/tests/bscan-1t1d-tape") -ADD_TEST(all-non-root-tape:fixed-block-size-1t1d-tape "@regressdir@/tests/fixed-block-size-1t1d-tape") -ADD_TEST(all-non-root-tape:four-concurrent-jobs-1t1d-tape "@regressdir@/tests/four-concurrent-jobs-1t1d-tape") -ADD_TEST(all-non-root-tape:four-jobs-1t1d-tape "@regressdir@/tests/four-jobs-1t1d-tape") -ADD_TEST(all-non-root-tape:incremental-1t1d-tape "@regressdir@/tests/incremental-1t1d-tape") -ADD_TEST(all-non-root-tape:relabel-1t1d-tape "@regressdir@/tests/relabel-1t1d-tape") -ADD_TEST(all-non-root-tape:restore-by-file-1t1d-tape "@regressdir@/tests/restore-by-file-1t1d-tape") -ADD_TEST(all-non-root-tape:small-file-size-1t1d-tape "@regressdir@/tests/small-file-size-1t1d-tape") -ADD_TEST(all-non-root-tape:truncate-bug-1t1d-tape "@regressdir@/tests/truncate-bug-1t1d-tape") -ADD_TEST(all-non-root-tape:two-pool-2t1da-tape "@regressdir@/tests/two-pool-2t1da-tape") -ADD_TEST(all-non-root-tape:verify-vol-1t1d-tape "@regressdir@/tests/verify-vol-1t1d-tape") -ADD_TEST(all-non-root:three-pool-test "@regressdir@/tests/three-pool-test") -ADD_TEST(all-non-root:tls-test "@regressdir@/tests/tls-test") -ADD_TEST(all-non-root:two-jobs-test "@regressdir@/tests/two-jobs-test") -ADD_TEST(all-non-root:two-pool-test "@regressdir@/tests/two-pool-test") -ADD_TEST(all-non-root:two-vol-test "@regressdir@/tests/two-vol-test") -ADD_TEST(all-non-root:two-volume-test "@regressdir@/tests/two-volume-test") -ADD_TEST(all-non-root:verify-cat-test "@regressdir@/tests/verify-cat-test") -ADD_TEST(all-non-root:verify-vol-test "@regressdir@/tests/verify-vol-test") -ADD_TEST(all-non-root:weird-files2-test "@regressdir@/tests/weird-files2-test") -ADD_TEST(all-non-root:weird-files-test "@regressdir@/tests/weird-files-test") -ADD_TEST(all-root:dev-test-root "@regressdir@/tests/dev-test-root") -ADD_TEST(all-root:etc-test-root "@regressdir@/tests/etc-test-root") -ADD_TEST(all-root:lib-test-root "@regressdir@/tests/lib-test-root") -ADD_TEST(all-root:usr-tape-root "@regressdir@/tests/usr-tape-root") + + +ADD_TEST(disk:accurate-test "@regressdir@/tests/accurate-test") +ADD_TEST(disk:auto-label-test "@regressdir@/tests/auto-label-test") +ADD_TEST(disk:backup-bacula-test "@regressdir@/tests/backup-bacula-test") +ADD_TEST(disk:backup-to-null "@regressdir@/tests/backup-to-null") +ADD_TEST(disk:bextract-test "@regressdir@/tests/bextract-test") +ADD_TEST(disk:big-vol-test "@regressdir@/tests/big-vol-test") +ADD_TEST(disk:bscan-test "@regressdir@/tests/bscan-test") +ADD_TEST(disk:bsr-opt-test "@regressdir@/tests/bsr-opt-test") +ADD_TEST(disk:compressed-test "@regressdir@/tests/compressed-test") +ADD_TEST(disk:compress-encrypt-test "@regressdir@/tests/compress-encrypt-test") +ADD_TEST(disk:concurrent-jobs-test "@regressdir@/tests/concurrent-jobs-test") +ADD_TEST(disk:data-encrypt-test "@regressdir@/tests/data-encrypt-test") +ADD_TEST(disk:differential-test "@regressdir@/tests/differential-test") +ADD_TEST(disk:encrypt-bug-test "@regressdir@/tests/encrypt-bug-test") +ADD_TEST(disk:fast-two-pool-test "@regressdir@/tests/fast-two-pool-test") +ADD_TEST(disk:fifo-test "@regressdir@/tests/fifo-test") +ADD_TEST(disk:four-concurrent-jobs-test "@regressdir@/tests/four-concurrent-jobs-test") +ADD_TEST(disk:four-jobs-test "@regressdir@/tests/four-jobs-test") +ADD_TEST(disk:hardlink-test "@regressdir@/tests/hardlink-test") +ADD_TEST(disk:incremental-2media "@regressdir@/tests/incremental-2media") +ADD_TEST(disk:incremental-test "@regressdir@/tests/incremental-test") +ADD_TEST(disk:maxvol2-test "@regressdir@/tests/maxvol2-test") +ADD_TEST(disk:maxvol-test "@regressdir@/tests/maxvol-test") +ADD_TEST(disk:migration-jobspan-test "@regressdir@/tests/migration-jobspan-test") +ADD_TEST(disk:migration-job-test "@regressdir@/tests/migration-job-test") +ADD_TEST(disk:migration-time-test "@regressdir@/tests/migration-time-test") +ADD_TEST(disk:migration-volume-test "@regressdir@/tests/migration-volume-test") +ADD_TEST(disk:query-test "@regressdir@/tests/query-test") +ADD_TEST(disk:recycle-test "@regressdir@/tests/recycle-test") +ADD_TEST(disk:regexwhere-test "@regressdir@/tests/regexwhere-test") +ADD_TEST(disk:restore2-by-file-test "@regressdir@/tests/restore2-by-file-test") +ADD_TEST(disk:restore-by-file-test "@regressdir@/tests/restore-by-file-test") +ADD_TEST(disk:restore-disk-seek-test "@regressdir@/tests/restore-disk-seek-test") +ADD_TEST(disk:runscript-test "@regressdir@/tests/runscript-test") +ADD_TEST(disk:scratch-pool-test "@regressdir@/tests/scratch-pool-test") +ADD_TEST(disk:six-vol-test "@regressdir@/tests/six-vol-test") +ADD_TEST(disk:span-vol-test "@regressdir@/tests/span-vol-test") +ADD_TEST(disk:sparse-compressed-test "@regressdir@/tests/sparse-compressed-test") +ADD_TEST(disk:sparse-test "@regressdir@/tests/sparse-test") +ADD_TEST(disk:2drive-3pool-test "@regressdir@/tests/2drive-3pool-test") +ADD_TEST(disk:2drive-concurrent-test "@regressdir@/tests/2drive-concurrent-test") +ADD_TEST(disk:2drive-incremental-2disk "@regressdir@/tests/2drive-incremental-2disk") +ADD_TEST(disk:three-pool-test "@regressdir@/tests/three-pool-test") +ADD_TEST(disk:tls-test "@regressdir@/tests/tls-test") +ADD_TEST(disk:two-jobs-test "@regressdir@/tests/two-jobs-test") +ADD_TEST(disk:two-pool-test "@regressdir@/tests/two-pool-test") +ADD_TEST(disk:two-vol-test "@regressdir@/tests/two-vol-test") +ADD_TEST(disk:two-volume-test "@regressdir@/tests/two-volume-test") +ADD_TEST(disk:verify-cat-test "@regressdir@/tests/verify-cat-test") +ADD_TEST(disk:verify-vol-test "@regressdir@/tests/verify-vol-test") +ADD_TEST(disk:weird-files2-test "@regressdir@/tests/weird-files2-test") +ADD_TEST(disk:weird-files-test "@regressdir@/tests/weird-files-test") + +ADD_TEST(tape:ansi-label-tape "@regressdir@/tests/ansi-label-tape") +ADD_TEST(tape:backup-bacula-tape "@regressdir@/tests/backup-bacula-tape") +ADD_TEST(tape:bscan-tape "@regressdir@/tests/bscan-tape") +ADD_TEST(tape:fixed-block-size-tape "@regressdir@/tests/fixed-block-size-tape") +ADD_TEST(tape:four-concurrent-jobs-tape "@regressdir@/tests/four-concurrent-jobs-tape") +ADD_TEST(tape:four-jobs-tape "@regressdir@/tests/four-jobs-tape") +ADD_TEST(tape:incremental-tape "@regressdir@/tests/incremental-tape") +ADD_TEST(tape:relabel-tape "@regressdir@/tests/relabel-tape") +ADD_TEST(tape:restore-by-file-tape "@regressdir@/tests/restore-by-file-tape") +ADD_TEST(tape:small-file-size-tape "@regressdir@/tests/small-file-size-tape") +ADD_TEST(tape:truncate-bug-tape "@regressdir@/tests/truncate-bug-tape") +ADD_TEST(tape:verify-vol-tape "@regressdir@/tests/verify-vol-tape") + +ADD_TEST(changer:incremental-changer "@regressdir@/tests/incremental-changer") +ADD_TEST(changer:two-pool-changer "@regressdir@/tests/two-pool-changer") +ADD_TEST(changer:two-volume-changer "@regressdir@/tests/two-volume-changer") +ADD_TEST(changer:vol-duration-changer "@regressdir@/tests/vol-duration-changer") + +ADD_TEST(2drive-changer:2drive-incremental-changer "@regressdir@/tests/2drive-incremental-changer") + +ADD_TEST(root:dev-test-root "@regressdir@/tests/dev-test-root") +ADD_TEST(root:etc-test-root "@regressdir@/tests/etc-test-root") +ADD_TEST(root:lib-test-root "@regressdir@/tests/lib-test-root") +ADD_TEST(root:usr-tape-root "@regressdir@/tests/usr-tape-root") + +ADD_TEST(win32-tape:backup-win32-tape "@regressdir@/tests/backup-win32-tape") +ADD_TEST(win32-tape:win32-backup-tape "@regressdir@/tests/win32-backup-tape") +ADD_TEST(win32-tape:win32-to-linux-tape "@regressdir@/tests/win32-to-linux-tape") + +ADD_TEST(long-tape:eighty-simultaneous-jobs-tape "@regressdir@/tests/eighty-simultaneous-jobs-tape") +ADD_TEST(long-tape:restore-seek-tape "@regressdir@/tests/restore-seek-tape") +ADD_TEST(long-tape:eot-fail-tape "@regressdir@/tests/eot-fail-tape") + +ADD_TEST(weird-tape:incremental-2media-tape "@regressdir@/tests/incremental-2media-tape") +ADD_TEST(valgrind:memory-bug-tape "@regressdir@/tests/memory-bug-tape") diff --git a/regress/README b/regress/README index 0f2037bb05..da189de97b 100644 --- a/regress/README +++ b/regress/README @@ -105,19 +105,15 @@ this cleans up any files that may be created with root permissions. Tape test naming convention: -I've renamed the tape tests to include an indication of how -many tapes and drives each test needs. The indication consists -of 4 or 5 characters just before the final -tape. For example, -there is a tape test named: - - vol-duration-2t1da-tape - -this means that it uses 2 tape (2t) one drive (1d) and the -autochanger (a). Another test might be named - - fixed-block-size-1t1d-tape - -which means it uses one tape on one drive and no autochanger. +The last part of the tape test name indicates (in general) what kind +of test it is. They are broken (for the most part) into test names +ending with: + + -test => a disk based test + -tape => a tape based test (can be a standalone tape drive + or an autochanger). Only one tape will be used + and it is assumed to be mounted. + -changer => you have an autochanger Adding tests: diff --git a/regress/all-changer-tests b/regress/all-changer-tests new file mode 100755 index 0000000000..88c0a7b9af --- /dev/null +++ b/regress/all-changer-tests @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Run all tape tests +# +echo "Start autochanger tests" +echo "Start autochanger tests" >>test.out + +nice tests/incremental-changer +nice tests/two-pool-changer +nice tests/two-volume-changer +nice tests/vol-duration-changer + +echo "End autochanger tests" +echo "End autochanger tests" >>test.out diff --git a/regress/all-non-root-2tape-tests b/regress/all-non-root-2tape-tests deleted file mode 100755 index 9491417f1b..0000000000 --- a/regress/all-non-root-2tape-tests +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# -# Run all tape tests -# -echo "Start two tape tests" -echo "Start two tape tests" >>test.out -nice tests/two-volume-tape -nice tests/incremental-2tape -echo "End two tape tests" -echo "End two tape tests" >>test.out diff --git a/regress/all-non-root-tape-tests b/regress/all-non-root-tape-tests deleted file mode 100755 index a924931708..0000000000 --- a/regress/all-non-root-tape-tests +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# -# Run all tape tests -# -. ./config -if test ! x$AUTOCHANGER = x/dev/null ; then - mtx -f $AUTOCHANGER load 1 >/dev/null &2>/dev/null -fi -echo " " -echo " " >>test.out -echo "Start all non-root tape tests" -echo "Start all non-root tape tests" >>test.out -nice tests/ansi-label-1t1d-tape -nice tests/backup-bacula-1t1d-tape -nice tests/bscan-1t1d-tape -nice tests/fixed-block-size-1t1d-tape -nice tests/four-concurrent-jobs-1t1d-tape -nice tests/four-jobs-1t1d-tape -nice tests/incremental-1t1d-tape -nice tests/relabel-1t1d-tape -nice tests/restore-by-file-1t1d-tape -nice tests/small-file-size-1t1d-tape -nice tests/truncate-bug-1t1d-tape -nice tests/two-pool-2t1da-tape -nice tests/verify-vol-1t1d-tape -nice tests/vol-duration-2t1da-test -echo "End all non-root tape tests" -echo "End all non-root tape tests" >>test.out diff --git a/regress/all-non-root-tests b/regress/all-non-root-tests deleted file mode 100755 index c281ab0414..0000000000 --- a/regress/all-non-root-tests +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# Run all tests -# -echo " " -echo " " >>test.out -echo "Start non-root disk tests" -echo "Start non-root disk tests" >>test.out -nice tests/accurate-test -nice tests/auto-label-test -nice tests/backup-bacula-test -nice tests/bextract-test -nice tests/big-vol-test -nice tests/bscan-test -nice tests/bsr-opt-test -nice tests/compressed-test -nice tests/compress-encrypt-test -nice tests/concurrent-jobs-test -nice tests/data-encrypt-test -nice tests/encrypt-bug-test -nice tests/fifo-test -nice tests/backup-to-null -nice tests/regexwhere-test -# The following two can uses *lots* of disk space -# so they are normally turned off, but if you have -# at least two GB free, you can run them -#nice tests/sparse-encrypt-test -#nice tests/gigaslam-sparse-test -nice tests/differential-test -nice tests/four-concurrent-jobs-test -nice tests/four-jobs-test -nice tests/incremental-test -nice tests/query-test -nice tests/recycle-test -nice tests/restore2-by-file-test -nice tests/restore-by-file-test -nice tests/restore-disk-seek-test -nice tests/runscript-test -nice tests/six-vol-test -nice tests/span-vol-test -nice tests/maxvol-test -nice tests/maxvol2-test -nice tests/sparse-compressed-test -nice tests/sparse-test -nice tests/two-jobs-test -nice tests/two-vol-test -nice tests/verify-cat-test -nice tests/verify-vol-test -nice tests/weird-files2-test -nice tests/weird-files-test -nice tests/migration-job-test -nice tests/migration-jobspan-test -nice tests/migration-volume-test -nice tests/migration-time-test -nice tests/hardlink-test -nice tests/tls-test -echo "End non-root disk tests" -echo "End non-root disk tests" >>test.out - -# -# The following are Virtual Disk Autochanger tests -echo " " -echo " " >>test.out -echo "Start non-root virtual disk autochanger tests" -echo "Start non-root virtual disk autochanger tests" >>test.out -#nice tests/three-pool-recycle-test -nice tests/two-pool-test -nice tests/fast-two-pool-test -nice tests/two-volume-test -nice tests/incremental-2disk -nice tests/2drive-incremental-2disk -nice tests/scratch-pool-test -nice tests/2drive-concurrent-test -nice tests/incremental-2media -nice tests/three-pool-test -nice tests/2drive-3pool-test -echo "End non-root virtual disk autochanger tests" -echo "End non-root virtual disk autochanger tests" >>test.out diff --git a/regress/all-tape-and-disk-tests b/regress/all-tape-and-disk-tests new file mode 100755 index 0000000000..9bc3e7676c --- /dev/null +++ b/regress/all-tape-and-disk-tests @@ -0,0 +1,6 @@ +#!/bin/sh +# +# Run all tests +# +./all-non-root-tests +./all-non-root-tape-tests diff --git a/regress/all-tape-and-file-tests b/regress/all-tape-and-file-tests deleted file mode 100755 index 9bc3e7676c..0000000000 --- a/regress/all-tape-and-file-tests +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# -# Run all tests -# -./all-non-root-tests -./all-non-root-tape-tests diff --git a/regress/all-tape-tests b/regress/all-tape-tests index 184ab88a33..ab43bb28de 100755 --- a/regress/all-tape-tests +++ b/regress/all-tape-tests @@ -2,29 +2,31 @@ # # Run all tape tests # -. ./config.out +. ./config + +# +# If we have an autoloader, load the tape in slot1 if test ! x$AUTOCHANGER = x/dev/null ; then - mtx -f $AUTOCHANGER load 1 >/dev/null &2>/dev/null + a=`bin/mtx-changer $AUTOCHANGER loaded $SLOT1 $TAPE_DRIVE $DRIVE1` + if test $a = 0 ; then + bin/mtx-changer $AUTOCHANGER load $SLOT1 $TAPE_DRIVE $DRIVE1 + fi fi echo " " echo " " >>test.out -echo "Start all tape tests" -echo "Start all tape tests" >>test.out -nice tests/ansi-label-1t1d-tape -nice tests/backup-bacula-1t1d-tape -#nice tests/btape-fill-full-tape -nice tests/fixed-block-size-1t1d-tape -nice tests/four-concurrent-jobs-1t1d-tape -nice tests/four-jobs-1t1d-tape -nice tests/incremental-1t1d-tape -nice tests/relabel-1t1d-tape -nice tests/restore-by-file-1t1d-tape -nice tests/small-file-size-1t1d-tape -nice tests/truncate-bug-1t1d-tape -nice tests/two-pool-2t1da-tape -nice tests/2drive-incremental-2t2da-tape -nice tests/bscan-1t1d-tape -nice tests/verify-vol-1t1d-tape -#nice tests/vol-duration-2t1da-tape -echo "End all tape tests" -echo "End all tape tests" >>test.out +echo "Start all non-root tape tests" +echo "Start all non-root tape tests" >>test.out +nice tests/ansi-label-tape +nice tests/backup-bacula-tape +nice tests/bscan-tape +nice tests/fixed-block-size-tape +nice tests/four-concurrent-jobs-tape +nice tests/four-jobs-tape +nice tests/incremental-tape +nice tests/relabel-tape +nice tests/restore-by-file-tape +nice tests/small-file-size-tape +nice tests/truncate-bug-tape +nice tests/verify-vol-tape +echo "End all non-root tape tests" +echo "End all non-root tape tests" >>test.out diff --git a/regress/btape-fill-1t1d-tape b/regress/btape-fill-1t1d-tape deleted file mode 100755 index 894c36fba1..0000000000 --- a/regress/btape-fill-1t1d-tape +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -# -# Test the fill command in btape -# -TestName="btape-fill-1t1d-tape" -JobName=filltape -. scripts/functions - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# MaximumVolumeSize% MaximumVolumeSize%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -start_test - -cat <${cwd}/tmp/bconcmds -fill -s -quit -END_OF_DATA - -run_btape DDS-4 - -grep "^The last block on the tape matches\. Test succeeded\." ${cwd}/tmp/log1.out 2>&1 >/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " !!!!! btape fill test failed!!! !!!!! " - echo " !!!!! btape fill test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== btape fill test OK ===== " - echo " ===== btape fill test OK ===== " >>test.out -# scripts/cleanup -fi diff --git a/regress/do_all_tests b/regress/do_all_tests index 76d4bc3c71..15a5b13fc1 100755 --- a/regress/do_all_tests +++ b/regress/do_all_tests @@ -11,7 +11,7 @@ echo " " >>test.out ./starttime nice ./all-non-root-tests nice ./all-non-root-tape-tests -nice ./all-non-root-2tape-tests +nice ./all-changer-tests echo " " echo "End do_all tests" echo "End do_all tests" >>test.out diff --git a/regress/experimental-all b/regress/experimental-all index 2b326a666e..079d8901e8 100755 --- a/regress/experimental-all +++ b/regress/experimental-all @@ -8,9 +8,9 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Experimental -R "all-non-root.*" +nice ctest -D Experimental -R "^(disk|tape|changer):" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" - ctest -D NightlySubmit + ctest -D ExperimentalSubmit fi REGRESS_DEBUG=${save_debug} diff --git a/regress/experimental-disk b/regress/experimental-disk index 4d8ccb3ad7..21852a6ba7 100755 --- a/regress/experimental-disk +++ b/regress/experimental-disk @@ -8,9 +8,9 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Experimental -R "all-non-root:" +nice ctest -D Experimental -R "^disk:" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" - ctest -D NightlySubmit + ctest -D ExperimentalSubmit fi REGRESS_DEBUG=${save_debug} diff --git a/regress/experimental-disk-and-tape b/regress/experimental-disk-and-tape new file mode 100755 index 0000000000..cbe537639b --- /dev/null +++ b/regress/experimental-disk-and-tape @@ -0,0 +1,16 @@ +#!/bin/sh +# +# test only the disk based regression scripts +# +# Include full output +save_debug=${REGRESS_DEBUG} +REGRESS_DEBUG=1 +export REGRESS_DEBUG +svn update +scripts/config_dart +nice ctest -D Experimental -R "^(disk|tape):" +if [ $? != 0 ] ; then + echo "ctest failed re-running Submit" + ctest -D ExperimentalSubmit +fi +REGRESS_DEBUG=${save_debug} diff --git a/regress/experimental-disk-tape b/regress/experimental-disk-tape deleted file mode 100755 index cbe537639b..0000000000 --- a/regress/experimental-disk-tape +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# -# test only the disk based regression scripts -# -# Include full output -save_debug=${REGRESS_DEBUG} -REGRESS_DEBUG=1 -export REGRESS_DEBUG -svn update -scripts/config_dart -nice ctest -D Experimental -R "^(disk|tape):" -if [ $? != 0 ] ; then - echo "ctest failed re-running Submit" - ctest -D ExperimentalSubmit -fi -REGRESS_DEBUG=${save_debug} diff --git a/regress/experimental-tape b/regress/experimental-tape index 96742e6367..b847d76f44 100755 --- a/regress/experimental-tape +++ b/regress/experimental-tape @@ -8,9 +8,9 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Experimental -R "all-non-root-tape:" +nice ctest -D Experimental -R "^tape:" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" - ctest -D NightlySubmit + ctest -D ExperimentalSubmit fi REGRESS_DEBUG=${save_debug} diff --git a/regress/nightly-all b/regress/nightly-all index fa76647bd4..ac3896529c 100755 --- a/regress/nightly-all +++ b/regress/nightly-all @@ -8,7 +8,7 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Nightly -R "all-non-root.*" +nice ctest -D Nightly -R "^(disk|tape|changer):" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" ctest -D NightlySubmit diff --git a/regress/nightly-disk b/regress/nightly-disk index 5e7161fbaa..a353630cb5 100755 --- a/regress/nightly-disk +++ b/regress/nightly-disk @@ -8,7 +8,7 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Nightly -R "all-non-root:" +nice ctest -D Nightly -R "^disk:" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" ctest -D NightlySubmit diff --git a/regress/nightly-disk-and-tape b/regress/nightly-disk-and-tape new file mode 100755 index 0000000000..cbe537639b --- /dev/null +++ b/regress/nightly-disk-and-tape @@ -0,0 +1,16 @@ +#!/bin/sh +# +# test only the disk based regression scripts +# +# Include full output +save_debug=${REGRESS_DEBUG} +REGRESS_DEBUG=1 +export REGRESS_DEBUG +svn update +scripts/config_dart +nice ctest -D Experimental -R "^(disk|tape):" +if [ $? != 0 ] ; then + echo "ctest failed re-running Submit" + ctest -D ExperimentalSubmit +fi +REGRESS_DEBUG=${save_debug} diff --git a/regress/nightly-disk-tape b/regress/nightly-disk-tape deleted file mode 100755 index cbe537639b..0000000000 --- a/regress/nightly-disk-tape +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# -# test only the disk based regression scripts -# -# Include full output -save_debug=${REGRESS_DEBUG} -REGRESS_DEBUG=1 -export REGRESS_DEBUG -svn update -scripts/config_dart -nice ctest -D Experimental -R "^(disk|tape):" -if [ $? != 0 ] ; then - echo "ctest failed re-running Submit" - ctest -D ExperimentalSubmit -fi -REGRESS_DEBUG=${save_debug} diff --git a/regress/nightly-tape b/regress/nightly-tape index 4ca2f5f16a..a4ccf26f2e 100755 --- a/regress/nightly-tape +++ b/regress/nightly-tape @@ -8,7 +8,7 @@ REGRESS_DEBUG=1 export REGRESS_DEBUG svn update scripts/config_dart -nice ctest -D Nightly -R "all-non-root-tape:" +nice ctest -D Nightly -R "^tape:" if [ $? != 0 ] ; then echo "ctest failed re-running Submit" ctest -D NightlySubmit diff --git a/regress/prototype.conf b/regress/prototype.conf index b0ba660fcd..1fb134b7cd 100644 --- a/regress/prototype.conf +++ b/regress/prototype.conf @@ -10,11 +10,25 @@ SQLITE3_DIR=${HOME}/bacula/depkgs/sqlite3 SQLITE_DIR=${HOME}/bacula/depkgs/sqlite # set to /dev/null if you do not have a tape drive +# Note this is used for both the tape tests and the +# autochanger TAPE_DRIVE="/dev/nst0" # if you don't have an autochanger set AUTOCHANGER to /dev/null AUTOCHANGER="/dev/sg0" +# drive index of first autochanger drive +DRIVE1=0 + +# drive index of second autochanger drive or "none" (in lowercase) +DRIVE2="none" + +# what slot to use for first tape +SLOT1=1 + +# what slot to use for the second tape +SLOT2=2 + # For two drive tests -- set to /dev/null if you do not have it TAPE_DRIVE1="/dev/null" diff --git a/regress/scripts/bacula-dir-2d.conf.in b/regress/scripts/bacula-dir-2d.conf.in index 41f3b61443..67c0b0f97e 100644 --- a/regress/scripts/bacula-dir-2d.conf.in +++ b/regress/scripts/bacula-dir-2d.conf.in @@ -121,9 +121,9 @@ Catalog { Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" - operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -138,7 +138,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/bacula-dir-fifo.conf.in b/regress/scripts/bacula-dir-fifo.conf.in index fdfd628a27..4e51470eb8 100644 --- a/regress/scripts/bacula-dir-fifo.conf.in +++ b/regress/scripts/bacula-dir-fifo.conf.in @@ -170,8 +170,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -186,7 +186,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/bacula-dir-migration.conf.in b/regress/scripts/bacula-dir-migration.conf.in index 9202de981f..ab428219a7 100644 --- a/regress/scripts/bacula-dir-migration.conf.in +++ b/regress/scripts/bacula-dir-migration.conf.in @@ -183,8 +183,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -199,7 +199,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/bacula-dir-tape.conf.in b/regress/scripts/bacula-dir-tape.conf.in index de1c3f2c1f..35846294a5 100644 --- a/regress/scripts/bacula-dir-tape.conf.in +++ b/regress/scripts/bacula-dir-tape.conf.in @@ -183,8 +183,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -199,7 +199,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/bacula-dir-win32-tape.conf.in b/regress/scripts/bacula-dir-win32-tape.conf.in index c91eff7f69..551ededd9e 100644 --- a/regress/scripts/bacula-dir-win32-tape.conf.in +++ b/regress/scripts/bacula-dir-win32-tape.conf.in @@ -112,8 +112,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -128,7 +128,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/multi-client-bacula-dir.conf.in b/regress/scripts/multi-client-bacula-dir.conf.in index a8a2efec2e..9a2e8bc6f9 100644 --- a/regress/scripts/multi-client-bacula-dir.conf.in +++ b/regress/scripts/multi-client-bacula-dir.conf.in @@ -333,8 +333,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all - operator = @job_email@ = mount +# MailOnError = @job_email@ = all +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from diff --git a/regress/scripts/new-test-bacula-dir.conf.in b/regress/scripts/new-test-bacula-dir.conf.in index f10344215f..ab0fcfd646 100644 --- a/regress/scripts/new-test-bacula-dir.conf.in +++ b/regress/scripts/new-test-bacula-dir.conf.in @@ -332,8 +332,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all - operator = @job_email@ = mount +# MailOnError = @job_email@ = all +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from diff --git a/regress/scripts/test-bacula-dir.conf.in b/regress/scripts/test-bacula-dir.conf.in index 6a6defeca2..4e6edd0850 100644 --- a/regress/scripts/test-bacula-dir.conf.in +++ b/regress/scripts/test-bacula-dir.conf.in @@ -269,8 +269,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all - operator = @job_email@ = mount +# MailOnError = @job_email@ = all +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -297,7 +297,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/scripts/testa-bacula-dir.conf.in b/regress/scripts/testa-bacula-dir.conf.in index ea19edc90d..3a752e7d09 100644 --- a/regress/scripts/testa-bacula-dir.conf.in +++ b/regress/scripts/testa-bacula-dir.conf.in @@ -111,8 +111,8 @@ Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate append = "@working_dir@/log" = all, !skipped diff --git a/regress/scripts/testb-bacula-dir.conf.in b/regress/scripts/testb-bacula-dir.conf.in index fd046d6922..7ad6c75c40 100644 --- a/regress/scripts/testb-bacula-dir.conf.in +++ b/regress/scripts/testb-bacula-dir.conf.in @@ -114,9 +114,9 @@ Catalog { Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" - operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate append = "@working_dir@/log" = all, !skipped diff --git a/regress/scripts/tls-auth-bacula-dir.conf.in b/regress/scripts/tls-auth-bacula-dir.conf.in index ac78e2b444..98ea4c1e7e 100644 --- a/regress/scripts/tls-auth-bacula-dir.conf.in +++ b/regress/scripts/tls-auth-bacula-dir.conf.in @@ -345,10 +345,10 @@ Catalog { # and to the console Messages { Name = Standard - mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" - operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all - operator = @job_email@ = mount +# mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" +# operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" +# MailOnError = @job_email@ = all +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -360,7 +360,7 @@ Messages { Messages { Name = NoEmail - mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" +# mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" console = all, !skipped, !terminate # # WARNING! the following will create a file that you must cycle from diff --git a/regress/scripts/tls-bacula-dir.conf.in b/regress/scripts/tls-bacula-dir.conf.in index 451f8166e2..57140c90d2 100644 --- a/regress/scripts/tls-bacula-dir.conf.in +++ b/regress/scripts/tls-bacula-dir.conf.in @@ -343,9 +343,9 @@ Catalog { Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" - operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all - operator = @job_email@ = mount +# operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" +# MailOnError = @job_email@ = all +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from diff --git a/regress/scripts/win32-bacula-dir-tape.conf.in b/regress/scripts/win32-bacula-dir-tape.conf.in index f14bb8e18e..cce636551a 100644 --- a/regress/scripts/win32-bacula-dir-tape.conf.in +++ b/regress/scripts/win32-bacula-dir-tape.conf.in @@ -126,9 +126,9 @@ Catalog { Messages { Name = Standard mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: %t %e of %c %l\" %r" - operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount +# operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula regression\) %r\" -s \"Regression: Intervention needed for %j\" %r" +# MailOnError = @job_email@ = all, !terminate +# operator = @job_email@ = mount console = all, !skipped, !terminate, !restored # # WARNING! the following will create a file that you must cycle from @@ -143,7 +143,7 @@ Messages { Messages { Name = Daemon mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula regression\) %r\" -s \"Regression daemon message\" %r" - mail = @job_email@ = all, !skipped +# mail = @job_email@ = all, !skipped console = all, !skipped, !saved append = "@working_dir@/log" = all, !skipped } diff --git a/regress/tests/2drive-incremental-2t2d-tape b/regress/tests/2drive-incremental-2t2d-tape deleted file mode 100755 index f9ec1e669c..0000000000 --- a/regress/tests/2drive-incremental-2t2d-tape +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -# This script uses the autochanger and two drives -# -TestName="2drive-incremental-2t2da-tape" -JobName="2drive2tape" -. scripts/functions - -require_tape_drive -require_autochanger -require_second_drive - - -scripts/copy-2drive-confs -scripts/cleanup-2drive - -change_jobname localhost-fd $JobName - -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -# Turn off Prefer Mounted Volumes so we use 2 drives -outf="${cwd}/tmp/sed_tmp" -echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} -cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1 -# Comment the next line out to write everything to one drive -# otherwise, it writes the two jobs to different drives -sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf - -start_test - -# Write out bconsole commands -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1 -@#setdebug level=100 storage=DDS-4 -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -@sleep 3 -status storage=DDS-4 -wait -list volumes -list jobs -status storage=DDS-4 -messages -quit -END_OF_DATA - -run_bacula - -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -@# Force Incremental on the second Volume -update volume=TestVolume001 VolStatus=Used -status storage=DDS-4 -@#setdebug level=400 storage=DDS-4 -run level=Incremental job=NightlySave yes -wait -list volumes -status storage=DDS-4 -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores -7 -<${cwd}/tmp/restore-list - -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c -check_restore_tmp_build_diff - -end_test diff --git a/regress/tests/2drive-incremental-2t2da-tape b/regress/tests/2drive-incremental-2t2da-tape deleted file mode 100755 index fd09b9b21f..0000000000 --- a/regress/tests/2drive-incremental-2t2da-tape +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -# This script uses the autochanger and two drives -# -TestName="2drive-incremental-2t2da-tape" -JobName="2drive2tape" -. scripts/functions - -require_tape_drive -require_autochanger -require_second_drive - -scripts/copy-2drive-confs -scripts/cleanup-2drive - -change_jobname localhost-fd $JobName - -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -# Turn off Prefer Mounted Volumes so we use 2 drives -outf="${cwd}/tmp/sed_tmp" -echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} -cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1 -# Comment the next line out to write everything to one drive -# otherwise, it writes the two jobs to different drives -sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf - -start_test - -# Write out bconsole commands -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1 -@#setdebug level=100 storage=DDS-4 -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -run job=NightlySave yes -@sleep 3 -status storage=DDS-4 -wait -list volumes -list jobs -status storage=DDS-4 -messages -quit -END_OF_DATA - -run_bacula - -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -@# Force Incremental on the second Volume -update volume=TestVolume001 VolStatus=Used -status storage=DDS-4 -@#setdebug level=400 storage=DDS-4 -run level=Incremental job=NightlySave yes -wait -list volumes -status storage=DDS-4 -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores -7 -<${cwd}/tmp/restore-list - -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c -check_restore_tmp_build_diff - -end_test diff --git a/regress/tests/2drive-incremental-changer b/regress/tests/2drive-incremental-changer new file mode 100755 index 0000000000..d94a7af8f4 --- /dev/null +++ b/regress/tests/2drive-incremental-changer @@ -0,0 +1,108 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory then create some +# new files, do an Incremental and restore those two files. +# +# This script uses the autochanger and two drives +# +TestName="2drive-incremental-changer" +JobName="2drive2tape" +. scripts/functions + +require_tape_drive +require_autochanger +require_second_drive + +scripts/copy-2drive-confs +scripts/cleanup-2drive + +change_jobname localhost-fd $JobName + +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list +if test ! -d ${cwd}/tmp/build ; then + mkdir ${cwd}/tmp/build +fi +cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build +cd ${cwd}/tmp +echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list +echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list +cd ${cwd} + +# Turn off Prefer Mounted Volumes so we use 2 drives +outf="${cwd}/tmp/sed_tmp" +echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} +cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1 +# Comment the next line out to write everything to one drive +# otherwise, it writes the two jobs to different drives +sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf + +start_test + +# Write out bconsole commands +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 Pool=Default drive=$DRIVE1 +label storage=DDS-4 volume=TestVolume002 slot=$SLOT2 Pool=Default drive=$DRIVE2 +@#setdebug level=100 storage=DDS-4 +run job=NightlySave yes +run job=NightlySave yes +run job=NightlySave yes +run job=NightlySave yes +run job=NightlySave yes +@sleep 3 +status storage=DDS-4 +wait +list volumes +list jobs +status storage=DDS-4 +messages +quit +END_OF_DATA + +run_bacula + +echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt +echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +@# Force Incremental on the second Volume +update volume=TestVolume001 VolStatus=Used +status storage=DDS-4 +@#setdebug level=400 storage=DDS-4 +run level=Incremental job=NightlySave yes +wait +list volumes +status storage=DDS-4 +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores +7 +<${cwd}/tmp/restore-list + +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bconsole +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +# +# Delete .c files because we will only restored the txt files +# +rm -f ${cwd}/tmp/build/*.c +check_restore_tmp_build_diff + +end_test diff --git a/regress/tests/ansi-label-1t1d-tape b/regress/tests/ansi-label-1t1d-tape deleted file mode 100755 index 141316a6bc..0000000000 --- a/regress/tests/ansi-label-1t1d-tape +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh -# -# Test of ANSI labeled tapes -# -# Run a simple backup of the Bacula build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# We also use the purge and the relabel commands as -# well as a pile of status storage commands. -# -TestName="ansi-label-1t1d-tape" -JobName=backuptape -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -/bin/cp -f scripts/ansi-sd-tape.conf bin/bacula-sd.conf -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - -# Write out bconsole commands -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -@#setdebug level=200 storage=DDS-4 -label storage=DDS-4 volume=Vol001 slot=0 pool=Default -purge volume=Vol001 -relabel pool=Default storage=DDS-4 oldVolume=Vol001 volume=Vol002 slot=0 -purge volume=Vol002 -relabel pool=Default storage=DDS-4 oldVolume=Vol002 volume=Vol001 slot=0 -run job=$JobName yes -status storage=DDS-4 -@sleep 1 -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -# -# Now do a second backup after making a few changes -# -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -list volumes -@#setdebug level=300 storage=DDS-4 -run job=$JobName yes -wait -list volumes -messages -@# -@# now do a second restore -@# -@$out ${cwd}/tmp/log2.out -list volumes -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/ansi-label-tape b/regress/tests/ansi-label-tape new file mode 100755 index 0000000000..141316a6bc --- /dev/null +++ b/regress/tests/ansi-label-tape @@ -0,0 +1,93 @@ +#!/bin/sh +# +# Test of ANSI labeled tapes +# +# Run a simple backup of the Bacula build directory +# to a tape then restore it, we do that twice to ensure that +# we can correctly append to a tape. +# We also use the purge and the relabel commands as +# well as a pile of status storage commands. +# +TestName="ansi-label-1t1d-tape" +JobName=backuptape +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +/bin/cp -f scripts/ansi-sd-tape.conf bin/bacula-sd.conf +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname NightlySave $JobName +start_test + +# Write out bconsole commands +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +@#setdebug level=200 storage=DDS-4 +label storage=DDS-4 volume=Vol001 slot=0 pool=Default +purge volume=Vol001 +relabel pool=Default storage=DDS-4 oldVolume=Vol001 volume=Vol002 slot=0 +purge volume=Vol002 +relabel pool=Default storage=DDS-4 oldVolume=Vol002 volume=Vol001 slot=0 +run job=$JobName yes +status storage=DDS-4 +@sleep 1 +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +list volumes +messages +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +# +# Now do a second backup after making a few changes +# +touch ${cwd}/build/src/dird/*.c +echo "test test" > ${cwd}/build/src/dird/xxx + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +list volumes +@#setdebug level=300 storage=DDS-4 +run job=$JobName yes +wait +list volumes +messages +@# +@# now do a second restore +@# +@$out ${cwd}/tmp/log2.out +list volumes +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +list volumes +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/backup-bacula-1t1d-tape b/regress/tests/backup-bacula-1t1d-tape deleted file mode 100755 index 4a80a8f201..0000000000 --- a/regress/tests/backup-bacula-1t1d-tape +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# We also use the purge and the relabel commands as -# well as a pile of status storage commands. -# -TestName="backup-bacula-1t1d-tape" -JobName=backuptape -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - - -# Write out bconsole commands -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -@#setdebug level=200 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -purge volume=TestVolume001 -relabel pool=Default storage=DDS-4 oldVolume=TestVolume001 volume=TestVolume002 slot=0 -purge volume=TestVolume002 -relabel pool=Default storage=DDS-4 oldVolume=TestVolume002 volume=TestVolume001 slot=0 -run job=$JobName yes -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -@sleep 1 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -@sleep 1 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -@sleep 1 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -@sleep 1 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -status storage=DDS-4 -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -# -# Now do a second backup after making a few changes -# -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -list volumes -run job=$JobName yes -wait -list volumes -messages -@# -@# now do a second restore -@# -@$out ${cwd}/tmp/log2.out -list volumes -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/backup-bacula-tape b/regress/tests/backup-bacula-tape new file mode 100755 index 0000000000..4a80a8f201 --- /dev/null +++ b/regress/tests/backup-bacula-tape @@ -0,0 +1,118 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# to a tape then restore it, we do that twice to ensure that +# we can correctly append to a tape. +# We also use the purge and the relabel commands as +# well as a pile of status storage commands. +# +TestName="backup-bacula-1t1d-tape" +JobName=backuptape +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname NightlySave $JobName +start_test + + +# Write out bconsole commands +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +@#setdebug level=200 storage=DDS-4 +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +purge volume=TestVolume001 +relabel pool=Default storage=DDS-4 oldVolume=TestVolume001 volume=TestVolume002 slot=0 +purge volume=TestVolume002 +relabel pool=Default storage=DDS-4 oldVolume=TestVolume002 volume=TestVolume001 slot=0 +run job=$JobName yes +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +@sleep 1 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +@sleep 1 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +@sleep 1 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +@sleep 1 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +status storage=DDS-4 +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +list volumes +messages +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +# +# Now do a second backup after making a few changes +# +touch ${cwd}/build/src/dird/*.c +echo "test test" > ${cwd}/build/src/dird/xxx + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +list volumes +run job=$JobName yes +wait +list volumes +messages +@# +@# now do a second restore +@# +@$out ${cwd}/tmp/log2.out +list volumes +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +list volumes +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/bscan-1t1d-tape b/regress/tests/bscan-1t1d-tape deleted file mode 100755 index e6a070d8bf..0000000000 --- a/regress/tests/bscan-1t1d-tape +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then -# do a bscan and restore. -# It should require at least 4 different bsrs. -# -TestName="bscan-1t1d-tape" -JobName=bscantape -. scripts/functions - -require_tape_drive - -copy_tape_confs - -echo "${cwd}/build" >tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" tmp/1 >${cwd}/bin/bacula-sd.conf - -change_jobname NightlySave $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -estimate job=$JobName listing -estimate job=$JobName listing -messages -@$out tmp/log1.out -setdebug level=2 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName level=Full yes -wait -run job=$JobName level=Full yes -wait -messages -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 - -echo "Backup 1 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o - -# -# run a second job -# -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA - -run_bconsole -scripts/check_for_zombie_jobs storage=DDS-4 - -echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -# -# run a third job -# - -run_bconsole -scripts/check_for_zombie_jobs storage=DDS-4 - -echo "Backup 3 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -#echo "abc" > ${cwd}/build/src/lib/dummy -# -# run a fourth job -# - -run_bconsole -scripts/check_for_zombie_jobs storage=DDS-4 - -stop_bacula - -echo "Backup 4 done" -# -# now drop and recreate the database -# -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 "volume=TestVolume001" >tmp/bscan.bsr -if test "$debug" -eq 1 ; then - bin/bscan -w working -u regress -n regress -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 -else - bin/bscan -w working -u regress -n regress -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null -fi - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log2.out -@# -@# now do a restore -@# -restore where=tmp/bacula-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula -rm -f ${cwd}/build/src/lib/dummy - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/bscan-tape b/regress/tests/bscan-tape new file mode 100755 index 0000000000..e6a070d8bf --- /dev/null +++ b/regress/tests/bscan-tape @@ -0,0 +1,126 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory using the compressed option +# then backup four times, each with incremental then +# do a bscan and restore. +# It should require at least 4 different bsrs. +# +TestName="bscan-1t1d-tape" +JobName=bscantape +. scripts/functions + +require_tape_drive + +copy_tape_confs + +echo "${cwd}/build" >tmp/file-list + +cp ${cwd}/bin/bacula-sd.conf tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" tmp/1 >${cwd}/bin/bacula-sd.conf + +change_jobname NightlySave $JobName +start_test + +cat <tmp/bconcmds +@output /dev/null +estimate job=$JobName listing +estimate job=$JobName listing +messages +@$out tmp/log1.out +setdebug level=2 storage=DDS-4 +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName level=Full yes +wait +run job=$JobName level=Full yes +wait +messages +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 + +echo "Backup 1 done" +# make some files for the incremental to pick up +touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o + +# +# run a second job +# +cat <tmp/bconcmds +@$out /dev/null +messages +@$out tmp/log1.out +run job=$JobName level=Incremental yes +wait +messages +quit +END_OF_DATA + +run_bconsole +scripts/check_for_zombie_jobs storage=DDS-4 + +echo "Backup 2 done" +touch ${cwd}/build/src/dird/*.c +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +# +# run a third job +# + +run_bconsole +scripts/check_for_zombie_jobs storage=DDS-4 + +echo "Backup 3 done" +# make some files for the incremental to pick up +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +#echo "abc" > ${cwd}/build/src/lib/dummy +# +# run a fourth job +# + +run_bconsole +scripts/check_for_zombie_jobs storage=DDS-4 + +stop_bacula + +echo "Backup 4 done" +# +# now drop and recreate the database +# +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 "volume=TestVolume001" >tmp/bscan.bsr +if test "$debug" -eq 1 ; then + bin/bscan -w working -u regress -n regress -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 +else + bin/bscan -w working -u regress -n regress -m -s -v -b tmp/bscan.bsr -c bin/bacula-sd.conf DDS-4 2>&1 >/dev/null +fi + +cat <tmp/bconcmds +@$out /dev/null +messages +@$out tmp/log2.out +@# +@# now do a restore +@# +restore where=tmp/bacula-restores select all storage=DDS-4 done +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula +rm -f ${cwd}/build/src/lib/dummy + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/eot-fail-tape b/regress/tests/eot-fail-tape index 44c36d07b9..4113ccf3f2 100755 --- a/regress/tests/eot-fail-tape +++ b/regress/tests/eot-fail-tape @@ -1,7 +1,5 @@ #!/bin/sh # -# Run a simple backup of the Bacula build directory -# to two tapes where the maximum tape file size is set to 1M # TestName="eot-fail-tape" JobName=eotfailtape @@ -25,16 +23,16 @@ start_test cat <${cwd}/tmp/bconcmds @output /dev/null messages -@$out ${cwd}/tmp/log1.out +@$out tmp/log1.out label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -update Volume=TestVolume001 MaxVolBytes=3000000 +#update Volume=TestVolume001 MaxVolBytes=3000000 run job=$JobName yes wait messages @# @# now do a restore @# -@$out ${cwd}/tmp/log2.out +@$out tmp/log2.out restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done yes wait diff --git a/regress/tests/fixed-block-size-1t1d-tape b/regress/tests/fixed-block-size-1t1d-tape deleted file mode 100755 index e34c3f5305..0000000000 --- a/regress/tests/fixed-block-size-1t1d-tape +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where we set the minimum and maximum block -# sizes. -# -TestName="fixed-block-size-1t1d-tape" -JobName=fixedblocksize -. scripts/functions - -require_tape_drive - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -echo "s%# Maximum Block Size% Maximum Block Size%" >${cwd}/tmp/2 -echo "s%# Minimum Block Size% Minimum Block Size%" >>${cwd}/tmp/2 -sed -f ${cwd}/tmp/2 ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf -if [ $? != 0 ] ; then - echo " " - echo " " - echo "!!!! sed problem in Fixed Block Size test !!!!!" - echo " " - exit 1 -fi -rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 - -change_jobname NightlySave $JobName -start_test - - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -setdebug level=51 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/fixed-block-size-tape b/regress/tests/fixed-block-size-tape new file mode 100755 index 0000000000..e34c3f5305 --- /dev/null +++ b/regress/tests/fixed-block-size-tape @@ -0,0 +1,64 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# to a tape where we set the minimum and maximum block +# sizes. +# +TestName="fixed-block-size-1t1d-tape" +JobName=fixedblocksize +. scripts/functions + +require_tape_drive + +copy_tape_confs + +echo "${cwd}/build" >${cwd}/tmp/file-list + +cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 +echo "s%# Maximum Block Size% Maximum Block Size%" >${cwd}/tmp/2 +echo "s%# Minimum Block Size% Minimum Block Size%" >>${cwd}/tmp/2 +sed -f ${cwd}/tmp/2 ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf +if [ $? != 0 ] ; then + echo " " + echo " " + echo "!!!! sed problem in Fixed Block Size test !!!!!" + echo " " + exit 1 +fi +rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 + +change_jobname NightlySave $JobName +start_test + + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +setdebug level=51 storage=DDS-4 +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 +unmark * +mark * +done +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/four-concurrent-jobs-1t1d-tape b/regress/tests/four-concurrent-jobs-1t1d-tape deleted file mode 100755 index b4fcc2a8e1..0000000000 --- a/regress/tests/four-concurrent-jobs-1t1d-tape +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Run four jobs at the same time -# -TestName="four-concurrent-jobs-1t1d-tape" -JobName=FourConcurrentJobs -. scripts/functions - -require_tape_drive - -scripts/cleanup-tape -scripts/copy-tape-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName level=Full Storage=DDS-4 yes -run job=$JobName level=Full Storage=DDS-4 yes -run job=$JobName level=Full Storage=DDS-4 yes -run job=$JobName level=Full Storage=DDS-4 yes -@sleep 2 -status dir -@sleep 5 -status dir -status storage=DDS-4 -messages -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/four-concurrent-jobs-tape b/regress/tests/four-concurrent-jobs-tape new file mode 100755 index 0000000000..b4fcc2a8e1 --- /dev/null +++ b/regress/tests/four-concurrent-jobs-tape @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Run four jobs at the same time +# +TestName="four-concurrent-jobs-1t1d-tape" +JobName=FourConcurrentJobs +. scripts/functions + +require_tape_drive + +scripts/cleanup-tape +scripts/copy-tape-confs + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName level=Full Storage=DDS-4 yes +run job=$JobName level=Full Storage=DDS-4 yes +run job=$JobName level=Full Storage=DDS-4 yes +run job=$JobName level=Full Storage=DDS-4 yes +@sleep 2 +status dir +@sleep 5 +status dir +status storage=DDS-4 +messages +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 +unmark * +mark * +done +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/four-jobs-1t1d-tape b/regress/tests/four-jobs-1t1d-tape deleted file mode 100755 index 3a850186a1..0000000000 --- a/regress/tests/four-jobs-1t1d-tape +++ /dev/null @@ -1,154 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then finally restore. -# It should require at least 4 different bsrs. -# -TestName="four-jobs-1t1d-tape" -JobName=fourjobstape -. scripts/functions - -require_tape_drive - -scripts/cleanup-tape -scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@$out /dev/null -estimate job=$JobName listing -estimate job=$JobName -estimate job=$JobName -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bacula start - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi - -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 1 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o - -# -# run a second job -# -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bacula start - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi - -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -# -# run a third job -# -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bacula start - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi - -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 3 done" -# make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o -# -# run a fourth job -# -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bacula start - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi - -scripts/check_for_zombie_jobs storage=DDS-4 -echo "Backup 4 done" -# -# now do several restores to ensure we cleanup between jobs -# -cat <${cwd}/tmp/bconcmds -@$out /dev/null -restore where=${cwd}/tmp/bacula-restores select all done -yes -wait -restore where=${cwd}/tmp/bacula-restores select all done -yes -wait -@$out ${cwd}/tmp/log2.out -@# -@# now unmount the tape and start two restores -@# at the same time -@# -unmount storage=DDS-4 -restore where=${cwd}/tmp/bacula-restores select all done -yes -restore where=${cwd}/tmp/bacula-restores select -unmark * -mark * -done -yes -mount storage=DDS-4 -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/four-jobs-tape b/regress/tests/four-jobs-tape new file mode 100755 index 0000000000..3a850186a1 --- /dev/null +++ b/regress/tests/four-jobs-tape @@ -0,0 +1,154 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory using the compressed option +# then backup four times, each with incremental then finally restore. +# It should require at least 4 different bsrs. +# +TestName="four-jobs-1t1d-tape" +JobName=fourjobstape +. scripts/functions + +require_tape_drive + +scripts/cleanup-tape +scripts/copy-tape-confs +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +estimate job=$JobName listing +estimate job=$JobName +estimate job=$JobName +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName yes +wait +messages +quit +END_OF_DATA +if test "$debug" -eq 1 ; then + bin/bacula start + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf +else + bin/bacula start 2>&1 >/dev/null + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null +fi + +scripts/check_for_zombie_jobs storage=DDS-4 +echo "Backup 1 done" +# make some files for the incremental to pick up +touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o + +# +# run a second job +# +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +run job=$JobName level=Incremental yes +wait +messages +quit +END_OF_DATA +if test "$debug" -eq 1 ; then + bin/bacula start + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf +else + bin/bacula start 2>&1 >/dev/null + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null +fi + +scripts/check_for_zombie_jobs storage=DDS-4 +echo "Backup 2 done" +touch ${cwd}/build/src/dird/*.c +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +# +# run a third job +# +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +run job=$JobName level=Incremental yes +wait +messages +quit +END_OF_DATA +if test "$debug" -eq 1 ; then + bin/bacula start + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf +else + bin/bacula start 2>&1 >/dev/null + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null +fi + +scripts/check_for_zombie_jobs storage=DDS-4 +echo "Backup 3 done" +# make some files for the incremental to pick up +touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +# +# run a fourth job +# +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +run job=$JobName level=Incremental yes +wait +messages +quit +END_OF_DATA +if test "$debug" -eq 1 ; then + bin/bacula start + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf +else + bin/bacula start 2>&1 >/dev/null + cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null +fi + +scripts/check_for_zombie_jobs storage=DDS-4 +echo "Backup 4 done" +# +# now do several restores to ensure we cleanup between jobs +# +cat <${cwd}/tmp/bconcmds +@$out /dev/null +restore where=${cwd}/tmp/bacula-restores select all done +yes +wait +restore where=${cwd}/tmp/bacula-restores select all done +yes +wait +@$out ${cwd}/tmp/log2.out +@# +@# now unmount the tape and start two restores +@# at the same time +@# +unmount storage=DDS-4 +restore where=${cwd}/tmp/bacula-restores select all done +yes +restore where=${cwd}/tmp/bacula-restores select +unmark * +mark * +done +yes +mount storage=DDS-4 +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/incremental-1t1d-tape b/regress/tests/incremental-1t1d-tape deleted file mode 100755 index 2e83c7a45d..0000000000 --- a/regress/tests/incremental-1t1d-tape +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -TestName="incremental-1t1d-tape" -JobName=IncTape -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -change_jobname NightlySave $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 - -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -run level=Incremental job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores storage=DDS-4 -7 -<${cwd}/tmp/restore-list - -yes -wait -messages -@output -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c - -check_two_logs -check_restore_tmp_build_diff -end_test diff --git a/regress/tests/incremental-2media-tape b/regress/tests/incremental-2media-tape index 62ecc5e340..054ac7f771 100755 --- a/regress/tests/incremental-2media-tape +++ b/regress/tests/incremental-2media-tape @@ -41,7 +41,7 @@ cat <${cwd}/tmp/bconcmds @$out /dev/null messages @$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0 +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 Pool=Default drive=$DRIVE1 label storage=DLT80 volume=TestVolume002 Pool=Default run job=$JobName yes wait diff --git a/regress/tests/incremental-2tape b/regress/tests/incremental-2tape deleted file mode 100755 index 67d4211a20..0000000000 --- a/regress/tests/incremental-2tape +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory then create some -# new files, do an Incremental and restore those two files. -# -# This script uses the autochanger and two tapes -# -. scripts/functions -if test x${AUTOCHANGER} = x/dev/null ; then - echo "incremental-2tape test skipped. No autochanger." - exit -fi -debug=0 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" -fi -cwd=`pwd` -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 .. - -scripts/copy-2tape-confs -scripts/cleanup-2tape -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir ${cwd}/tmp/build -fi -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp -echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list -echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list -cd ${cwd} - -echo " " -echo " " -echo " === Starting incremental-2tape test ===" -echo " === Starting incremental-2tape test ===" >>working/log -echo " " - -# Write out bconsole commands -cat <${cwd}/tmp/bconcmds -@$out /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0 -run job=NightlySave yes -wait -messages -quit -END_OF_DATA - -if test "$debug" -eq 1 ; then - bin/bacula start - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -grep "^ Termination: *Backup OK" ${cwd}/tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^ Termination: *Restore OK" ${cwd}/tmp/log2.out 2>&1 >/dev/null -rstat=$? -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c -diff -r ${cwd}/tmp/build ${cwd}/tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! incremental-2tape test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-2tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== incremental-2tape test Bacula source OK ===== " - echo " ===== incremental-2tape test OK ===== " >>test.out - scripts/cleanup -fi diff --git a/regress/tests/incremental-changer b/regress/tests/incremental-changer new file mode 100755 index 0000000000..650b52a0e7 --- /dev/null +++ b/regress/tests/incremental-changer @@ -0,0 +1,86 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory then create some +# new files, do an Incremental and restore those two files. +# +# This script uses the autochanger and two tapes +# +TestName="incremental-changer" +JobName=incrementalchanger +. scripts/functions + +require_tape_drive +require_autochanger + +scripts/cleanup +scripts/copy-2tape-confs +scripts/prepare-two-tapes + +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list +if test ! -d ${cwd}/tmp/build ; then + mkdir ${cwd}/tmp/build +fi +cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build +cd ${cwd}/tmp +echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list +echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list +cd ${cwd} + +start_test + +# Write out bconsole commands +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 Pool=Default drive=$DRIVE1 +label storage=DDS-4 volume=TestVolume002 slot=$SLOT2 Pool=Default drive=$DRIVE1 +run job=NightlySave yes +wait +messages +quit +END_OF_DATA + +run_bacula + +echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt +echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +@# Force Incremental on the second Volume +update volume=TestVolume001 VolStatus=Used +run level=Incremental job=NightlySave yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores +7 +<${cwd}/tmp/restore-list + +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bconsole + +check_for_zombie_jobs storage=DDS-4 +stop_bacula +check_two_logs +rstat=$? + +# +# Delete .c files because we will only restored the txt files +# +rm -f ${cwd}/tmp/build/*.c + +check_restore_tmp_build_diff +end_test diff --git a/regress/tests/incremental-tape b/regress/tests/incremental-tape new file mode 100755 index 0000000000..2e83c7a45d --- /dev/null +++ b/regress/tests/incremental-tape @@ -0,0 +1,78 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory then create some +# new files, do an Incremental and restore those two files. +# +TestName="incremental-1t1d-tape" +JobName=IncTape +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list +if test ! -d ${cwd}/tmp/build ; then + mkdir ${cwd}/tmp/build +fi +cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build +cd ${cwd}/tmp +echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list +echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list +cd ${cwd} + +change_jobname NightlySave $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName yes +wait +messages +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 + +echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt +echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +run level=Incremental job=$JobName yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores storage=DDS-4 +7 +<${cwd}/tmp/restore-list + +yes +wait +messages +@output +quit +END_OF_DATA + +run_bconsole +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +# +# Delete .c files because we will only restored the txt files +# +rm -f ${cwd}/tmp/build/*.c + +check_two_logs +check_restore_tmp_build_diff +end_test diff --git a/regress/tests/relabel-1t1d-tape b/regress/tests/relabel-1t1d-tape deleted file mode 100755 index d929db3358..0000000000 --- a/regress/tests/relabel-1t1d-tape +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory using the compressed option -# then backup four times, each with incremental then finally restore. -# It should require at least 4 different bsrs. -# -TestName="relabel-1t1d-tape" -JobName=Relabeltape -. scripts/functions - -require_tape_drive - -scripts/cleanup-tape -scripts/copy-tape-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName level=Full yes -wait -messages -add pool=Default storage=DDS-4 -0 -TestVolume002 -@# set status to append -update volume=TestVolume001 -1 -. -run job=$JobName level=Full yes -wait -unmount storage=DDS-4 -unmount storage=DDS-4 -@#setdebug level=150 storage=DDS-4 -purge volume=TestVolume001 -relabel oldvolume=TestVolume001 volume=TestVolume003 slot=0 pool=Default storage=DDS-4 -list volumes -mount storage=DDS-4 -messages -wait -run job=$JobName level=Full yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 - - -echo "Backup done" -# -# now do several restores to ensure we cleanup between jobs -# -cat <${cwd}/tmp/bconcmds -@$out /dev/null -restore where=${cwd}/tmp/bacula-restores select all done -yes -wait -restore where=${cwd}/tmp/bacula-restores select all done -yes -wait -@$out ${cwd}/tmp/log2.out -@# -@# now unmount the tape and start two restores -@# at the same time -@# -unmount storage=DDS-4 -restore where=${cwd}/tmp/bacula-restores select all done -yes -restore where=${cwd}/tmp/bacula-restores select -unmark * -mark * -done -yes -mount storage=DDS-4 -wait -messages -@$out -quit -END_OF_DATA - -run_bconsole - -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/relabel-tape b/regress/tests/relabel-tape new file mode 100755 index 0000000000..d929db3358 --- /dev/null +++ b/regress/tests/relabel-tape @@ -0,0 +1,97 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory using the compressed option +# then backup four times, each with incremental then finally restore. +# It should require at least 4 different bsrs. +# +TestName="relabel-1t1d-tape" +JobName=Relabeltape +. scripts/functions + +require_tape_drive + +scripts/cleanup-tape +scripts/copy-tape-confs + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName level=Full yes +wait +messages +add pool=Default storage=DDS-4 +0 +TestVolume002 +@# set status to append +update volume=TestVolume001 +1 +. +run job=$JobName level=Full yes +wait +unmount storage=DDS-4 +unmount storage=DDS-4 +@#setdebug level=150 storage=DDS-4 +purge volume=TestVolume001 +relabel oldvolume=TestVolume001 volume=TestVolume003 slot=0 pool=Default storage=DDS-4 +list volumes +mount storage=DDS-4 +messages +wait +run job=$JobName level=Full yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 + + +echo "Backup done" +# +# now do several restores to ensure we cleanup between jobs +# +cat <${cwd}/tmp/bconcmds +@$out /dev/null +restore where=${cwd}/tmp/bacula-restores select all done +yes +wait +restore where=${cwd}/tmp/bacula-restores select all done +yes +wait +@$out ${cwd}/tmp/log2.out +@# +@# now unmount the tape and start two restores +@# at the same time +@# +unmount storage=DDS-4 +restore where=${cwd}/tmp/bacula-restores select all done +yes +restore where=${cwd}/tmp/bacula-restores select +unmark * +mark * +done +yes +mount storage=DDS-4 +wait +messages +@$out +quit +END_OF_DATA + +run_bconsole + +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/restore-by-file-1t1d-tape b/regress/tests/restore-by-file-1t1d-tape deleted file mode 100755 index e88f5d87c8..0000000000 --- a/regress/tests/restore-by-file-1t1d-tape +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where the maximum tape file size is set to 1M -# then restore a few files from it. Note, by setting the maximum -# file size to 1M, it runs very slow. There are about 64 files that -# are created during each of the two backups. -# -TestName="restore-by-file-1t1d-tape" -JobName=restorebyfile -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist | sort | uniq >${cwd}/tmp/restore2-list - -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -change_jobname NightlySave $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName level=Full yes -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores storage=DDS-4 file=<${cwd}/tmp/restore2-list -yes -wait -messages -@output -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -dstat=0 -# -# We need to stop and start Bacula to -# test appending to a previously written tape -# -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bacula-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -run job=$JobName level=Full yes -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores -7 -<${cwd}/tmp/restore2-list - -yes -wait -messages -@output -quit -END_OF_DATA - -# -# Bacula was stopped, but we must restart it to -# test appending to a previously written tape -# -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs - -scripts/check_for_zombie_jobs storage=DDS-4 -bin/bacula stop 2>&1 >/dev/null -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bacula-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done - -end_test diff --git a/regress/tests/restore-by-file-tape b/regress/tests/restore-by-file-tape new file mode 100755 index 0000000000..e88f5d87c8 --- /dev/null +++ b/regress/tests/restore-by-file-tape @@ -0,0 +1,104 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# to a tape where the maximum tape file size is set to 1M +# then restore a few files from it. Note, by setting the maximum +# file size to 1M, it runs very slow. There are about 64 files that +# are created during each of the two backups. +# +TestName="restore-by-file-1t1d-tape" +JobName=restorebyfile +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list +sed s%\^%${cwd}% ${cwd}/scripts/flist | sort | uniq >${cwd}/tmp/restore2-list + +cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf + +change_jobname NightlySave $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +run job=$JobName level=Full yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores storage=DDS-4 file=<${cwd}/tmp/restore2-list +yes +wait +messages +@output +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +dstat=0 +# +# We need to stop and start Bacula to +# test appending to a previously written tape +# +for i in `cat ${cwd}/tmp/restore2-list`; do + diff $i ${cwd}/tmp/bacula-restores$i + if [ $? != 0 ] ; then + dstat=1 + fi +done + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +run job=$JobName level=Full yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores +7 +<${cwd}/tmp/restore2-list + +yes +wait +messages +@output +quit +END_OF_DATA + +# +# Bacula was stopped, but we must restart it to +# test appending to a previously written tape +# +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs + +scripts/check_for_zombie_jobs storage=DDS-4 +bin/bacula stop 2>&1 >/dev/null +for i in `cat ${cwd}/tmp/restore2-list`; do + diff $i ${cwd}/tmp/bacula-restores$i + if [ $? != 0 ] ; then + dstat=1 + fi +done + +end_test diff --git a/regress/tests/small-file-size-1t1d-tape b/regress/tests/small-file-size-1t1d-tape deleted file mode 100755 index a677de6541..0000000000 --- a/regress/tests/small-file-size-1t1d-tape +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to a tape where the maximum tape file size is set to 1M -# -TestName="small-file-size-1t1d-tape" -JobName=smallfilesize -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -change_jobname NightlySave $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -setdebug level=2 storage=DDS-4 -run job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@output -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/small-file-size-tape b/regress/tests/small-file-size-tape new file mode 100755 index 0000000000..a677de6541 --- /dev/null +++ b/regress/tests/small-file-size-tape @@ -0,0 +1,52 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# to a tape where the maximum tape file size is set to 1M +# +TestName="small-file-size-1t1d-tape" +JobName=smallfilesize +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list +cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf + +change_jobname NightlySave $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +setdebug level=2 storage=DDS-4 +run job=$JobName yes +wait +messages +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 +unmark * +mark * +done +yes +wait +messages +@output +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/truncate-bug-1t1d-tape b/regress/tests/truncate-bug-1t1d-tape deleted file mode 100755 index 97a58fa96d..0000000000 --- a/regress/tests/truncate-bug-1t1d-tape +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# Test for a tape truncation bug. -# -TestName="truncate-bug-1t1d-tape" -JobName=truncatebug -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -@# do a bunch of saves so we have 12 files on the tape -run job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -run level=Full job=$JobName yes -@#setdebug level=100 storage=DDS-4 -wait -messages -quit -END_OF_DATA - -run_bacula -scripts/check_for_zombie_jobs storage=DDS-4 - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log2.out -@# -@# now do a restore -@# -restore where=${cwd}/tmp/bacula-restores storage=DDS-4 -3 -@# select JobId=4 (i.e. file five on the tape) -4 -cd ${cwd}/build -@# mark a single file -mark configure -done -yes -wait -messages -@output -quit -END_OF_DATA - -run_bconsole -scripts/check_for_zombie_jobs storage=DDS-4 - -# Now write to tape one more time -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log3.out -run level=Full job=$JobName yes -wait -messages -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null -dstat=$? -end_test diff --git a/regress/tests/truncate-bug-tape b/regress/tests/truncate-bug-tape new file mode 100755 index 0000000000..97a58fa96d --- /dev/null +++ b/regress/tests/truncate-bug-tape @@ -0,0 +1,89 @@ +#!/bin/sh +# +# Test for a tape truncation bug. +# +TestName="truncate-bug-1t1d-tape" +JobName=truncatebug +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname NightlySave $JobName +start_test + +cat <tmp/bconcmds +@output /dev/null +messages +@$out tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default +@# do a bunch of saves so we have 12 files on the tape +run job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +run level=Full job=$JobName yes +@#setdebug level=100 storage=DDS-4 +wait +messages +quit +END_OF_DATA + +run_bacula +scripts/check_for_zombie_jobs storage=DDS-4 + +cat <tmp/bconcmds +@output /dev/null +messages +@$out tmp/log2.out +@# +@# now do a restore +@# +restore where=${cwd}/tmp/bacula-restores storage=DDS-4 +3 +@# select JobId=4 (i.e. file five on the tape) +4 +cd ${cwd}/build +@# mark a single file +mark configure +done +yes +wait +messages +@output +quit +END_OF_DATA + +run_bconsole +scripts/check_for_zombie_jobs storage=DDS-4 + +# Now write to tape one more time +cat <tmp/bconcmds +@output /dev/null +messages +@$out tmp/log3.out +run level=Full job=$JobName yes +wait +messages +quit +END_OF_DATA + +run_bconsole +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null +dstat=$? +end_test diff --git a/regress/tests/two-pool-2t1da-tape b/regress/tests/two-pool-2t1da-tape deleted file mode 100755 index 6559790c2b..0000000000 --- a/regress/tests/two-pool-2t1da-tape +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# This is Arno's test. It uses two pools, two tapes, and -# an autochanger. Note, the Director has three Pools in its -# conf: Default, Full, and Inc. Default is used in the -# NightlySave job by default. What is backed up is what -# is in ${cwd}/tmp/file-list, which is by default the Bacula -# source code (i.e. the build directory). -# -TestName="two-pool-2t1da-tape" -JobName=twopooltape -. scripts/functions - -require_tape_drive -require_autochanger - -scripts/cleanup -scripts/copy-2tape-confs -echo "Prepare two tapes" -scripts/prepare-two-tapes -echo "Done prepare two tapes" - -# Make a relatively large backup set 5 x source code directory -echo "${cwd}/build" >${cwd}/tmp/file-list -echo "${cwd}/build" >>${cwd}/tmp/file-list -echo "${cwd}/build" >>${cwd}/tmp/file-list -echo "${cwd}/build" >>${cwd}/tmp/file-list -echo "${cwd}/build" >>${cwd}/tmp/file-list - -start_test - -# Write out bconsole commands to a file -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 pool=Full drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0 -list volumes -@# Start job with Client run before and sleep -run job=NightlySave1 level=Full pool=Default yes -run job=NightlySave1 level=Full pool=Default yes -run job=NightlySave1 level=Full pool=Default yes -@# wait between starting jobs -@sleep 60 -@#setdebug level=100 storage=DDS-4 -run job=NightlySave2 level=Full pool=Full yes -run job=NightlySave2 level=Full pool=Full yes -run job=NightlySave2 level=Full pool=Full yes -@sleep 10 -messages -@sleep 10 -messages -@sleep 10 -status storage=DDS-4 -messages -wait -list volumes -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/two-pool-changer b/regress/tests/two-pool-changer new file mode 100755 index 0000000000..a8f5db5d47 --- /dev/null +++ b/regress/tests/two-pool-changer @@ -0,0 +1,78 @@ +#!/bin/sh +# +# This is Arno's test. It uses two pools, two tapes, and +# an autochanger. Note, the Director has three Pools in its +# conf: Default, Full, and Inc. Default is used in the +# NightlySave job by default. What is backed up is what +# is in ${cwd}/tmp/file-list, which is by default the Bacula +# source code (i.e. the build directory). +# +TestName="two-pool-changer" +JobName=twopoolchanger +. scripts/functions + +require_tape_drive +require_autochanger + +scripts/cleanup +scripts/copy-2tape-confs +echo "Prepare two tapes" +scripts/prepare-two-tapes +echo "Done prepare two tapes" + +# Make a relatively large backup set 5 x source code directory +echo "${cwd}/build" >${cwd}/tmp/file-list +echo "${cwd}/build" >>${cwd}/tmp/file-list +echo "${cwd}/build" >>${cwd}/tmp/file-list +echo "${cwd}/build" >>${cwd}/tmp/file-list +echo "${cwd}/build" >>${cwd}/tmp/file-list + +start_test + +# Write out bconsole commands to a file +cat <tmp/bconcmds +@output /dev/null +messages +@$out tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 pool=Full drive=$DRIVE1 +label storage=DDS-4 volume=TestVolume002 slot=$SLOT2 pool=Default drive=$DRIVE1 +list volumes +@# Start job with Client run before and sleep +run job=NightlySave1 level=Full pool=Default yes +run job=NightlySave1 level=Full pool=Default yes +run job=NightlySave1 level=Full pool=Default yes +@# wait between starting jobs +@sleep 60 +@#setdebug level=100 storage=DDS-4 +run job=NightlySave2 level=Full pool=Full yes +run job=NightlySave2 level=Full pool=Full yes +run job=NightlySave2 level=Full pool=Full yes +@sleep 10 +messages +@sleep 10 +messages +@sleep 10 +status storage=DDS-4 +messages +wait +list volumes +messages +@# +@# now do a restore +@# +@$out tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/two-volume-changer b/regress/tests/two-volume-changer new file mode 100755 index 0000000000..bc4a6c23ed --- /dev/null +++ b/regress/tests/two-volume-changer @@ -0,0 +1,82 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# to two tapes where the maximum tape file size is set to 1M +# Note, this test simulates the tape filling and writing to +# the next tape. +# +TestName="two-volume-tape" +JobName=twovoltape +. scripts/functions + +require_tape_drive +require_autochanger + +scripts/cleanup +scripts/copy-2tape-confs +scripts/prepare-two-tapes + +echo "${cwd}/build" >${cwd}/tmp/file-list + +outf="tmp/sed_tmp" +echo "s%# Maximum File Size% Maximum File Size%g" >${outf} +cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 +sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf + +change_jobname $JobName +start_test + +# Write out bconsole commands +cat <tmp/bconcmds +@$out /dev/null +messages +@$out tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 pool=Default drive=$DRIVE1 +label storage=DDS-4 volume=TestVolume002 slot=$SLOT2 pool=Default drive=$DRIVE1 +update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0 +sql +select * from Storage; +select VolumeName,InChanger,Slot,StorageId from Media; + +@#setdebug level=1000 client +@#setdebug level=250 storage=DDS-4 +run job=$JobName yes +wait +sql +select * from Storage; +select VolumeName,InChanger,Slot,StorageId from Media; + +messages +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +mt -f ${TAPE_DRIVE} rewind +mtx -f ${AUTOCHANGER} unload +sleep 15 + +cat <tmp/bconcmds +@$out /dev/null +messages +@# +@# now do a restore +@# +@$out tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test diff --git a/regress/tests/two-volume-tape b/regress/tests/two-volume-tape deleted file mode 100755 index 2cb84214d7..0000000000 --- a/regress/tests/two-volume-tape +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# to two tapes where the maximum tape file size is set to 1M -# Note, this test simulates the tape filling and writing to -# the next tape. -# -TestName="two-volume-tape" -JobName=twovoltape -. scripts/functions - -require_tape_drive -require_autochanger - -scripts/cleanup -scripts/copy-2tape-confs -scripts/prepare-two-tapes - -echo "${cwd}/build" >${cwd}/tmp/file-list - -outf="tmp/sed_tmp" -echo "s%# Maximum File Size% Maximum File Size%g" >${outf} -cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf - -change_jobname $JobName -start_test - -# Write out bconsole commands -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0 -update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0 -sql -select * from Storage; -select VolumeName,InChanger,Slot,StorageId from Media; - -@#setdebug level=1000 client -@#setdebug level=250 storage=DDS-4 -run job=$JobName yes -wait -sql -select * from Storage; -select VolumeName,InChanger,Slot,StorageId from Media; - -messages -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -mt -f ${TAPE_DRIVE} rewind -mtx -f ${AUTOCHANGER} unload -sleep 15 - -cat <tmp/bconcmds -@$out /dev/null -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/verify-vol-1t1d-tape b/regress/tests/verify-vol-1t1d-tape deleted file mode 100755 index 40065ad2ec..0000000000 --- a/regress/tests/verify-vol-1t1d-tape +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory -# then verify the catalog. -# -TestName="verify-vol-1t1d-tape" -JobName=VerifyVol -. scripts/functions - -require_tape_drive - -scripts/copy-tape-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -setdebug level=1 storage=DDS-4 sd -label storage=DDS-4 volume=TestVolume001 pool=Default -run job=$JobName yes -wait -messages -@# -@# now do a verify volume -@# -@$out ${cwd}/tmp/original -run job=VerifyTape pool=Default -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bacula - -sleep 2 -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^ Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null -rstat=$? -dstat=0 -end_test diff --git a/regress/tests/verify-vol-tape b/regress/tests/verify-vol-tape new file mode 100755 index 0000000000..40065ad2ec --- /dev/null +++ b/regress/tests/verify-vol-tape @@ -0,0 +1,52 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory +# then verify the catalog. +# +TestName="verify-vol-1t1d-tape" +JobName=VerifyVol +. scripts/functions + +require_tape_drive + +scripts/copy-tape-confs +scripts/cleanup-tape + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname NightlySave $JobName +start_test + +cat <tmp/bconcmds +@$out /dev/null +messages +@$out tmp/log1.out +setdebug level=1 storage=DDS-4 sd +label storage=DDS-4 volume=TestVolume001 pool=Default +run job=$JobName yes +wait +messages +@# +@# now do a verify volume +@# +@$out ${cwd}/tmp/original +run job=VerifyTape pool=Default +yes +wait +messages +@$out +quit +END_OF_DATA + +run_bacula + +sleep 2 +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null +bstat=$? +grep "^ Termination: *Verify OK" ${cwd}/tmp/original 2>&1 >/dev/null +rstat=$? +dstat=0 +end_test diff --git a/regress/tests/vol-duration-2t1da-tape b/regress/tests/vol-duration-2t1da-tape deleted file mode 100755 index a143846976..0000000000 --- a/regress/tests/vol-duration-2t1da-tape +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bacula build directory but -# create two volumes and set a short Volume duration on -# the first so that it will be used, recycled. Then -# Bug #1032 indicates it will get a changer error when -# loading the second volume. However, we cannot reproduce -# this problem. -# -# This test uses an autochanger -# -TestName="vol-duration-2t1da-tape" -JobName=VolDuration -. scripts/functions - -require_tape_drive -require_autochanger - -scripts/cleanup -scripts/copy-2tape-confs -scripts/prepare-two-tapes - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -@$out ${cwd}/tmp/log1.out -setdebug level=100 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0 -update Volume=TestVolume001 VolUse=30 -update Volume=TestVolume002 VolUse=30 -run job=$JobName level=Full Storage=DDS-4 yes -@sleep 31 -run job=$JobName level=Full Storage=DDS-4 yes -wait -messages -list volumes -@# -@# now do a restore -@# -@$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@output -quit -END_OF_DATA - -run_bacula -check_for_zombie_jobs storage=DDS-4 -stop_bacula - -check_two_logs -check_restore_diff -end_test diff --git a/regress/tests/vol-duration-changer b/regress/tests/vol-duration-changer new file mode 100755 index 0000000000..1ffda0fff1 --- /dev/null +++ b/regress/tests/vol-duration-changer @@ -0,0 +1,64 @@ +#!/bin/sh +# +# Run a simple backup of the Bacula build directory but +# create two volumes and set a short Volume duration on +# the first so that it will be used, recycled. Then +# Bug #1032 indicates it will get a changer error when +# loading the second volume. However, we cannot reproduce +# this problem. +# +# This test uses an autochanger +# +TestName="vol-duration-changer" +JobName=VolDurationChanger +. scripts/functions + +require_tape_drive +require_autochanger + +scripts/cleanup +scripts/copy-2tape-confs +scripts/prepare-two-tapes + +echo "${cwd}/build" >${cwd}/tmp/file-list + +change_jobname NightlySave $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +setdebug level=100 storage=DDS-4 +label storage=DDS-4 volume=TestVolume001 slot=$SLOT1 pool=Default drive=$DRIVE1 +label storage=DDS-4 volume=TestVolume002 slot=$SLOT2 Pool=Default drive=$DRIVE1 +update Volume=TestVolume001 VolUse=30 +update Volume=TestVolume002 VolUse=30 +run job=$JobName level=Full Storage=DDS-4 yes +@sleep 31 +run job=$JobName level=Full Storage=DDS-4 yes +wait +messages +list volumes +@# +@# now do a restore +@# +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select storage=DDS-4 +unmark * +mark * +done +yes +wait +messages +@output +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test