From 7ce2f03b23b2428ae11cff4be89456efcf8e2fc2 Mon Sep 17 00:00:00 2001 From: Joerg Steffens Date: Thu, 27 Jul 2017 15:09:04 +0200 Subject: [PATCH] let testing environment run against binary Bareos packages Originally, bareos-regress has been intended to run regression tests against source code as well as against prebuild and installed packages. However, over the years, it seams, that regression tests did only run against source code. This commit cleans up the regression code quite a bit. * As data source for backups, one of the files data/*.tgz can be used (with setup_data data/small.tgz, it will be unpacked to $tmp/data/). Before, tests did use some subdirectories of the Bareos source code (which is not available when running against binary packages). * Creates bareos-regress packages (Debian and RPM). These should contain all required dependencies. Especially the package bareos-regress-config is required, containing the configuration and required additional binaries from bareos-core. --- DartTestfile.txt.in | 2 + Makefile | 49 ++- README | 139 ++++---- README.mingw32 | 44 --- .../bareos-dir.d/catalog/MyCatalog.conf.in | 3 +- .../bareos-dir.d/client/bareos-fd.conf.in | 6 +- .../bareos-dir.d/director/bareos-dir.conf.in | 1 + .../BASE/bareos-dir.d/storage/File1.conf.in | 6 +- .../BASE/bareos-fd.d/client/myself.conf.in | 7 +- .../bareos-fd.d/director/bareos-dir.conf.in | 6 +- .../bareos-sd.d/director/bareos-dir.conf.in | 6 +- .../bareos-sd.d/storage/bareos-sd.conf.in | 7 +- ...bareos-dir.conf.allowed-jobcommand-test.in | 5 +- .../bareos-dir.conf.allowed-scriptdir-test.in | 5 +- .../bareos-dir.d/storage/File1.conf.in | 6 +- .../bareos-dir.d/storage/File2.conf.in | 6 +- .../bareos-dir.conf.in | 5 +- .../bareos-dir.d/fileset/FS_TESTJOB.conf.in | 2 +- .../bareos-dir.conf.quota-hardquota-test.in | 5 +- ...areos-dir.conf.quota-includefailed-test.in | 5 +- .../bareos-dir.d/client/bareos-fd.conf.in | 6 +- .../rerun-test/bareos-dir.conf.rerun-test.in | 5 +- .../bareos-dir.conf.scsi-crypto-test.in | 1 + configs/secure-erase-test/bareos-dir.conf.in | 11 +- configs/secure-erase-test/bareos-fd.conf.in | 2 +- configs/secure-erase-test/bareos-sd.conf.in | 2 +- .../bareos-dir.d/fileset/FS_TESTJOB.conf.in | 10 + .../bareos-dir.conf.status-schedule-test.in | 2 +- .../bareos-dir.conf.subscription-test.in | 5 +- .../client/connectingclient-fd.conf.in | 6 +- .../bareos-fd.d/client/myself.conf.in | 6 +- .../bareos-fd.d/director/bareos-dir.conf.in | 6 +- data/flat-c.tgz | Bin 0 -> 14161 bytes data/index.txt | 9 + data/po.tgz | Bin 0 -> 1079509 bytes data/small.tgz | Bin 0 -> 33708 bytes debian/compat | 1 + debian/control | 34 ++ debian/copyright | 3 + debian/docs | 2 + debian/postinst | 49 +++ debian/postrm | 16 + debian/rules | 20 ++ do_all_tests | 3 - packaging/bareos-regress.changes | 5 + packaging/bareos-regress.dsc | 13 + packaging/bareos-regress.spec | 68 ++++ packaging/debian.debtransform | 1 + prototype.conf | 12 +- run | 4 +- scripts/bareos-dir-2client.conf.in | 5 +- scripts/bareos-dir-2d.conf.in | 5 +- scripts/bareos-dir-fifo.conf.in | 5 +- scripts/bareos-dir-migration-sd-sd.conf.in | 5 +- scripts/bareos-dir-migration.conf.in | 5 +- scripts/bareos-dir-strip.conf.in | 5 +- scripts/bareos-dir-tape.conf.in | 5 +- scripts/bareos-dir-virtual.conf.in | 5 +- scripts/bareos-dir-win32-tape.conf.in | 5 +- scripts/bareos-dir.conf.accurate.in | 5 +- scripts/bareos-dir.conf.errors.in | 5 +- scripts/bareos-dir.conf.in | 9 +- scripts/bareos-dir.conf.maxruntime.in | 7 +- scripts/bareos-dir.conf.maxtime.in | 9 +- scripts/bareos-dir.conf.regexwhere.in | 5 +- scripts/bareos-dir.conf.testrunscript.in | 7 +- scripts/broken-media-bug-2-bareos-dir.conf.in | 8 +- scripts/broken-media-bug-bareos-dir.conf.in | 8 +- scripts/check_for_zombie_jobs | 2 +- scripts/cleanup | 34 +- scripts/config_dart | 12 +- scripts/copy-2client-confs | 16 +- scripts/copy-2disk-confs | 2 +- scripts/copy-2disk-drive-confs | 2 +- scripts/copy-2drive-confs | 2 +- scripts/copy-2tape-confs | 2 +- scripts/copy-btape-confs | 9 +- scripts/copy-confs | 10 +- scripts/copy-crypto-confs | 5 +- scripts/copy-fifo-confs | 1 - scripts/copy-migration-confs | 2 +- scripts/copy-plugin-confs | 2 +- scripts/copy-strip-confs | 2 +- scripts/copy-tape-confs | 10 +- scripts/copy-test-confs | 1 - scripts/copy-testa-confs | 2 +- scripts/copy-virtual-confs | 2 +- scripts/copy-win32-confs | 10 +- scripts/create_sed | 13 +- scripts/crypto-bareos-fd.conf.in | 4 +- scripts/do_sed | 34 +- scripts/functions | 307 +++++++++++++++-- scripts/functions.pm | 8 +- scripts/multi-client-bareos-dir.conf.in | 1 + scripts/new-test-bareos-dir.conf.in | 7 +- scripts/plugin-test-bareos-dir.conf.in | 1 + scripts/set_tape_options | 3 +- scripts/test-bareos-dir.conf.in | 1 + scripts/test-bareos-fd.conf.in | 2 +- scripts/testa-bareos-dir.conf.in | 1 + scripts/testb-bareos-dir.conf.in | 1 + .../virtualfull-extreme-bacula-dir.conf.in | 5 +- scripts/win32-bareos-dir-systemstate.conf.in | 1 + scripts/win32-bareos-dir-tape.conf.in | 1 + scripts/win32-bareos-dir.conf.in | 1 + tests/1-example-test | 25 +- tests/2drive-2disk | 15 +- tests/2drive-2job-test | 13 +- tests/2drive-3pool-test | 16 +- tests/2drive-concurrent-test | 13 +- tests/2drive-incremental-2disk | 55 +-- tests/2drive-offline-test | 12 +- tests/2drive-swap-test | 11 +- tests/accurate-test | 110 +++--- tests/acl-xattr-test | 72 ++-- tests/action-on-purge-test | 6 +- tests/allowcompress-test | 18 +- tests/always-incremental-test | 16 +- tests/ansi-label-tape | 18 +- tests/auto-label-test | 14 +- ...up-bareos-client-initiated-connection-test | 32 +- tests/backup-bareos-passive-test | 57 ++- tests/backup-bareos-tape | 13 +- tests/backup-bareos-test | 24 +- tests/backup-to-null | 25 +- tests/backup-win32-tape | 13 +- tests/bad-label-changer | 13 +- tests/bandwidth-limit-per-client-test | 5 +- tests/base-job-test | 95 ++--- tests/bconsole-test | 4 +- tests/bextract-test | 20 +- tests/big-fileset-test | 14 +- tests/big-virtual-changer-test | 29 +- tests/big-vol-test | 18 +- tests/broken-media-bug-2-test | 16 +- tests/broken-media-bug-test | 18 +- tests/bscan-fast-tape | 16 +- tests/bscan-tape | 36 +- tests/bscan-test | 26 +- tests/bsr-opt-test | 49 ++- tests/bsr-read-test | 19 +- tests/bug-1227 | 12 +- tests/bug-897 | 19 +- tests/bvfs-test | 47 ++- tests/comment-test | 33 +- tests/compress-encrypt-test | 14 +- tests/compressed-test | 16 +- tests/config-add-client-test | 1 - tests/copy-job-test | 13 +- tests/copy-jobspan-test | 14 +- tests/copy-time-test | 14 +- tests/copy-uncopied-test | 13 +- tests/copy-upgrade-test | 19 +- tests/copy-volume-test | 19 +- tests/data-encrypt-aes256-test | 21 +- tests/data-encrypt-blowfish-test | 21 +- tests/data-encrypt-camellia256-test | 21 +- tests/data-encrypt-test | 21 +- tests/debug-test | 13 +- tests/delete-test | 18 +- tests/dev-test-root | 2 +- tests/differential-test | 39 ++- tests/dummy-test | 2 +- tests/duplicate-job-test | 13 +- tests/eighty-simultaneous-jobs-tape | 14 +- tests/eot-fail-tape | 18 +- tests/errors-test | 13 +- tests/estimate-test | 38 +- tests/etc-test-root | 2 +- tests/exclude-dir-test | 35 +- tests/fast-two-pool-test | 27 +- tests/fileregexp-test | 43 ++- tests/fileset-multiple-include-blocks | 11 +- tests/fileset-multiple-options-blocks | 2 +- tests/fixed-block-size-tape | 20 +- tests/four-concurrent-jobs-tape | 15 +- tests/four-concurrent-jobs-test | 14 +- tests/four-jobs-tape | 26 +- tests/four-jobs-test | 27 +- tests/hardlink-test | 2 +- tests/incremental-2disk | 40 ++- tests/incremental-2media | 23 +- tests/incremental-2media-tape | 28 +- tests/incremental-changer | 36 +- tests/incremental-tape | 45 +-- tests/incremental-test | 83 +++-- tests/lan-addr-test | 30 +- tests/lan-addr-test-passive | 30 +- tests/lib-test-root | 2 +- tests/lockmgr-test | 4 +- tests/lz4-encrypt-test | 20 +- tests/lz4-test | 20 +- tests/lz4hc-encrypt-test | 21 +- tests/lz4hc-test | 22 +- tests/lzfast-encrypt-test | 22 +- tests/lzfast-test | 19 +- tests/lzo-encrypt-test | 18 +- tests/lzo-test | 18 +- tests/manual-two-vol-tape | 15 +- tests/maxbytes-test | 14 +- tests/maxruntime-test | 15 +- tests/maxtime-test | 48 +-- tests/maxuseduration-test | 14 +- tests/maxvol-test | 19 +- tests/maxvol2-test | 16 +- tests/memory-bug-tape | 15 +- tests/messages-test | 23 +- tests/migration-job-purge-test | 15 +- tests/migration-job-test | 16 +- tests/migration-jobspan-test | 16 +- tests/migration-occupancy-test | 16 +- tests/migration-time-test | 16 +- tests/migration-volume-sd-sd-test | 16 +- tests/migration-volume-test | 16 +- tests/multi-drive-group-test | 16 +- tests/multi-drive-test | 16 +- tests/multi-drive1-test | 16 +- tests/multi-storage-test | 41 ++- tests/multi2-storage-test | 42 ++- tests/no-chksum-test | 12 +- tests/prune-base-job-test | 50 ++- tests/prune-config-test | 25 +- tests/prune-copy-test | 18 +- tests/prune-migration-test | 16 +- tests/prune-test | 21 +- tests/query-test | 42 ++- tests/quota-hardquota-test | 2 +- tests/quota-includefailed-test | 8 +- tests/quota-softquota-test | 2 +- tests/recycle-test | 17 +- tests/regexwhere-test | 101 +++--- tests/relabel-tape | 17 +- tests/rerun-test | 15 +- tests/restart-accurate-job-test | 56 +-- tests/restart-base-job-test | 18 +- tests/restart-job-test | 16 +- tests/restore-by-file-tape | 40 ++- tests/restore-by-file-test | 30 +- tests/restore-disk-seek-test | 62 ++-- tests/restore-replace-never-test | 2 +- tests/restore-seek-tape | 63 ++-- tests/restore2-by-file-test | 33 +- tests/runscript-test | 12 +- tests/scratch-pool-test | 16 +- tests/scratchpool-pool-test | 16 +- tests/scsi-crypto-test | 39 ++- tests/secure-erase-test | 4 +- tests/sha-test | 110 ++++++ tests/short-incremental-test | 35 +- tests/six-vol-test | 15 +- tests/slow-test | 46 --- tests/small-file-size-tape | 16 +- tests/source-addr-test | 57 +-- tests/span-vol-test | 16 +- tests/sparse-autoxflate-test | 18 +- tests/sparse-compressed-test | 17 +- tests/sparse-encrypt-test | 33 +- tests/sparse-file-test | 35 +- tests/sparse-lzo-test | 22 +- tests/sparse-test | 16 +- tests/speed-test | 42 ++- tests/status-schedule-test | 13 +- tests/strip-test | 28 +- tests/subscription-test | 21 +- tests/test-plugin-test | 14 +- tests/three-pool-recycle-test | 18 +- tests/three-pool-test | 16 +- ...ls-client-initiated-connection-backup-test | 12 +- tests/tls-duplicate-job-test | 15 +- tests/tls-passive-test | 15 +- tests/tls-test | 14 +- tests/truncate-bug-tape | 18 +- tests/truncate-command-test | 14 +- tests/two-jobs-test | 19 +- tests/two-pool-changer | 30 +- tests/two-pool-test | 21 +- tests/two-vol-test | 16 +- tests/two-volume-changer | 17 +- tests/two-volume-test | 16 +- tests/verify-cat-test | 18 +- tests/verify-vol-tape | 17 +- tests/verify-vol-test | 20 +- tests/verify-voltocat-test | 16 +- tests/virtual-backup-test | 27 +- tests/virtual-backup2-test | 29 +- tests/virtual-changer-test | 16 +- .../virtualfull-extreme-concurrency-bug-test | 48 +-- tests/vol-duration-changer | 17 +- tests/weird-files-test | 32 +- tests/weird-files2-test | 10 +- tests/win32-backup-tape | 17 +- tests/win32-test | 2 +- tests/win32-to-linux-tape | 17 +- win32/README.txt | 15 - win32/all-non-root-2tape-tests.cmd | 9 - win32/all-non-root-tape-tests.cmd | 26 -- win32/all-non-root-tests.cmd | 74 ---- win32/all-root-tests.cmd | 13 - win32/all-tape-and-file-tests.cmd | 5 - win32/all-tests.cmd | 5 - win32/config.cmd | 10 - win32/do_all.cmd | 2 - win32/do_all_tapes.cmd | 2 - win32/do_all_tests.cmd | 17 - win32/do_file.cmd | 15 - win32/encrypt-bug.jpg | Bin 327681 -> 0 bytes win32/encrypt-bug.txt | 49 --- win32/encrypt-bug2.txt | 74 ---- win32/endtime.py | 11 - win32/file.cmd | 1 - win32/make.cmd | 111 ------ win32/misc-tests.cmd | 2 - win32/prototype.conf | 31 -- win32/run.cmd | 2 - win32/scripts/bareos-dir-migration.conf.in | 229 ------------ win32/scripts/bareos-dir-tape.conf.in | 226 ------------ win32/scripts/bareos-dir-win32-tape.conf.in | 144 -------- .../scripts/bareos-dir.conf.testrunscript.in | 158 --------- win32/scripts/bareos-sd-2disk-drive.conf.in | 74 ---- win32/scripts/bareos-sd-2disk.conf.in | 61 ---- win32/scripts/bareos-sd-2drive.conf.in | 74 ---- win32/scripts/bareos-sd-2tape.conf.in | 60 ---- win32/scripts/bareos-sd-migration.conf.in | 71 ---- win32/scripts/bareos-sd-tape.conf.in | 53 --- win32/scripts/bareos-sd.conf.in | 74 ---- win32/scripts/bareos.cmd | 18 - win32/scripts/check_for_zombie_jobs.bscr | 8 - win32/scripts/check_for_zombie_jobs.cmd | 41 --- win32/scripts/cleanup-2drive.cmd.in | 43 --- win32/scripts/cleanup-2tape.cmd.in | 29 -- win32/scripts/cleanup-tape.cmd.in | 7 - win32/scripts/cleanup.cmd | 23 -- win32/scripts/copy-2disk-confs.cmd | 9 - win32/scripts/copy-2disk-drive-confs.cmd | 6 - win32/scripts/copy-2drive-confs.cmd | 10 - win32/scripts/copy-2tape-confs.cmd | 10 - win32/scripts/copy-confs.cmd | 7 - win32/scripts/copy-crypto-confs.cmd | 5 - win32/scripts/copy-migration-confs.cmd | 7 - win32/scripts/copy-tape-confs.cmd | 7 - win32/scripts/copy-test-confs.cmd | 7 - win32/scripts/copy-testa-confs.cmd | 7 - win32/scripts/copy-win32-confs.cmd | 7 - win32/scripts/crypto-bareos-fd.conf.in | 35 -- win32/scripts/cryptokeypair.pem | 23 -- win32/scripts/disk-changer.cmd | 201 ----------- win32/scripts/do_sed.cmd | 72 ---- win32/scripts/exclude-dev-test | 5 - win32/scripts/exclude-etc-test | 1 - win32/scripts/exclude-lib-test | 5 - win32/scripts/flist | 23 -- win32/scripts/functions.cmd | 131 ------- win32/scripts/install_bareos.cmd | 76 ---- win32/scripts/new-test-bareos-dir.conf.in | 325 ------------------ win32/scripts/prepare-two-disks.cmd | 5 - win32/scripts/prepare-two-tapes.cmd.in | 13 - win32/scripts/setup.cmd | 55 --- win32/scripts/test-bareos-dir.conf.in | 311 ----------------- win32/scripts/test-bareos-fd.conf.in | 32 -- win32/scripts/test-bareos-sd.conf.in | 106 ------ win32/scripts/test-console.conf.in | 10 - win32/scripts/testa-bareos-dir.conf.in | 146 -------- win32/scripts/win32-bareos-dir-tape.conf.in | 159 --------- win32/scripts/win32_tape_options | 1 - win32/starttime.py | 5 - win32/tape.cmd | 1 - win32/tests/2drive-3pool-test.1.bscr | 23 -- win32/tests/2drive-3pool-test.2.bscr | 12 - win32/tests/2drive-3pool-test.cmd | 42 --- win32/tests/2drive-concurrent-test.bscr | 64 ---- win32/tests/2drive-concurrent-test.cmd | 26 -- win32/tests/2drive-incremental-2disk.1.bscr | 20 -- win32/tests/2drive-incremental-2disk.2.bscr | 25 -- win32/tests/2drive-incremental-2disk.cmd | 57 --- win32/tests/2drive-incremental-2tape | 112 ------ win32/tests/auto-label-test.bscr | 35 -- win32/tests/auto-label-test.cmd | 27 -- win32/tests/backup-bareos-tape | 117 ------- win32/tests/backup-bareos-test.bscr | 37 -- win32/tests/backup-bareos-test.cmd | 24 -- win32/tests/backup-win32-tape | 49 --- win32/tests/bextract-test.bscr | 21 -- win32/tests/bextract-test.cmd | 29 -- win32/tests/big-vol-test.1.bscr | 24 -- win32/tests/big-vol-test.2.bscr | 9 - win32/tests/big-vol-test.cmd | 44 --- win32/tests/bscan-fast-tape | 89 ----- win32/tests/bscan-tape | 142 -------- win32/tests/bscan-test.1.bscr | 24 -- win32/tests/bscan-test.2.bscr | 13 - win32/tests/bscan-test.cmd | 42 --- win32/tests/bsr-opt-test.bscr | 24 -- win32/tests/bsr-opt-test.cmd | 57 --- win32/tests/btape-fill-full-tape | 35 -- win32/tests/btape-fill-tape | 38 -- win32/tests/compressed-test.bscr | 23 -- win32/tests/compressed-test.cmd | 24 -- win32/tests/concurrent-jobs-test.bscr | 23 -- win32/tests/concurrent-jobs-test.cmd | 35 -- win32/tests/dev-test-root | 85 ----- win32/tests/differential-test.1.bscr | 9 - win32/tests/differential-test.2.bscr | 9 - win32/tests/differential-test.3.bscr | 16 - win32/tests/differential-test.cmd | 48 --- win32/tests/encrypt-bug-test.bscr | 22 -- win32/tests/encrypt-bug-test.cmd | 33 -- win32/tests/eot-fail-tape | 51 --- win32/tests/etc-test-root | 70 ---- win32/tests/fixed-block-size-tape | 62 ---- win32/tests/four-concurrent-jobs-tape | 56 --- win32/tests/four-concurrent-jobs-test.bscr | 50 --- win32/tests/four-concurrent-jobs-test.cmd | 23 -- win32/tests/four-jobs-tape | 153 --------- win32/tests/four-jobs-test.1.bscr | 11 - win32/tests/four-jobs-test.2.bscr | 7 - win32/tests/four-jobs-test.3.bscr | 7 - win32/tests/four-jobs-test.4.bscr | 7 - win32/tests/four-jobs-test.5.bscr | 17 - win32/tests/four-jobs-test.cmd | 74 ---- win32/tests/hardlink-test | 66 ---- win32/tests/incremental-2disk.1.bscr | 9 - win32/tests/incremental-2disk.2.bscr | 21 -- win32/tests/incremental-2disk.cmd | 55 --- win32/tests/incremental-2tape.1.bscr | 9 - win32/tests/incremental-2tape.2.bscr | 21 -- win32/tests/incremental-2tape.cmd | 48 --- win32/tests/incremental-tape | 76 ---- win32/tests/incremental-test.1.bscr | 9 - win32/tests/incremental-test.2.bscr | 9 - win32/tests/incremental-test.3.bscr | 7 - win32/tests/incremental-test.4.bscr | 7 - win32/tests/incremental-test.5.bscr | 16 - win32/tests/incremental-test.cmd | 91 ----- win32/tests/lib-tape-root | 67 ---- win32/tests/lib-test-root | 76 ---- win32/tests/migration-job-test.bscr | 47 --- win32/tests/migration-job-test.cmd | 37 -- win32/tests/migration-jobspan-test.bscr | 39 --- win32/tests/migration-jobspan-test.cmd | 42 --- win32/tests/migration-occupancy-test.bscr | 33 -- win32/tests/migration-occupancy-test.cmd | 36 -- win32/tests/migration-time-test.bscr | 40 --- win32/tests/migration-time-test.cmd | 37 -- win32/tests/migration-volume-test.bscr | 63 ---- win32/tests/migration-volume-test.cmd | 40 --- win32/tests/query-test.1.bscr | 9 - win32/tests/query-test.2.bscr | 9 - win32/tests/query-test.3.bscr | 46 --- win32/tests/query-test.cmd | 48 --- win32/tests/recycle-test.bscr | 51 --- win32/tests/recycle-test.cmd | 26 -- win32/tests/relabel-tape | 94 ----- win32/tests/restore-by-file-tape | 101 ------ win32/tests/restore-by-file-test.bscr | 20 -- win32/tests/restore-by-file-test.cmd | 30 -- win32/tests/restore-disk-seek-test.bscr | 23 -- win32/tests/restore-disk-seek-test.cmd | 55 --- win32/tests/restore2-by-file-test.bscr | 17 - win32/tests/restore2-by-file-test.cmd | 31 -- win32/tests/runscript-test | 90 ----- win32/tests/scratch-pool-test.bscr | 25 -- win32/tests/scratch-pool-test.cmd | 45 --- win32/tests/six-vol-test.bscr | 19 - win32/tests/six-vol-test.cmd | 36 -- win32/tests/small-file-size-tape | 50 --- win32/tests/span-vol-test.bscr | 27 -- win32/tests/span-vol-test.cmd | 26 -- win32/tests/sparse-compressed-test.bscr | 17 - win32/tests/sparse-compressed-test.cmd | 23 -- win32/tests/sparse-test.bscr | 20 -- win32/tests/sparse-test.cmd | 23 -- win32/tests/test0.cmd | 2 - win32/tests/truncate-bug-tape | 87 ----- win32/tests/two-jobs-test.1.bscr | 14 - win32/tests/two-jobs-test.2.bscr | 27 -- win32/tests/two-jobs-test.cmd | 35 -- win32/tests/two-pool-tape | 82 ----- win32/tests/two-pool-test.bscr | 36 -- win32/tests/two-pool-test.cmd | 37 -- win32/tests/two-vol-test.bscr | 19 - win32/tests/two-vol-test.cmd | 24 -- win32/tests/two-volume-tape.1.bscr | 11 - win32/tests/two-volume-tape.2.bscr | 12 - win32/tests/two-volume-tape.cmd | 48 --- win32/tests/two-volume-test.bscr | 20 -- win32/tests/two-volume-test.cmd | 35 -- win32/tests/usr-tape-root | 62 ---- win32/tests/verify-vol-tape | 50 --- win32/tests/verify-vol-test.bscr | 18 - win32/tests/verify-vol-test.cmd | 29 -- win32/tests/weird-files-test | 69 ---- win32/tests/weird-files2-test | 80 ----- win32/tests/win32-backup-tape | 49 --- win32/tests/win32-to-linux-tape | 49 --- win32/win32_runscript.zip | Bin 2916 -> 0 bytes 495 files changed, 3858 insertions(+), 10513 deletions(-) delete mode 100644 README.mingw32 create mode 100644 configs/sha-test/bareos-dir.d/fileset/FS_TESTJOB.conf.in create mode 100644 data/flat-c.tgz create mode 100644 data/index.txt create mode 100644 data/po.tgz create mode 100644 data/small.tgz create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/postinst create mode 100644 debian/postrm create mode 100755 debian/rules create mode 100644 packaging/bareos-regress.changes create mode 100644 packaging/bareos-regress.dsc create mode 100644 packaging/bareos-regress.spec create mode 100644 packaging/debian.debtransform create mode 100755 tests/sha-test delete mode 100755 tests/slow-test delete mode 100644 win32/README.txt delete mode 100644 win32/all-non-root-2tape-tests.cmd delete mode 100644 win32/all-non-root-tape-tests.cmd delete mode 100644 win32/all-non-root-tests.cmd delete mode 100644 win32/all-root-tests.cmd delete mode 100644 win32/all-tape-and-file-tests.cmd delete mode 100644 win32/all-tests.cmd delete mode 100644 win32/config.cmd delete mode 100644 win32/do_all.cmd delete mode 100644 win32/do_all_tapes.cmd delete mode 100644 win32/do_all_tests.cmd delete mode 100644 win32/do_file.cmd delete mode 100644 win32/encrypt-bug.jpg delete mode 100644 win32/encrypt-bug.txt delete mode 100644 win32/encrypt-bug2.txt delete mode 100644 win32/endtime.py delete mode 100644 win32/file.cmd delete mode 100644 win32/make.cmd delete mode 100644 win32/misc-tests.cmd delete mode 100644 win32/prototype.conf delete mode 100644 win32/run.cmd delete mode 100644 win32/scripts/bareos-dir-migration.conf.in delete mode 100644 win32/scripts/bareos-dir-tape.conf.in delete mode 100644 win32/scripts/bareos-dir-win32-tape.conf.in delete mode 100644 win32/scripts/bareos-dir.conf.testrunscript.in delete mode 100644 win32/scripts/bareos-sd-2disk-drive.conf.in delete mode 100644 win32/scripts/bareos-sd-2disk.conf.in delete mode 100644 win32/scripts/bareos-sd-2drive.conf.in delete mode 100644 win32/scripts/bareos-sd-2tape.conf.in delete mode 100644 win32/scripts/bareos-sd-migration.conf.in delete mode 100644 win32/scripts/bareos-sd-tape.conf.in delete mode 100644 win32/scripts/bareos-sd.conf.in delete mode 100644 win32/scripts/bareos.cmd delete mode 100644 win32/scripts/check_for_zombie_jobs.bscr delete mode 100644 win32/scripts/check_for_zombie_jobs.cmd delete mode 100644 win32/scripts/cleanup-2drive.cmd.in delete mode 100644 win32/scripts/cleanup-2tape.cmd.in delete mode 100644 win32/scripts/cleanup-tape.cmd.in delete mode 100644 win32/scripts/cleanup.cmd delete mode 100644 win32/scripts/copy-2disk-confs.cmd delete mode 100644 win32/scripts/copy-2disk-drive-confs.cmd delete mode 100644 win32/scripts/copy-2drive-confs.cmd delete mode 100644 win32/scripts/copy-2tape-confs.cmd delete mode 100644 win32/scripts/copy-confs.cmd delete mode 100644 win32/scripts/copy-crypto-confs.cmd delete mode 100644 win32/scripts/copy-migration-confs.cmd delete mode 100644 win32/scripts/copy-tape-confs.cmd delete mode 100644 win32/scripts/copy-test-confs.cmd delete mode 100644 win32/scripts/copy-testa-confs.cmd delete mode 100644 win32/scripts/copy-win32-confs.cmd delete mode 100644 win32/scripts/crypto-bareos-fd.conf.in delete mode 100644 win32/scripts/cryptokeypair.pem delete mode 100644 win32/scripts/disk-changer.cmd delete mode 100644 win32/scripts/do_sed.cmd delete mode 100644 win32/scripts/exclude-dev-test delete mode 100644 win32/scripts/exclude-etc-test delete mode 100644 win32/scripts/exclude-lib-test delete mode 100644 win32/scripts/flist delete mode 100644 win32/scripts/functions.cmd delete mode 100644 win32/scripts/install_bareos.cmd delete mode 100644 win32/scripts/new-test-bareos-dir.conf.in delete mode 100644 win32/scripts/prepare-two-disks.cmd delete mode 100644 win32/scripts/prepare-two-tapes.cmd.in delete mode 100644 win32/scripts/setup.cmd delete mode 100644 win32/scripts/test-bareos-dir.conf.in delete mode 100644 win32/scripts/test-bareos-fd.conf.in delete mode 100644 win32/scripts/test-bareos-sd.conf.in delete mode 100644 win32/scripts/test-console.conf.in delete mode 100644 win32/scripts/testa-bareos-dir.conf.in delete mode 100644 win32/scripts/win32-bareos-dir-tape.conf.in delete mode 100644 win32/scripts/win32_tape_options delete mode 100644 win32/starttime.py delete mode 100644 win32/tape.cmd delete mode 100644 win32/tests/2drive-3pool-test.1.bscr delete mode 100644 win32/tests/2drive-3pool-test.2.bscr delete mode 100644 win32/tests/2drive-3pool-test.cmd delete mode 100644 win32/tests/2drive-concurrent-test.bscr delete mode 100644 win32/tests/2drive-concurrent-test.cmd delete mode 100644 win32/tests/2drive-incremental-2disk.1.bscr delete mode 100644 win32/tests/2drive-incremental-2disk.2.bscr delete mode 100644 win32/tests/2drive-incremental-2disk.cmd delete mode 100644 win32/tests/2drive-incremental-2tape delete mode 100644 win32/tests/auto-label-test.bscr delete mode 100644 win32/tests/auto-label-test.cmd delete mode 100644 win32/tests/backup-bareos-tape delete mode 100644 win32/tests/backup-bareos-test.bscr delete mode 100644 win32/tests/backup-bareos-test.cmd delete mode 100644 win32/tests/backup-win32-tape delete mode 100644 win32/tests/bextract-test.bscr delete mode 100644 win32/tests/bextract-test.cmd delete mode 100644 win32/tests/big-vol-test.1.bscr delete mode 100644 win32/tests/big-vol-test.2.bscr delete mode 100644 win32/tests/big-vol-test.cmd delete mode 100644 win32/tests/bscan-fast-tape delete mode 100644 win32/tests/bscan-tape delete mode 100644 win32/tests/bscan-test.1.bscr delete mode 100644 win32/tests/bscan-test.2.bscr delete mode 100644 win32/tests/bscan-test.cmd delete mode 100644 win32/tests/bsr-opt-test.bscr delete mode 100644 win32/tests/bsr-opt-test.cmd delete mode 100644 win32/tests/btape-fill-full-tape delete mode 100644 win32/tests/btape-fill-tape delete mode 100644 win32/tests/compressed-test.bscr delete mode 100644 win32/tests/compressed-test.cmd delete mode 100644 win32/tests/concurrent-jobs-test.bscr delete mode 100644 win32/tests/concurrent-jobs-test.cmd delete mode 100644 win32/tests/dev-test-root delete mode 100644 win32/tests/differential-test.1.bscr delete mode 100644 win32/tests/differential-test.2.bscr delete mode 100644 win32/tests/differential-test.3.bscr delete mode 100644 win32/tests/differential-test.cmd delete mode 100644 win32/tests/encrypt-bug-test.bscr delete mode 100644 win32/tests/encrypt-bug-test.cmd delete mode 100644 win32/tests/eot-fail-tape delete mode 100644 win32/tests/etc-test-root delete mode 100644 win32/tests/fixed-block-size-tape delete mode 100644 win32/tests/four-concurrent-jobs-tape delete mode 100644 win32/tests/four-concurrent-jobs-test.bscr delete mode 100644 win32/tests/four-concurrent-jobs-test.cmd delete mode 100644 win32/tests/four-jobs-tape delete mode 100644 win32/tests/four-jobs-test.1.bscr delete mode 100644 win32/tests/four-jobs-test.2.bscr delete mode 100644 win32/tests/four-jobs-test.3.bscr delete mode 100644 win32/tests/four-jobs-test.4.bscr delete mode 100644 win32/tests/four-jobs-test.5.bscr delete mode 100644 win32/tests/four-jobs-test.cmd delete mode 100644 win32/tests/hardlink-test delete mode 100644 win32/tests/incremental-2disk.1.bscr delete mode 100644 win32/tests/incremental-2disk.2.bscr delete mode 100644 win32/tests/incremental-2disk.cmd delete mode 100644 win32/tests/incremental-2tape.1.bscr delete mode 100644 win32/tests/incremental-2tape.2.bscr delete mode 100644 win32/tests/incremental-2tape.cmd delete mode 100644 win32/tests/incremental-tape delete mode 100644 win32/tests/incremental-test.1.bscr delete mode 100644 win32/tests/incremental-test.2.bscr delete mode 100644 win32/tests/incremental-test.3.bscr delete mode 100644 win32/tests/incremental-test.4.bscr delete mode 100644 win32/tests/incremental-test.5.bscr delete mode 100644 win32/tests/incremental-test.cmd delete mode 100644 win32/tests/lib-tape-root delete mode 100644 win32/tests/lib-test-root delete mode 100644 win32/tests/migration-job-test.bscr delete mode 100644 win32/tests/migration-job-test.cmd delete mode 100644 win32/tests/migration-jobspan-test.bscr delete mode 100644 win32/tests/migration-jobspan-test.cmd delete mode 100644 win32/tests/migration-occupancy-test.bscr delete mode 100644 win32/tests/migration-occupancy-test.cmd delete mode 100644 win32/tests/migration-time-test.bscr delete mode 100644 win32/tests/migration-time-test.cmd delete mode 100644 win32/tests/migration-volume-test.bscr delete mode 100644 win32/tests/migration-volume-test.cmd delete mode 100644 win32/tests/query-test.1.bscr delete mode 100644 win32/tests/query-test.2.bscr delete mode 100644 win32/tests/query-test.3.bscr delete mode 100644 win32/tests/query-test.cmd delete mode 100644 win32/tests/recycle-test.bscr delete mode 100644 win32/tests/recycle-test.cmd delete mode 100644 win32/tests/relabel-tape delete mode 100644 win32/tests/restore-by-file-tape delete mode 100644 win32/tests/restore-by-file-test.bscr delete mode 100644 win32/tests/restore-by-file-test.cmd delete mode 100644 win32/tests/restore-disk-seek-test.bscr delete mode 100644 win32/tests/restore-disk-seek-test.cmd delete mode 100644 win32/tests/restore2-by-file-test.bscr delete mode 100644 win32/tests/restore2-by-file-test.cmd delete mode 100644 win32/tests/runscript-test delete mode 100644 win32/tests/scratch-pool-test.bscr delete mode 100644 win32/tests/scratch-pool-test.cmd delete mode 100644 win32/tests/six-vol-test.bscr delete mode 100644 win32/tests/six-vol-test.cmd delete mode 100644 win32/tests/small-file-size-tape delete mode 100644 win32/tests/span-vol-test.bscr delete mode 100644 win32/tests/span-vol-test.cmd delete mode 100644 win32/tests/sparse-compressed-test.bscr delete mode 100644 win32/tests/sparse-compressed-test.cmd delete mode 100644 win32/tests/sparse-test.bscr delete mode 100644 win32/tests/sparse-test.cmd delete mode 100644 win32/tests/test0.cmd delete mode 100644 win32/tests/truncate-bug-tape delete mode 100644 win32/tests/two-jobs-test.1.bscr delete mode 100644 win32/tests/two-jobs-test.2.bscr delete mode 100644 win32/tests/two-jobs-test.cmd delete mode 100644 win32/tests/two-pool-tape delete mode 100644 win32/tests/two-pool-test.bscr delete mode 100644 win32/tests/two-pool-test.cmd delete mode 100644 win32/tests/two-vol-test.bscr delete mode 100644 win32/tests/two-vol-test.cmd delete mode 100644 win32/tests/two-volume-tape.1.bscr delete mode 100644 win32/tests/two-volume-tape.2.bscr delete mode 100644 win32/tests/two-volume-tape.cmd delete mode 100644 win32/tests/two-volume-test.bscr delete mode 100644 win32/tests/two-volume-test.cmd delete mode 100644 win32/tests/usr-tape-root delete mode 100644 win32/tests/verify-vol-tape delete mode 100644 win32/tests/verify-vol-test.bscr delete mode 100644 win32/tests/verify-vol-test.cmd delete mode 100644 win32/tests/weird-files-test delete mode 100644 win32/tests/weird-files2-test delete mode 100644 win32/tests/win32-backup-tape delete mode 100644 win32/tests/win32-to-linux-tape delete mode 100644 win32/win32_runscript.zip diff --git a/DartTestfile.txt.in b/DartTestfile.txt.in index 450106f..6ffa05c 100644 --- a/DartTestfile.txt.in +++ b/DartTestfile.txt.in @@ -83,7 +83,9 @@ ADD_TEST(disk:scratchpool-pool-test "@regressdir@/tests/scratchpool-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-encrypt-test "@regressdir@/tests/sparse-encrypt-test") ADD_TEST(disk:sparse-test "@regressdir@/tests/sparse-test") +ADD_TEST(disk:sha-test "@regressdir@/tests/sha-test") ADD_TEST(disk:strip-test "@regressdir@/tests/strip-test") ADD_TEST(disk:2drive-3pool-test "@regressdir@/tests/2drive-3pool-test") ADD_TEST(disk:2drive-concurrent-test "@regressdir@/tests/2drive-concurrent-test") diff --git a/Makefile b/Makefile index fdccab1..a77ed3a 100644 --- a/Makefile +++ b/Makefile @@ -9,28 +9,25 @@ # Then edit config and set the value for what are appropriate for you. # -first_rule: all +nothing: -all: - -setup: bareos sed +setup: prepare bareos sed # # Some machines cannot handle the sticky bit and other garbage that # is in weird-files, so we load and run it only on Linux machines. # -bareos: all - @rm -rf bin build weird-files tmp - @rm -f w.tar.gz w.tar - @cp weird-files.tar.gz w.tar.gz - @-gunzip -f w.tar.gz - @-tar xf w.tar - @rm -f w.tar.gz w.tar - @rm -rf tmp working dumps - mkdir tmp working dumps +bareos: prepare echo "Doing: scripts/setup" scripts/setup +prepare: + @rm -rf weird-files + # ignore errors + tar -xzf weird-files.tar.gz || true + @rm -rf tmp working dumps + mkdir tmp working dumps + sed: echo "Doing: scripts/do_sed" scripts/do_sed @@ -47,6 +44,32 @@ full_test: root_test: ./all-root-tests +DEST := $(DESTDIR)/var/lib/bareos/bareos-regress +install: + mkdir -p $(DEST) + # directories + rsync -a configs $(DEST) + rsync -a data $(DEST) + rsync -a scripts $(DEST) + rsync -a tests $(DEST) + # files + rsync -a \ + CTestCustom.cmake \ + DartConfiguration.tcl* DartTestfile.txt* \ + Makefile all-* \ + debug do_* \ + encrypt-* endtime experimental-* \ + make-ctest-adds misc-tests \ + nightly-* prototype.conf \ + rtest run* \ + startover_libdbi.sh starttime tape \ + weird-files.tar.gz \ + $(DEST) + mkdir -p $(DEST)/bin + mkdir -p $(DEST)/dumps + mkdir -p $(DEST)/tmp + mkdir -p $(DEST)/working + clean: scripts/cleanup rm -f tmp/file-list diff --git a/README b/README index b262eb1..c6e9690 100644 --- a/README +++ b/README @@ -1,51 +1,79 @@ - Bareos Regression - Kern Sibbald +Bareos Regression +================= + +Origial author: Kern Sibbald This is Bareos's regression script directory. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Warning!!!! Make sure not to run it on the same system with your production Catalog because the tables will all -be cleared. You can run it on the your production system -if you use a different database. E.g. if your production -system uses MySQL, you can use SQLite here. +be deleted (dropped and recreated). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +bareos-regress package +====================== + +When using the bareos-regress package, +the software is already preconfigured to test bareos, +provided by the normal install packages. +The Bareos packages include a package that provide the required configuration: +bareos-regress-config + + # as root: stop all running bareos daemon + + # switch to user to bareos + su - bareos -s /bin/bash + + # enable debug output + export REGRESS_DEBUG=1 + + # run a single test (and verify that it ends with "OK" + tests/backup-bareos-test + + # run all disk tests + ./all-disk-tests + + + +Local Build +=========== + +get sources from github +----------------------- + + # get Bareos core + git clone https://github.com/bareos/bareos-regress + + # get bareos-regress + git clone https://github.com/bareos/bareos-regress To set it up, create your personal configuration file, by copying prototype.conf to config or simply editing prototype.conf directly then copying it to the file config. -cp prototype.conf config + cd bareos-regress + cp prototype.conf config You must end up with a file named config in the main regress directory that has all the specifications that correspond to your system. -If you are using SQLite, make sure that depkgs is pre-built if it -isn't already: (cd your-depkgs; make sqlite). - -Note, if you use any database other than SQLite, be sure it is not -your production database because Bareos will delete all the tables -and recreate them. With SQLite, a new different database is created, -so it will not affect your production system. - -Using the .conf file, you can now select between any Catalog type: -SQLite, SQLite3, MySQL, or PostgreSQL. Be aware, however, if you -use an installed database on a production server, running these -tests will delete all the tables !!!!!!!!!!!!!!!!!! I run my -tests on a non-production machine, and in addition, I normally use -SQLite as the database, while my production uses MySQL. +Note, be sure it is not your production database +because Bareos will delete all the tables +and recreate them. Then do: make setup -You run the above one time. This will build a Makefile from -Makefile.in and your xxx.conf file, copy the Bareos source, -configure, build it, and configure all the Bareos scripts -and conf files. If you change your source, you will need to -redo this command. +You run the above one time. +This will substitute all variables in the *.in files, +copy the Bareos source, configure and build it. +If you change your source, you will need to redo this command. + +If you only change some bareos-regress *.in files, +only a "make sed" is required. Then you can run any of the tests in the tests subdirectory. Each test whose name ends in -root requires you to be root for @@ -54,7 +82,7 @@ test. Aside from the required "make setup", each test is totally self-initalizing and should clean up after itself. All the tests expect you to execute them from the main regress -directory! +directory. Running the disk based tests: @@ -92,7 +120,7 @@ or all non-root tests (my normal testing under my account) ./all-non-root-tests -or all tests (I only run these before a production release): +or all tests su ./all-tests @@ -117,22 +145,23 @@ ending with: and it is assumed to be mounted. -changer => you have an autochanger -Adding tests: -If you want to add more tests, do so by putting the shell script -in the tests subdirectory. Be careful when adding (or better not) -new clients, pools, and such to the test-bareos-dir.conf.in file -as it may invalidate a good number of tests, which respond to -questions by answering with a number (i.e. the order of the selection -list is known). It might be better to add your own testb-bareos... -configuration file. +Adding tests +============ + +If you want to add more tests, you can start from the example tests/1-example-test +and follow the instructions in this file, especially about where the configuration comes from +(configs/BASE plus individual extensions). To avoid re-doing a make setup if you have made a change to the conf files, and you do not need a new copy of the source, you can simply do: make sed -Debugging failed tests: + + +Debugging failed tests +====================== Prior versions required editing the tests/xxxx and changing a debug flag. However, that has been replaced by two environment variables: @@ -181,7 +210,6 @@ In shell window 1 (ignore the error message it prints complaining that the daemon you are debugging is already running, which is in fact the case). - That is all there is to it. The debugger window will get some output and will stop waiting for input if anything goes wrong like a seg fault. At that point, you can enter commands. @@ -190,9 +218,11 @@ The procedure avoids modifying the test scripts and trying to find pids and the such. If you want less debug output when debugging, don't set REGRESS_DEBUG=1. -=== -Also, if you run from time to time on a computer that is not connected +Troubleshooting +=============== + +If you run from time to time on a computer that is not connected to the network, please be sure that "hostname" is set to "localhost", otherwise, your tests may fail because the hostname used by Bareos's ./configure cannot be properly resolved. @@ -223,34 +253,3 @@ free_addresses(dlist*) + 53 in section .text info symbol 0x8082d58 add_address(dlist**, IPADDR::i_type, unsigned short, int, char const*, char const*, char**) + 568 in section .text - -Testing a Binary Installation: - -If you have installed your Bareos from a binary release such as (rpms or -debs), you can still run regression tests on it. First, make sure that your -regression config file uses the same catalog backend as your installed -binaries. Then define the variables bin and scripts variables in your config -file. - -Example: -bin=/opt/bareos/bin -scripts=/opt/bareos/scripts - -The ./scripts/prepare-other-loc will tweak the regress scripts to use -your binary location. You will need to run it manually once before you run any -regression tests. - -$ ./scripts/prepare-other-loc -$ ./tests/backup-bareos-test -... - -All regression scripts must be run by hand or by calling the test scripts. -These are principally scripts that begin with all_... such as all_disk_tests}, -./all_tests - -None of the -./do_disk, ./do_all, ./nightly... scripts will work. - -If you want to switch back to running the regression scripts from source, first -remove the bin and scripts variables from your config file and -rerun the make setup step. diff --git a/README.mingw32 b/README.mingw32 deleted file mode 100644 index 037549b..0000000 --- a/README.mingw32 +++ /dev/null @@ -1,44 +0,0 @@ - Re: [Bareos-devel] Win32 Regression Scripts -From: "Michael Short" (Securenets.us) - To: bareos-devel@lists.sourceforge.net -Date: 30 August 2007 04:09:00 - - -Hey guys, I've made a bit of progress on the win32 regression scripts. - -In order to use the win32 bareos regression scripts, it is important to have -some unix tools (such as sed, grep, and diff). To make things simple, I -downloaded UnxUtils from http://sourceforge.net/projects/unxutils - -Extract this somewhere on your hdd and add the the files in usr\local\wbin to -c:\regress\tools and then add c:\regress\tools to your {$PATH} on your windows -box. If you also want to make use of the shell (from unxutils) you may want -to add the ./bin directory as well (or just copy the sh.exe file to -usr\local\wbin). - -Now that you have a working toolset (with sed) we can continue setting up -regression tools. Compile the Ming32 version of bareos (from linux) and then -copy the entire source directory of bareos (with binaries) to somewhere on -your windows hdd (say... C:\bareos :P). - -Copy a version of the regression scripts ( from regress/win32 ) to your -windows hdd (hmm... C:\regress ). Edit the prototype.conf file and set your -bareos source directory ( C:/bareos ) and your e-mail address (!!). Run -"config prototype.conf" from within the regression directory to configure -the regression scripts. - -Edit regress\scripts\install_bareos.cmd and replace "COPY bin\sqlite.dll -bin\bareos_cats.dll > nul" and replace "cats_sqlite.dll" with -"cats_sqlite3.dll". ( FixMe ) - ->From the regress directory, run "make setup" and the script should copy the -binaries from the bareos sources and create a local bareos testing platform. ------------ - -After the "make setup" all the configuration files are blank, so you must -fix that before running the scripts. - -With the above, most of the regressions scripts seem to function flawlessly. - -[KES] The ones that fail have probably been modified on the Unix side - after the port was done, so they may need some minor updates. diff --git a/configs/BASE/bareos-dir.d/catalog/MyCatalog.conf.in b/configs/BASE/bareos-dir.d/catalog/MyCatalog.conf.in index 2bb2feb..d9404b7 100644 --- a/configs/BASE/bareos-dir.d/catalog/MyCatalog.conf.in +++ b/configs/BASE/bareos-dir.d/catalog/MyCatalog.conf.in @@ -1,7 +1,6 @@ Catalog { Name = MyCatalog - #dbdriver = "@DEFAULT_DB_TYPE@" - #dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX" + dbdriver = "@db_type@" dbname = "@db_name@" dbuser = "@db_user@" dbpassword = "@db_password@" diff --git a/configs/BASE/bareos-dir.d/client/bareos-fd.conf.in b/configs/BASE/bareos-dir.d/client/bareos-fd.conf.in index 04da745..557261c 100644 --- a/configs/BASE/bareos-dir.d/client/bareos-fd.conf.in +++ b/configs/BASE/bareos-dir.d/client/bareos-fd.conf.in @@ -4,8 +4,8 @@ Client { Address = localhost Password = "@fd_password@" # password for FileDaemon TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = client1.bareos.org } diff --git a/configs/BASE/bareos-dir.d/director/bareos-dir.conf.in b/configs/BASE/bareos-dir.d/director/bareos-dir.conf.in index 807b738..bc29fd2 100644 --- a/configs/BASE/bareos-dir.d/director/bareos-dir.conf.in +++ b/configs/BASE/bareos-dir.d/director/bareos-dir.conf.in @@ -1,5 +1,6 @@ Director { # define myself Name = bareos-dir + Dir Port = @dirport@ QueryFile = "@scriptdir@/query.sql" Maximum Concurrent Jobs = 10 Password = "@dir_password@" # Console password diff --git a/configs/BASE/bareos-dir.d/storage/File1.conf.in b/configs/BASE/bareos-dir.d/storage/File1.conf.in index 40f0a14..b399d0e 100644 --- a/configs/BASE/bareos-dir.d/storage/File1.conf.in +++ b/configs/BASE/bareos-dir.d/storage/File1.conf.in @@ -5,9 +5,9 @@ Storage { Device = File1 Media Type = File1 TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Verify Peer = no TLS Allowed CN = bareos-sd1.bareos.org TLS Allowed CN = bareos-sd2.bareos.org diff --git a/configs/BASE/bareos-fd.d/client/myself.conf.in b/configs/BASE/bareos-fd.d/client/myself.conf.in index a6bbff5..2823ed3 100644 --- a/configs/BASE/bareos-fd.d/client/myself.conf.in +++ b/configs/BASE/bareos-fd.d/client/myself.conf.in @@ -1,5 +1,6 @@ Client { Name = @basename@-fd + Fd Port = @fdport@ Maximum Concurrent Jobs = 20 # remove comment from "Plugin Directory" to load plugins from specified directory. @@ -14,9 +15,9 @@ Client { # compatible = yes TLS Require = yes - TLS Certificate = "@scriptdir@/tls/client1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/client1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/client1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/client1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = bareos-sd1.bareos.org TLS Allowed CN = bareos-sd2.bareos.org } diff --git a/configs/BASE/bareos-fd.d/director/bareos-dir.conf.in b/configs/BASE/bareos-fd.d/director/bareos-dir.conf.in index 2557b10..3d37ad4 100644 --- a/configs/BASE/bareos-fd.d/director/bareos-dir.conf.in +++ b/configs/BASE/bareos-fd.d/director/bareos-dir.conf.in @@ -3,8 +3,8 @@ Director { Password = "@fd_password@" Description = "Allow the configured Director to access this file daemon." TLS Require = yes - TLS Certificate = "@scriptdir@/tls/client1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/client1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/client1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/client1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = bareos-dir.bareos.org } diff --git a/configs/BASE/bareos-sd.d/director/bareos-dir.conf.in b/configs/BASE/bareos-sd.d/director/bareos-dir.conf.in index 6e75d88..de8cc29 100644 --- a/configs/BASE/bareos-sd.d/director/bareos-dir.conf.in +++ b/configs/BASE/bareos-sd.d/director/bareos-dir.conf.in @@ -3,8 +3,8 @@ Director { Password = "@sd_password@" Description = "Director, who is permitted to contact this storage daemon." TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-sd1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-sd1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-sd1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-sd1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = bareos-dir.bareos.org } diff --git a/configs/BASE/bareos-sd.d/storage/bareos-sd.conf.in b/configs/BASE/bareos-sd.d/storage/bareos-sd.conf.in index 5efba41..105d729 100644 --- a/configs/BASE/bareos-sd.d/storage/bareos-sd.conf.in +++ b/configs/BASE/bareos-sd.d/storage/bareos-sd.conf.in @@ -1,5 +1,6 @@ Storage { Name = bareos1-sd + Sd Port = @sdport@ Maximum Concurrent Jobs = 20 # remove comment from "Plugin Directory" to load plugins from specified directory. @@ -10,9 +11,9 @@ Storage { # Plugin Names = "" TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-sd1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-sd1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-sd1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-sd1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = client1.bareos.org } diff --git a/configs/allowed-jobcommand-test/bareos-dir.conf.allowed-jobcommand-test.in b/configs/allowed-jobcommand-test/bareos-dir.conf.allowed-jobcommand-test.in index b1c5e40..a266d0e 100644 --- a/configs/allowed-jobcommand-test/bareos-dir.conf.allowed-jobcommand-test.in +++ b/configs/allowed-jobcommand-test/bareos-dir.conf.allowed-jobcommand-test.in @@ -83,7 +83,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/allowed-scriptdir-test/bareos-dir.conf.allowed-scriptdir-test.in b/configs/allowed-scriptdir-test/bareos-dir.conf.allowed-scriptdir-test.in index 53a83bf..2ace39c 100644 --- a/configs/allowed-scriptdir-test/bareos-dir.conf.allowed-scriptdir-test.in +++ b/configs/allowed-scriptdir-test/bareos-dir.conf.allowed-scriptdir-test.in @@ -84,7 +84,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/always-incremental-test/bareos-dir.d/storage/File1.conf.in b/configs/always-incremental-test/bareos-dir.d/storage/File1.conf.in index 509366b..9b9d531 100644 --- a/configs/always-incremental-test/bareos-dir.d/storage/File1.conf.in +++ b/configs/always-incremental-test/bareos-dir.d/storage/File1.conf.in @@ -5,9 +5,9 @@ Storage { Device = File1 Media Type = File TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Verify Peer = no TLS Allowed CN = bareos-sd1.bareos.org TLS Allowed CN = bareos-sd2.bareos.org diff --git a/configs/always-incremental-test/bareos-dir.d/storage/File2.conf.in b/configs/always-incremental-test/bareos-dir.d/storage/File2.conf.in index f4059ff..9345088 100644 --- a/configs/always-incremental-test/bareos-dir.d/storage/File2.conf.in +++ b/configs/always-incremental-test/bareos-dir.d/storage/File2.conf.in @@ -5,9 +5,9 @@ Storage { Device = File2 Media Type = File TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Verify Peer = no TLS Allowed CN = bareos-sd1.bareos.org TLS Allowed CN = bareos-sd2.bareos.org diff --git a/configs/bandwidth-limit-per-client-test/bareos-dir.conf.in b/configs/bandwidth-limit-per-client-test/bareos-dir.conf.in index 42e0df9..6f85a05 100644 --- a/configs/bandwidth-limit-per-client-test/bareos-dir.conf.in +++ b/configs/bandwidth-limit-per-client-test/bareos-dir.conf.in @@ -84,7 +84,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/fileset-multiple-options-blocks/bareos-dir.d/fileset/FS_TESTJOB.conf.in b/configs/fileset-multiple-options-blocks/bareos-dir.d/fileset/FS_TESTJOB.conf.in index b2e8aab..2087352 100644 --- a/configs/fileset-multiple-options-blocks/bareos-dir.d/fileset/FS_TESTJOB.conf.in +++ b/configs/fileset-multiple-options-blocks/bareos-dir.d/fileset/FS_TESTJOB.conf.in @@ -27,7 +27,7 @@ FileSet { } Options { exclude = yes - wild = "*" + wilddir = @tmpdir@/data/* } File=@tmpdir@/data/ diff --git a/configs/quota-hardquota-test/bareos-dir.conf.quota-hardquota-test.in b/configs/quota-hardquota-test/bareos-dir.conf.quota-hardquota-test.in index a91532d..f6ff6b8 100644 --- a/configs/quota-hardquota-test/bareos-dir.conf.quota-hardquota-test.in +++ b/configs/quota-hardquota-test/bareos-dir.conf.quota-hardquota-test.in @@ -89,7 +89,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/quota-includefailed-test/bareos-dir.conf.quota-includefailed-test.in b/configs/quota-includefailed-test/bareos-dir.conf.quota-includefailed-test.in index a07ba43..c939168 100644 --- a/configs/quota-includefailed-test/bareos-dir.conf.quota-includefailed-test.in +++ b/configs/quota-includefailed-test/bareos-dir.conf.quota-includefailed-test.in @@ -101,7 +101,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/quota-softquota-test/bareos-dir.d/client/bareos-fd.conf.in b/configs/quota-softquota-test/bareos-dir.d/client/bareos-fd.conf.in index bdc0be5..333894c 100644 --- a/configs/quota-softquota-test/bareos-dir.d/client/bareos-fd.conf.in +++ b/configs/quota-softquota-test/bareos-dir.d/client/bareos-fd.conf.in @@ -4,9 +4,9 @@ Client { Address = localhost Password = "@fd_password@" # password for FileDaemon TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = client1.bareos.org # diff --git a/configs/rerun-test/bareos-dir.conf.rerun-test.in b/configs/rerun-test/bareos-dir.conf.rerun-test.in index 49da5e3..f84b0ab 100644 --- a/configs/rerun-test/bareos-dir.conf.rerun-test.in +++ b/configs/rerun-test/bareos-dir.conf.rerun-test.in @@ -99,7 +99,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/scsi-crypto-test/bareos-dir.conf.scsi-crypto-test.in b/configs/scsi-crypto-test/bareos-dir.conf.scsi-crypto-test.in index c67ff76..cff16c6 100644 --- a/configs/scsi-crypto-test/bareos-dir.conf.scsi-crypto-test.in +++ b/configs/scsi-crypto-test/bareos-dir.conf.scsi-crypto-test.in @@ -239,6 +239,7 @@ Storage { # Generic catalog service Catalog { Name = MyCatalog + dbdriver = "@db_type@" dbname = "@db_name@" dbuser = "@db_user@" dbpassword = "@db_password@" diff --git a/configs/secure-erase-test/bareos-dir.conf.in b/configs/secure-erase-test/bareos-dir.conf.in index 5aa5ba5..269467d 100644 --- a/configs/secure-erase-test/bareos-dir.conf.in +++ b/configs/secure-erase-test/bareos-dir.conf.in @@ -55,7 +55,7 @@ Director { # define myself Password = "@dir_password@" # Console password Messages = Daemon Auditing = yes - Secure Erase Command = "@scriptdir@/wipe-dir.sh" + Secure Erase Command = "@confdir@/wipe-dir.sh" # Enable the Heartbeat if you experience connection losses # (eg. because of your router or firewall configuration). # Additionally the Heartbeat can be enabled in bareos-sd and bareos-fd. @@ -112,10 +112,10 @@ Job { # This creates an ASCII copy of the catalog # Arguments to make_catalog_backup.pl are: # make_catalog_backup.pl - RunBeforeJob = "@scriptdir@/make_catalog_backup.pl MyCatalog" + RunBeforeJob = "@confdir@/make_catalog_backup.pl MyCatalog" # This deletes the copy of the catalog - RunAfterJob = "@scriptdir@/delete_catalog_backup" + RunAfterJob = "@confdir@/delete_catalog_backup" # This sends the bootstrap via mail for disaster recovery. # Should be sent to another system, please change recipient accordingly @@ -250,10 +250,7 @@ Storage { # Catalog { Name = MyCatalog - # Uncomment the following lines if you want the dbi driver - #@uncomment_dbi@ dbdriver = "dbi:@DEFAULT_DB_TYPE@"; dbaddress = 127.0.0.1; dbport = @db_port@ - #dbdriver = "@DEFAULT_DB_TYPE@" - dbdriver = "@db_engine@" + dbdriver = "@db_type@" dbname = "@db_name@" dbuser = "@db_user@" dbpassword = "@db_password@" diff --git a/configs/secure-erase-test/bareos-fd.conf.in b/configs/secure-erase-test/bareos-fd.conf.in index 7d709f8..ffc0f1c 100644 --- a/configs/secure-erase-test/bareos-fd.conf.in +++ b/configs/secure-erase-test/bareos-fd.conf.in @@ -12,7 +12,7 @@ FileDaemon { # definition of myself Name = @hostname@-fd Maximum Concurrent Jobs = 20 - Secure Erase Command = "@scriptdir@/wipe-fd.sh" + Secure Erase Command = "@confdir@/wipe-fd.sh" # remove comment from "Plugin Directory" to load plugins from specified directory. # if "Plugin Names" is defined, only the specified plugins will be loaded, diff --git a/configs/secure-erase-test/bareos-sd.conf.in b/configs/secure-erase-test/bareos-sd.conf.in index 14a90e6..d8f0040 100644 --- a/configs/secure-erase-test/bareos-sd.conf.in +++ b/configs/secure-erase-test/bareos-sd.conf.in @@ -13,7 +13,7 @@ Storage { # definition of myself Name = @hostname@-sd Maximum Concurrent Jobs = 20 - Secure Erase Command = "@scriptdir@/wipe-sd.sh" + Secure Erase Command = "@confdir@/wipe-sd.sh" # remove comment from "Plugin Directory" to load plugins from specified directory. # if "Plugin Names" is defined, only the specified plugins will be loaded, diff --git a/configs/sha-test/bareos-dir.d/fileset/FS_TESTJOB.conf.in b/configs/sha-test/bareos-dir.d/fileset/FS_TESTJOB.conf.in new file mode 100644 index 0000000..834115c --- /dev/null +++ b/configs/sha-test/bareos-dir.d/fileset/FS_TESTJOB.conf.in @@ -0,0 +1,10 @@ +FileSet { + Name = FS_TESTJOB + Include { + Options { + signature = SHA512 + } + File=<@tmpdir@/file-list + } +} + diff --git a/configs/status-schedule-test/bareos-dir.conf.status-schedule-test.in b/configs/status-schedule-test/bareos-dir.conf.status-schedule-test.in index e158255..31e5e8c 100644 --- a/configs/status-schedule-test/bareos-dir.conf.status-schedule-test.in +++ b/configs/status-schedule-test/bareos-dir.conf.status-schedule-test.in @@ -81,7 +81,7 @@ Storage { # Generic catalog service Catalog { Name = MyCatalog - + dbdriver = "@db_type@" dbname = @db_name@ dbuser = "@db_user@" dbpassword = "@db_password@" diff --git a/configs/subscription-test/bareos-dir.conf.subscription-test.in b/configs/subscription-test/bareos-dir.conf.subscription-test.in index 1deb2b8..33a55db 100644 --- a/configs/subscription-test/bareos-dir.conf.subscription-test.in +++ b/configs/subscription-test/bareos-dir.conf.subscription-test.in @@ -100,7 +100,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/configs/tls-client-initiated-connection-backup-test/bareos-dir.d/client/connectingclient-fd.conf.in b/configs/tls-client-initiated-connection-backup-test/bareos-dir.d/client/connectingclient-fd.conf.in index 44f0c6b..17a9dab 100644 --- a/configs/tls-client-initiated-connection-backup-test/bareos-dir.d/client/connectingclient-fd.conf.in +++ b/configs/tls-client-initiated-connection-backup-test/bareos-dir.d/client/connectingclient-fd.conf.in @@ -5,9 +5,9 @@ Client { Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" Maximum Concurrent Jobs = 10 TLS Require = yes - TLS Certificate = "@scriptdir@/tls/bareos-dir.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/bareos-dir.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/bareos-dir.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/bareos-dir.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = client1.bareos.org Connection From Director To Client = no Connection From Client To Director = yes diff --git a/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/client/myself.conf.in b/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/client/myself.conf.in index 9b94ae9..7bfa6ca 100644 --- a/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/client/myself.conf.in +++ b/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/client/myself.conf.in @@ -14,9 +14,9 @@ Client { # compatible = yes TLS Require = yes - TLS Certificate = "@scriptdir@/tls/client1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/client1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/client1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/client1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = bareos-sd1.bareos.org TLS Allowed CN = bareos-sd2.bareos.org } diff --git a/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/director/bareos-dir.conf.in b/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/director/bareos-dir.conf.in index 953c281..5753951 100644 --- a/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/director/bareos-dir.conf.in +++ b/configs/tls-client-initiated-connection-backup-test/bareos-fd.d/director/bareos-dir.conf.in @@ -3,9 +3,9 @@ Director { Address = localhost Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" TLS Require = yes - TLS Certificate = "@scriptdir@/tls/client1.bareos.org-cert.pem" - TLS Key = "@scriptdir@/tls/client1.bareos.org-key.pem" - TLS CA Certificate File = "@scriptdir@/tls/bareos-ca.pem" + TLS Certificate = "@confdir@/tls/client1.bareos.org-cert.pem" + TLS Key = "@confdir@/tls/client1.bareos.org-key.pem" + TLS CA Certificate File = "@confdir@/tls/bareos-ca.pem" TLS Allowed CN = bareos-dir.bareos.org Connection From Director To Client = no Connection From Client To Director = yes diff --git a/data/flat-c.tgz b/data/flat-c.tgz new file mode 100644 index 0000000000000000000000000000000000000000..19028121d23bc73cae8633f5166e1f5f53a2d295 GIT binary patch literal 14161 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%0AqH>7mVt{;?9wgAAVY9!Vb`uSQko8E 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

aN*lc}X{@&gYB=S{m$# zK=IVZOa0Tvm)1#`DAg|Dp^fGs1jd@9DK|dXU(1iJlcw`i7HoBzg!83Xt`?%^hsFTI zR~AxgeF#^(*-LojAXfiWf4O#T3=Q6t!^WskjB>FvEF>$Rn!^$#mc^sP7G)}QPy<3w zu)@^ff+GD}>pMNZvUV8#f2B?)+k~G-& zA?6FFm;_&1CfN6<u~hLdUK;1vg;-f-W!NLi{tB26QPK;S7gYY@CBGVm zBq@?(P@c~rlSP=8C}pumT^9%7L{}*vQnT}1$5_Zrz|>Lsx7NDWDPd?i*jmsi^~*0$ zI&5cM<^|kWH4Z6T-$9iP)*f=wd6-8t+b`ph<1-@cxH?c-^eGiQ0ai(^GV2Y@(6nhU zvQO2GQ`aHfRiZ{k+HMmtA|keGg?LYXuK}X+4yAZM2L<~HV;eeEj;k@G!A>+E(7iez zP?$h3#VT8F0&48cvUG*__W7v?2?23*_xI6i#RR=UuVdQ-zdA3hUCeS5)d68CLKded zKzi^g+eDujBhc5b+h(lG%Dj#Q%s%f31gb(pet_LE)?nwRr=-UP$tYj^jZm8Qni*ky z)Of*FnH(5K`67!qOsw367>m$*`1I9HZl-D9w~z-s3Xt$A9wi-nHL*#wDG`?SC}oQL zqG$pdS#W)-EzXR%<=QVqRdtxA{Gu#Egq;*9#l}`lX{f~nE0bSmsj8sxg;UB-HSJ$hKT>h{xbH0Eb_D&)m`+ePJ>j$ zG>tgFYRi_&b59Fz%MQ>Yi}`*Ea;()Hh@S8^@CRhzFp?8en|F~MHb{;SB54$=0xwjG z1$A~{?B?%9xwqgZWu`)`{GmmZr{qSbuH@6 z($MGCW-rpb0P7^Q>xj3jH9e%m2_9k7>|Kb3hKfaM0-$;OxYyDbl`#Pj1;ASj2{Q6a z^O>WKNu>?;WfZJ!$Y(`Xu49ZEBkF2bo1Imf#aOumF%fE+7k;Hd4s&d2auclM1zG#M z+T@_p&ZL&HeOg%=dK)OwPiSkODzBB0b7I>G`>n7wQAnql+Ho;~U z6!4k3uul18iju=TlzW?R;wXc(Ep~<$yETXCS;SGZGvkdM1N`tcHyW1su5S zM|R?ZvbRn{hXPR}Ic_QtTBTF>w8;DL{OLoJ1H$Vc81eSKyKXFkcylLx17pMUuJ{19oIFb-&s<2q%090@K_X@2EEt zMw&}?C%1dwYiv$kQwgi5?7|l{cGu!-GO!fl;xA!MhydbHDhKe9{OA4N=Ubn<9yF7I zb5CnpSZ7ZVf+jw$qU1i9CfOJKuboLwT1A*XMxie}AMFm)Qi`eu@T<-wwSGmD`Q3-7 zudh#LI&P*I8Y78nqEJB%T6G0SR??^uei>}i0!#r?QAMT&02cDE6rEhgBcj{vSM}Al zS(Omt+8R?BuFy!vU%#Pz6oa;LjuX3&BYvl6XdrvdS%|waa}$<3gU^XmN+>>|M$+Gx z)BeOYn_5T0DH4oo8#tX)h|#NL^wUycHFTQnKJ5(BJYj7?ECl^ObmQAq`8RX6q(D(w*s^S}brhp8E{^DY<;Pf%1w#QbQ+>5cx3yH>$Hi_LM@(CI{OSd6ojoK0 z;tf$o`!uhmg5;>@wpOU>3G7%|K*D^2yd2feCCF}x*`<`NdkhVfuWvCDlCYU5^2+4) zGFV3{z_HpsYXan$#|V_?_OAFiWb{Pr8sq`+ zsUC&~a}rUBeHVL7MnR-+2AMsVYmA=0j6(J+j7fvKZdhT4&5_cvhE{ha` zmEiQePmkZBIrJ5V#x8aGR8*M~X81X1TQ$aF{wuqcSV$&w4A$ZyUTY0n?yo=BaRdMh@fb zh2nA8bO@lbMq~o7_JpPvI7jD@paQLfoH`a_Sb~3JECv_Vu`@KTLU`ml19%T{8B{vu znD;A+iZKDFtj|YKSkr~~@buNAXWWXyy;-dpI`d$^lP)-QU*$sHd3KLSJ^Hy*$ij>1 zrnrH;)+#UbsvOhsK_YwGV@D(#g{AcS-PhZNkLYJyRvnkgcs3=UPmFpk1dhofDOTQ- zkH35T_Q`X3+}!M`H|f!XGZ|W*JB>M#;nT0j@QjWdhsp{b)_(A|TKGDSWGp=;0&@9x zpl8|EQ_e(ioFj~zj@o9|0n8!f$ya<`Y(SV4Zjos;Rx95jvEl$OP{|N11{y&aizqG6 zbG|wes8{mP1jfTE0bV0jf`26kQK{F;&{T9465S1q^N7zOZLPQn5>B}ror#r>N@jYB zm4bQk>Z|oe<8PlL0W1<&MC)8#gyv9O8pGFpVr~X- z3JG5guFSU~(HQC?Y}nG-RX(w?F(Z{&k_{{{2}?U;>%9{j@Wpn=zu5*~esD0-*F`w7 zxiV>t_D3+;Lt($eX3g1>oWO(UZ!jPSF59j?;)ww5tKdSH2d45xhc!JIk~+3(hIj2S z()=46@lBBB(Z_j?85;eOi)di`-779^|uc1mBH1ZPwvhaQ5XkM z292vWgZ8llD$zq7Z!Q#!8SrsFAvvzBl?P#%iAGi{)(rcf8Xe0UR#GFWZ}#R%yKKFQ zyKV|?!!;&}a6mUt&1`MyH-57>Puk?_P26=;XzRm-Byt+%xooE12kJL_^R)H4*2G;m zg|kr&)Sh8{Yver{5~*_$W(;CcFtt2a;mW^bO174tlCym?LTJssk>mU_`dsL))Qvn0jda%rfq?ppC6pWWjPFD?SUa3U7wJ<7AYS z)^$dC49s;|<*i(u*?x~a$Wbbrb`@Fh9ztrC7*|sbi#e)lLY^f)I7|2Js<^^@N>M5n z3ak)q+4!wgZsP!9@Oa=;kB79u@K!DZUzO8N;0ps@LISlZKl(@663Wd6RT}HG0tDo-a~MF*gwdP&JSBy^Ms|mnkpKC-P2V5+y^` z*xl$nbmbdUT>AMZwztngM9pIWm_qFHJv17o zHD#{O|Hy?9j`V@G9C3O?DN{7`=2+6WtvhkuC99gm&LmLVB-yP!-WsfoRlMBZNXO`^ z6-XZHH}Y`b1G+*dWQ0t-rYopf!dtn?4p^@A)eeLi1P>JK7Eg4b6XWb#HW8b!Y~i|< zVLG7<35w`B^bq9Bc(aMZron*yd7Z97G;@SkkL~1O9|raNNS*GCyiD-}RRu3W5L%uS zp{2GX6brtv161_=*b$Z5V8}iYnxV54W)Sf1mj`ggMAXkee)%gf20r|hDR)02Qs%ll zf0hClHU6L^=K+lI3nc%_8Dm^$#wYa%pS~d@)pyC_0^&fz1J)Co?@^qm313|;t7`1q z2T4>^=j3s$f=?C(FnI`qgaSd<;~1mmx|P2DV5!xn)5&Aqr;A7+>po?){YA_T&r!jl zDbTkT{zLm1@iM+3iG+_5KGH+iKtHZ=G?_RC%h0K>q(OIAmHnQsjr^FWWywX#vst~z zPfle*D?4)&jM%XRS=Za{`=n-V1c!D?)$SM>+MrH*Uf-svw}z?Xx2hw+0DUZDy({DU zVZLMMQkgQ^?)Fi<@6Za>7A zA=P;m714JMheG?SRpO`|MHn;Z$^#KOtS8R$t7RUEq*8g3))d39Q2w*t3*WRVorNl4 z$x;E7GoF=+OtPz26rc<)S-H4ihmQQDv{fN!@YZ+5@N(EV#!6!3{PCuF>FoQ?aB#^L zzvWaogU@RpTUn%y;--KVr58N3*WnK8FlJXT<Na>!9gx-Uw-qd!lw2;tTK8GLLZSv$cKfVu}X!k;k&k zN&-~nMsDB9E{m4%(gqN)xP58oS=4S#k&ZGJ)dCR^URaOBRW_ zOhfT=`x2L3z<>}x)XhV_CK)iqNYv8xzO$~ouycX*#(n!xZe;w+J+?66A4&tp*@h1u zs-0G6Rb=a78^L8!{VQv5iT{*N3im$i`=q|3IQAZY4%VQ&5qx}@2O^P6bL1k`w_f94 zXDL`@BnU4xKak-gP-=l9n%3IpMdKr*-RVSFp0I3o*tqej-}k|K$=yA!CD$KJtNUK% zjtqyih?-~|<(DaLb#gBRq1xj-)Ue|o=!^5L_INNDQ;#8!Q!sO%{V^Gk|F+N(u9Zs4 zi5k57d~mNhwu3>>B2)YQ89la>eqE-%)kUkVV)a7+27kV!V8~rEbuhFXN$g_UqnXlJ zr=o1C#{)^#?!rGP2w;%#JNzw)^NUD^e|Q-8RT)yz+Us;5r)wb+V$m9t13R-d*~dsW z20#zaep(MSy`k>k$e;SEyO|bk{hCZ|^EaXAZ|YC<$;nh2BZ4T27m=M(EtJ8eREyu> z^^T4((^=`V|ywFdd-|Lc^X#oo0k+ zJ;)Niduts2skn7_oU{L(!vFX^_}{w|{9k-hy|8qA-^RCZovhiA=9`WMW_&O;g7M)o zHay@0{yD+_oi=V+U0$|vEV3hOk4HXvJ$V>}-VuMvcH1=cUh!tj$vT`WLC~M|dLBXJ zj<=5ai5_I<0Nzsd{^4g$x_3ON`dVHtcGb@;d>GXg?0jsq^k6O$b^q?j$jGvnW=euQ z1@PHN+^}VfEf99E(m{v5nzDW!$&UTdiOATu z5K+p>32Vb>*(K^m(}7;}S(N4;kLW%2o`xpkyNKoG?;Lv%qdim!H;b9o8`cF-Y7L8f zo3(9yZL_yN*3k^L)}I4365Lz3*f(pi)#$u})<9R3dSm;+F!uXxWO=MgccLOd#YJ=6 zM)QJgVF8$scc;9LgA|^!OTw4Gf@QPLLQt}!EGe*L2xw-csC>#{O3ZhaLk$i8MJ;&m zL0PaDcT8Zh`{H5`oG1qzxAIe$uNp7aW4QJsol^mFj$^n8DaXST)b&0n(8Bf{A!&{* zqMkR9hU&8bLAB~%I(Zi-q?l%9Mc47UbgyV5d#7GG&Mte0=;N%$luw6@JyHNJoE=%9 zP_e}>+sK*6qd03f%hxHlp0^->pdmqAJ1tCIFwgoIx?%2-K4F(xAF|rQMMbW=} z6J!f;2(GZ^AEVV_)TblIsP_lXQ6Ek1zX8O%bJVMvNqy9HfzM7uE(SRFWT(}3Y9CTQ zgkHDd64kWn;TrnRkJ&|8`M#lU0GqTTHiJm3`>R96BbrRlm44k=#LH->BoSTLN`jN!m-twuHp}wG%LN1Y_X4r4Te^1^e$*)8V}EG- zNtkc!l`c?)6PW8Va4Jc8Bv>qb!94Z^jG;_hfgz|yXk$2sTw4 zmI!H7?UNH_)y_CC%=ZxyZ2zwO4;^#jiX5?b?d3q1 zgATH0{7fmmmfIBnVzeU1foj3YCY|!t!seSuBse^J^6~MTH?Q7YgW(TsO~J&froijh zf%9?Sa36uHVN^Y6=&`x^>AI13vN$5^7Q)H1_=Vq<^VTZ>*)sp)s3I-lb!CI zv3?-uWElf4KmJP;{!TmfbZYPE)Y;Q1sRfCi$}%>wyh~F34S9dV+RUoJB`h}=wDveO zd)#&&`QyRZ+T%$>X{hv=#y%E3Ud4+j$s_EstPf{)TKwKz$V+^EH;-4W%lOv9(rNi) zmw6oyt-YKMUA-LkTrk2?w8AC!|8aBMA55Ah_Nr%A^{|?wIq(r^#E&owApff871zK& zeo9wdL6sK=xNw{+-Iyb4LUDM7UiU|y$zU?|OlZsUV^vWAOaM6~`Ejs1!L-qWgQuD4 z7cyLnbTH7HXaTk%SxjmXBu<#zTFv97wdOI!*o-67yITUcum|f~`Dg#k*uD z#Fh_hNt%qS><`F8O4I;{y0^S0y)nJr=G0!tn&P4|sX7a=n@`X>QjdoU+@ksgL%p>!n_l1)-t10TmsnUC)aN#A~$=LyBpU7?G>=on=^@J#G%Sg z^~2Kp4O;`*Z#^|&@K5ou`syc5gYCX~%9akkD+=P&hU)X8HdIxXXl_2|&X2Gk`Qjp4 zL+-BkhtpRtJ-)px?fqkYzOY!ZVE9Pwxq6gVEgs$2n_vFATg27f$yV!KVsEksA_Dm% z?vQ`A??Kk+rTiz8%&AC4kQMwS-llagBG87n;jvjrk}VL-vT|<8?e5E;w@edR!Hof& ziA!&>4|2pBfWN?934TU#t(vv&R1r0Z$z5@jZF8oE0i+oM+``XWg+9-IY`XZ_g;>u_maU@zbp^0@Gnol}<1bWn)pP?l zn!7v&i*0pWo|rx~kM9R(L=_+22;07Sx{Bm~dH5&y zGJRj%mA|foI5}EuHsFC$mj(%fvANi>YZqG{*^b8fpaC}GN>t9A-38;cV3(RYy2hom z)1zjm{bBRju!@N!ACIPuXQSDGcs6Oo4XUA>+Q(55rH9gDp^A9=1a~ht4}-dz`8rGU z{m(yn{MuOGV@!W}hiRmO#6z|X3hmZpv{R$Kjh}ad7gsOY07(}xe=ZOL0uwsXnsEHQjfBVZ^wzGAQ_PDuX$23$T z8~ztU&2Wsp(&Nd|R1LInHR)4I{m>`Z{9x8|h>xL&wIO~Q`D53P=!>08{x(#mYw+x< z-~d^*SXU2*q2V!1H6R-9^hd`q77teDfV5gUm@O~Xz@l7{W^FlQQ}PN1yC#YuqSyNq zGWzI&_Xq+S&d|^Lr*FKJ{sk^u?AIXEQw+KE^0A3}GhdCG;o;Ol2kje4;6Bo_3aZq~ zr4IiVNCIMgi_xhM0L4WN!4+-GQo*%jKHDnBMPK7Z?u05g#`5PQ>>9qolzKXzQG(O& zHCMHQA`84E+Cm7)hV@f8JXOjRw+A7QxsDK`0O$d6Ni?hV63Yy=<8~XHQ5dhI&u3_!F=X!8wP@iYosZ z+j<4EkAoasgL4`v#l<-U8Q`T~L=atTCK^2fAgn8QhQ`!}GpgF3B4Yvss=)AC;+3`4 z);-*~-FvtX%Cn%c(o&}U>?B;@5&$s48*E(G5Esk=h4i88n@={xeudJKO9O$4$IUSAsh7K_qj7imWNLNM`Do{lc z!&xwpQ*b&|r(6P~f{wy3ToeHqcHPI0!#$cb`#S8?eWgnca8}qk`gQuq8@^KC#?71c zWJp^mhGSB0eg*ZK9u4n-Sv8xrWo}|_$c8L?c?;QIM7U{7Ovd62aCf5jI*Kw;cJt3u{(31i+F>1eW?TpYsZu!jG{oj6t|^i9ECdp6Y%A)JEUdnpJm#oO(V-> zGNGq^M&^ukx*Bv^*4^#}U01e_upRVmMig0qUbJL7uqC7gr#lM zGj6|UEuA%NX?A`_wou?v--SO4SsZ$>L9nkrMKxirj-gFD&u|T0GQE__V=>vOR??G8&}LQ5#Kb4`5dlu>w7CJ!tt}*#umoj;>oI(pF?}3CsZ-hNvINWn(IVs|qoWxb6k7EYs?LYmC)%JT z!F)w16UI;wsD&K7SHwQ>cP+tWCP}+Y=Fv>;tGmLFoe+(V$WOc+Bc4gwZ*C+0UduKb z4$1Qs301>I?Swk**P#h&qjQhgKDO*7Fq+f?SGkF&4!U?MFJg^cdXxNgXraTl3fJJ!z5T`-Bn<3t zIbwt+MGz-YEq+zR8_2kbH(+NF7cnPjwAr*#g{0netwnSXnLZCNDO7!#U5QToI#ISF z7VLJUol{87_~(^r%_<#4YhNR_?~V{lIa*wdyDpQO^E5-Ld(`nN>rVzFL+C$v^jsl& zi@Zb5#F^;1bh-tf*y6%uS11Sqcj(P3C}5`?al22>euOK^0h|nb1}FdbgST(r{2h5Q zN5#PE{<|?WHW9SM+A0DjeX85pq9=e0z6h2DrqlAG9k{EbwXv<8yLvJuA*0|tU<-7U zLgoobn#~5nq5(dcIP21IlWyZE{PLd=)JMGQAU`5WqRF32K_HK?%|wcCmG)kWG-axT z=y92;0BtyVnL4vCe-|YYW*P%Pd7cED{DSFZN8SmPHp%XDi^(1S&)fNT_nYwH*n-e? z*713;UB=MZ5d!RDh@EQ11E8YYvDu1)ZD(dBDxjw{_bNAzR7Uy1c5dO?&C|%0>q9aF zMmt_6hV^-I{HH&GCEgkdcV)gvwb;a*f1O1eCV!u#8Be)!0@PbywsSBZHLfu)Q_=Gk zJLIA)=SDBI&z|$40-;h}cMZ>j&Nf{kZy{SjTQtn-kqY=oMavE&HF3=#@Uji~VW_Rk z;FD#$EL-iU6$QBrr>ABBk;vKNHOs-ej8^$0?>)yC;r4m>Mp)N*v;l7#uuYsDFw%A( zaDns)06;l{!s&@~ZB;(ldt?E^3Ms3tLqNU(j<`%eMbRdu`$YFJ2^~S zn~iCEEc=1n0{z)+h*xQe=3q6i4NXi1{&wrCpG}A44}D=xXyb;w)Lo62eoq&RQ@U6^ z4d#y2&Tc{%>-%&z89(q4&0Co)3{-F8=GBV*Z4#xiAc5$XDbxTJbRK=)9PxkEX~KnO z6)o^G!(Zg@RbRIgr(II*VgrSo(8XdfP2@c6>F+L2`h6#;gn1|kW7N%6I5D}HsY}b# zH6J$2a>t^Apt~juTcsDU5G=PM2{>()ApHTIFIU$LnJ9%sif*bQ^|FJ3F-f$h8>$97 zD2S2#POF9Lb2l&5i}^ZO9Lc&86qbd^CKPAQ5tA>~L30*Ak_i+T^?{%7>*MIE^ikn@ z*5sP5K2o37Te+4=?=kh-gZdWdfHdfyV==D4;wzPKjUTIwYjWm!g;8)&nRhgKE8=!k z9t9|CkqW~YAayY*vGdAAmp>9_1AS9>3Ts7sGN7JL)k3tD7nL@G!)kgOWuM%YJQXJv zWW5&x(RQKJOX7u5P__xl1kpw1LWXt&+_p-?hIlMo%Q^5 zo1>X+x3%vhOYGQ3IPow!sS#r@e;PI+?C?MG_wkI#V3I#hbXH$2S4qCn7tx89p9ejK zl4_(Z&4WU`07-u0?rQtJKla<27|^m_`U+L_ttkFU`U zWIUa=joD=E?y*iDW3MpvVRv_(vaOP4_uwDKi*&R(WSl_CpBaA16H(+y+)-BUX2jLw zRRl2eo-BPN;v9EOlfl8kIH)_d{ID-SxI@RPV>cLB#%?ldfC^RD4BC$2ha$E0A(BMk%rp{u8$X-3svKw>at9I6AHr8go-?C^2gPD5|j{I(m z7GEULZ3?zzH|U4u;m0C0!CbZ;ATBBBB;lS@xu{LpRNBpwFGu-i#Rdv1__ozku^N;5xLbpLm z!dVUy%(z-v0L2CL>BrSNobxM|oj;9sD{fscP98G7;ZvNY$r>^7sWk}bt^mIafH=IG zgDlqE&d$^YnX1_VWe#{*2OB^;vhz`|)!9}wy3WtcW$K~$`J5q`5v85q6iY5Ak6=km z*YlGXC#clTAt#=^GBlWa80>dKi@WbKF4Wobd#-3OW2gYbj4k*r*uCKXo8$rF!#WmI zoI?TmkhT^y81Y^H3e5-_ik`!)#Y{!a5&@qDL-jSssqar5zYeAyW;agqh>al_K!D?$ z8o2&o=;CZVbALYc$F5%|t^$N|*>bw*wCSb z+n;|dmgNC!wsI3{Ozm*!{(R(jlcHG!OS*f94jb2M26BVPUWbEF3_1HUZ(<6C3CGeYqRSUMb+c?l7k7QGMhogx0?7QUBeTMtl~c3?38csd6wzP;|Hr$boT zm_>PRvCiSUJX4V={TsI>&LB)$32TJUQgFF>t2kM@s2f88g+ahr4xa$nNjGK&)(Wi# zGvJEt$i;TI#2}RB7d8%PlMS}}AX{8OXaL&R@@2f)&{bl+S8K4Hq+S3YY!ToQGz}MC zB9bPJf7s$1s7#C&BH_7C&(4n2wP)w#=1sILISwm&*@7d*-;$T!YU7LcUSiu%a42?& zVY5JVRd4}Z#Pb+b{*DZO2(@e4dx%wZs;|W@ZVICW>@9hG#+nd z79U=+WpzVneTS_lJ8Yk|!&c!AlHM$Jo{XN+2aGIF!RG6{xPTr#i4#D`eVUx5-feVl zhP<5Gp#PoCjUJZZ?n&7+SH3p9n-C>}Jrb>0*`#p-j8li*Fij$99VEca83Ay|xXD;T z8@x3agCPw%% z!hyNft?FIk{8pB@bSCX!Zi?NS*F9OplygaQJJx>jcS$5|NHvdd)1_072FW)d%cCtH zOyo^$OYrJ+0unTMnwY-&m#G3}F`PHcXqU4oWjf3}f&)+>37}OEUy?p4Nb2TsSO7G_ zdO%=#mRoYGv(m;*pSKFs~l|p2|LjsE{lCSXL{dHA(;Q65xpGo;wkjNG%U73wx>PCCbx9$ zkvg}ZgMzVgZGL$(*X7uTCWX}xlDqm`HkMw;;k)y%-ePZeA8!_X_uWbUpWaFRC)Z)tSycAq7SYv$W1sXV%nBZ-iB& z!8Q)bmD5}lY**a~XRM(%j>sEegCiO7coR(3Lj79Kb>H_%0nuQQZ|xi55Swb@YBsW{ z?qfP^`80}_BCb{F1&QTW{Td2pmLR?sJd>AwGUqq#B=Q_!Pxm`;WwTb;#htR3C zD|ZTZyur<=c+&)c9~t*uqqt&UF5_d4 z;I`deLb(8@0`uEtj0LNiPL;xWRqWjCOa@)q0S)hPmei%Uoh_Y&U!5rn^%4wbubw=C+YS~uU-NsNCHlP4l#sTS9-fFK7#QvRxTc!GKfn19 zEK@MEgBS&5s$*w2nDCTML*}8`dS^BVGdr8y3UVWy4#yOyf=q+11}7i7_KM_vZLOCp$oSXR8Y z!*JyY4#o}+-caOkkou5VJF&1LLm6$Jpt%V$CIpLyi&mM8Wda{arPHVZveYDNL?G44 zE_i4kN%J*-nC-kW+p}W>i=ntzt*lqj{9$DKVLGz6HfyFgucc{Aa(v9e4=apA6e$Nr zT*Y~@lP_m*?Qn5FX`To+dY;JW$fM$Bh>r)Pm*EdcjA^)K9^rrgi1Bc@^F}71^Q>`2 z&b&@jaJn$0-+lljBAYqTm}Sk{QT1fhI_jMuu=$xm6h4Sbtl^VwsbF{S-+{u5L=UrvzyqC zvwpKkD>Wt}Hu~=|Bs15hh9G@@iUlCBP_eFXc589m^pipzwaw2zv7O?V`u}pSorslfYw?S>cW!jd>FGrHaqhP*6&V@K8xc9d4Y6Y)%J|_I0GcCQ- zINHYS8nf$9Tu`#|^x`l8D*pDU67$YZuE0FGm?Qu&Zm8Na5BAD=&}FjxX_vE5&EAGD%mj>Xf?OLYkI(OPB#G0XQA)w1SGiV&CZ85$9U&1e*?Vwjw zr?a8%VQ~?QnM*q|JsUPJ652tALLo2X0!=6(U2WS*M>ABOHoCFD6*x=y(lu0!_k;}-bZYKYExlah+n6(Mp=1Ysx!F@9sPtc zm_@osSDnR4Z!o62I;suan=o6RN4v*AWT(g#yTsQxsx@R5WvP>YB-2pMnj<0!;f#W@=M8*~>Cdb}~RXlg`?`xatsjrhH zmtX?U;Doioxex^DLZ(1GO49QDf(h{`lI<&mPrxGJl$l89(!NC}H%N}h);^MhCqTv+ ze=DP-ko?+RIqOfRhYf6l-k}3aM~>77R;*)Ue8n$neA_NPh9cVYuQ0$>PPzAV zc=|^A;CP^4D8(53tBBXpVFae86VO-|lw55t3Sw^X;-?_2n5yjs>O-&s@q`h;#(Th) zx$#Sm6-Tj&dE_zO#^Z&wz}+KXqbebE=;LHa_K~iIdWxyN0`!is7ro2M#RXH7Wyze^ zOflbP!2(xbxAivjrzArf!CR7l^~}3_mt8EgMCDFkARDX!#`EH$66YcLkl&^3hkf+r zuLygH0p(%333z>i(%VCQ&PeW=zx`#~f$@HiX1r;=)jcq-{3;|a@*arFLQxm0^!!aG zmf?a8D8?*z4$$5lqF^0&;f0>MY4cwC>tFv`Eh8?{*b~hT{4506`zXWOYjEqtcUrj^ z&|J(K3+Rz3`E>nB7#bvla1AB7+2xXAW7P92t?`&^jDr{xG}O=2p0T<@fcWY7iUS`2I4!`^WVJ6EIJQtyOskQIpUd!*})+Q!>;&*X8 zz|i#Q77*+>2AspOiN`|>p6}Bw7;j9RKlin}A5;K&|E=bRI3zC<*$QpNoJkXgWiWCA zKWHcsc47Fw3|6@tJtPVCTb>tM)-XdHy!iw2xqw)5a>mZGe|~%l*TR>t2+j_5k(*r6 z8D4Pw@X9P_akN5jn~n>>stYBA&@a-=9#dgb8M-XTHS43uZ;&v1j&r^ zb($0xclca_twzTAD>9wh9gQ6ALQ`hbotvHb&0tl7>(K^P+Y!Ab`S@i10^!-2O#iJ-w6hQs<^nMc_@ z)*id5=OEVaU8K3wo2(h?)5#+I_Q@{3T4w>?9&rQ?R1yB=R{pQB0pa<1{0Y(L0cxDv z9N^blK=I=@Z;rk92vGw;JKXHH6!7H1Vs{BovDL)TdP2|B7(oOQq}nUEm!f)p;*@$(MFLI2_lGwbE!!MFbr_X=JAu&AQ^aZu0itPqu5)=5#WynS;2<{ zzlRc_KmX|FWZ1?DSe38J#Ul9f!!q5*g`0~3ozIIgsdqT;1N%SNE(&uIKfNblQot~9 zp4F=X#6_^a0|s#(%*S70XAN6BfI9s1kBH5WONn!9bjQgpUEYDIdQeA4amYBX9A@ly zVNnYz1E*4T>)vgXBIyUBD4v~lA-Us)GyyfrL3Btx9*$f#3Ga_lHcwUWEAs(v>A*p5 zOp|k&2P))P*AJpcuDRDd3Wj@?aLJvO376Qrw8VHSSW?2DTip^_n(u%9iN~+9<-|T@ za+p0>GQpJn{3Bblizwd<@Uox(!?nf)06*dWL2m@2CHdcZZ`1Sh6&z*Ng>beC&h>kJ z_1-5jTGii~{`@8a=MdIV0pk#cRPnoJuHPG0-g_Ms7tMD@-+7N$@fy5?Y_pb3h^kaE zy3sNH0p0qgXa5F@_o!(YrH!n-zE9*d)9WzPWry}eFz+Hyxu2Y zS18rBw+FUCX}&r%Uj>)$12CF5-y7B6lcxK|n{4{PXLfsVmwlukvx)krGOmQ2+n0Ku zR1m+`Qhx+wQQK`@?bTPU3tqq0alum`SQos0x!Zy#-nTAz;$7>4x3p_r@Rs*&3!Zr0 zvEb=JAs4)U)xF@W?|sz;KUCV^DL-b^5yO?=W6wCnc95yD=lYyDQet?)+BkWvDdkRv zzvDitYq$@Cy(%<<6$UV$Y0b3=tV`lNvuHrcD(RQ6-gYAY^6BF%upk16346B(0Q z$gA3h=FN+L$N_tCGHO&4w2~p?fnQYxL1P9xwLR{WT{vMI52EJlxnl3~5-)h9Z_H?Q zM%vU-hG0|#eHgG_WN|HM^HkhNbiM&Ya&R0(C7%&7i^U2 z8pf9C#Ut|?Qwul~5bm*bPVR&huEeaGC-{+l6t=sZ-O4wN^1oMD>d1{xJ)Tx-%;?9H znWdfCa6&!yd%Y3;d^okV}Nv zEV;CPijb?$PGaB+T2U*hNyQ=_IGP(54x)-J&-+s!b`lrvLgrFX|6MqvV=(DCK_y$x z2Zvi-2Rp9_mXLT1S&B?~_*J)waz-FDC(6|Ct+vuG!5;<-GuK%{PRdu{Vn#zez0OMX zYE&;RV(giu<FwJ^4cnyiED*@v3UpKmHnE>vXSUz-NpWV~%vPQpBpHTdt=uTYaQvY!3kX-fSw6qX*o!n@Ox8N*jIDNtLB{c zyM|oa0tCW}L}Kc6&YedN|1ZH6?IO0Sb_dRbKX4^YlWN@!U-*1Wi4&XdcA!x4Eha75 zdR-d?-|=%{8WiXMFtaFN;PQ`sOXP z)4n$Oy5Viz_glAh8+FIL9551eR#atrq{5Q(RGR>t>hX%>Vg&g`Wu|udzQnMqII0-e zyuDX0(=UHcVk~X757xUSj}urs*`u{{HA9r2siR?r!+P@wla5wEzds`HF1`rUZo>O* zf=tY2E2l35&_;qAVY7pZ4vK$nM#z?jhJJazFlpuO*v8NGs;%^0Rm zRyKC5l4JDE|M=$B^2mD%w@1u~M++<9>wtwn@q!gpHrjE>I-Z9s8s$D1ta^7AbS|GPjOo2Z2QE8j1OhM@}y-Ei3G91fn*uaHjZUxelw5GM1hEJ*z1W5 z^u?+y>~bTUwCpQ`Yoq*83(IiepJ9kA+gOWcQ6^qX2)4{B-YQT`G{*AAwu^lPayh!p z_ki{H!2pXZ;K5SdupFa2HXKBkDKD1nEOf22q|Vuu`%)<_*cG#H8e;6G%*vYU38^kT zXY!b*b~9-mb0#5mln3E(Bne1SXRn+hWX%0)Ht8z}AP1&o61c$s-v{jc`}f6u_vHss zvrCv1;;7k}jbl=Z@ihsHEjSP2gtHG`T3jzR=Wj(lhTJl?&zB{j0TLh4Z1nr&X~>h~ z#RgH%ZVC8Dup+YM`C>HloLwJVSeh6fAp?`%^hK#`*5SYgXef*j!gDSG9Ylhw2SN9M z{v=R|*J;RRPDqDxbDjlZ1hI)39HZhL@K17FYrrSi1mdeMLSW$QG`a{fx)8DNEaGK- z;3zB^U4^pHsm&oBtWcH8pQ=*%h9xqTO0KNi3JQR^I^nsk4J98TQ(m-lojiJ@=~<1v zCRo5L#0AI%J_5TvnT=Z;*4VtF;b!{1*?XCOUk{u$8XVOcJc*%na>QCSn0=GPi->c% z?ZD-Lw7J+5>BB4M(rcPSmx~K(9YIBA1VO!(e|Icmy&je^J3(HZ9(&b4@@4TFijw*} z@LH%}Ab$3A3(C%GdqIpo%Bo}P1uj*ZRO&4>cvVd57mn!`xa(o6Hz|vxY7&uSRSN^ScC`OvDu5Z7vAb$kBMH?^q%Uv zG058 z_Mys>i!3jQl#i5nfys?!wkse}CKC7a9a}KRMo+kcR9i*I)lC2|+{7xfNUEvJ66lmv z)H?caNkzTTSyFvPL3A^6=D*Oy|Cf?8Us;TF5)Ta_KnjfUxJ6*V>%TeU1*X85$!j#0 zMU>z1R95nU<4@$?xq{dI##`sBD1qA=YpfC9`^}uS`+xqIXgE>c>qr)3WZYaJHgyrAJ3HyQ{Ln9>EvD7hLqcI>p$wh0sX>iYHp^SmudZqNu2?mUfD(x7 z3vQaBYIQX#$MTe34P4j7iZB_FrZ>K1^5SF6hSFn~Kv2z(Ao&P$y7-)#XqqzRZ6Cs>EN0vI^I!HI6s`J^XoH3 zo68i1Jl;3fRLer=pImF9PlpXg0>tj%jL>xX8zx-`1)UZ>Bitj*&LjsOk>bzW=%{8zlQo+7-BIC zy$C>&2-eXjuF@_*_hp@MhYs)RmKR$1wIgCx{0F3{_*!Qm95GaZ7WKew|d1M;INP zW?n9}a&`w;qNqd%G9KD&B!B+V+iKttK$}Bs5srJ&EDNWZG?5Phf*$-VU@C3ZFdE4% zIyP{{6>Va0*vo)_&*MrA+jO3xELOjLxes)2UqHwJum}haHH_ce|jn)mEXLaGud~R+>hTPDc&42Jt9xAclk$}eD^k+TadzpIZ5brh^Q#HKe z@(kdvUA~)|-$^VWB>Z-_u>-T|7G}!pCdvXnPTa+S)u(-@)qyoUl~v&6#*z46+zu3j zCGL)AFAb*`X}-*e#174gvwkq+WK!d#YN4nGv3g4>WPw zG}17!D|*Up%0U5F;d#UhC?LKN`?oP5e9%P{8~k4)7JH}t)u*rZtfPJJ9ad!$Gr?gV zfhh8I|5kYiMne9h3$1~>=A;-_B;;X5DCo1f4yqLjg%iCDmPHw?*c>OZo_0}Q@~DXl zY_Kynx;r4c+o@A6hmhGRJd22|1hQZGGDvt0H>OaXLza)|8+jlZ{4{awa5hE!qfQU5 z_wc$wOvX_~u58PR(rvd4$3|cug2A6%g!7LV(P{%1T!8Pbd`P|Gyrw>o_fn}b;P@Oj zLcQed$T14!1+;XnHBqs}UPT=P<zj(&RhmGJGVY0!}O6AOP@TXY9h(iw~I^zyLgf_~x z0A;YC{^?FQ1zSL_EOKJycB_^$brE(c8eK+@VB)ayM4Fcox$Bwi88#GDE^52&{4pIL zMmO1AJv9m*j$BI+YY7PDNMW7ok_O`N*9Y;h>T1behx`ltQ&S}or*~sm&3cSeTYP<0 zb%T14?1}ItLLKF&8mjX()T@L{JEpcQb_=k%@xWjR49p^=#TG|P^)bm(zt=<=f1DIi z<|WZqDkhL9QbDWY20Szn?6-i0$koQOfmmfy>bqoDLrFBqi&3fOJ5>6|cbm5Kfv8)waHb+MtH_br9lAokPgk z{nf8rsqJQ)V_U({@w8ek+96|kjdp|!@eu~f=5cT8!m3J zr^zF}9IXoYVOomG#*ow}UId@xb-DI7aNdh4167y}0u(UlxE+QgI&o25dDNh@BRJs6 zIKf7Zd0sBq63EZW)oMp3emN+QofUv8svtW?D&&u^uLhdxl&-~SXaWk(KgVD@Oji2S zH}{0@(?Llaxcc{0RDEYcEDIKJ2(uAgun~hc6wv^v(xow*9x-XsD z*=R7SJQwx4#X_ja2y--w6bir86s~8IBsf$UQ{{Q=radLCRHsoA!qf`2PMYQUp{czY z;%}YLuhGn9OO!-wBuPtZ;Tmv38wpICh$Yo>vEl*R-z~ zH^17TOr5wxoD(#?q6QkF{%NS4kY}{H$PiVzjbCv8C3ueWWNjLhQY`w9CmX#1=amN#xq!@z9G&%ThSWl(no+vuWJbNxD>zv>{ zpVv7_u|}P^>93NbOszfYoI9Nf11E&VN94jrSTbR7uyE_<P$h#iLI-i-FKF#GBg)6wEEa$2s` zhtq!ZDk52s%!PdK)}pbmz@<@fm3@nW`#KUGoT?rVoQ^$D(^h`~oY|}X(f6=UT^%;M zdjIDCnB3f4i}qeQQ_^qU^@sVNid%Q5@V|o){_5l3#eb^D!5Ci{!w>kY-@{iYx(T;D znoeE!Mr6i=hCIfK=OGXBf9s6E&tvu+eq(IFKPULV)7GPDHtctn6ztXpQexEWb(IS< zU1yGo*XkbW+J@irolZX{E>p~|P7+bxw5Z2(i4s^)xl5MY*?B4H+N)9~b^#)-UQL5x;~=yS9v;WX>fFGvhjJn$H-C`6^v3 zqmZ}>q+xDU8e6W)1-mNdQGQ9^6irG^tp+>>3P!@9CPrTP(2w;5I0=lJM^Tl)%@w+@ z5pHVsK$xAQW~b)6FF)+u?KBHrigwb>U>CF?Zys*zki6B##?9h+&{*K{EI@43KH|a# zBlE`Ge2<$V0Z0kVgz(B4_%$lcBD_Fl9zlu125dmRLlQc`y@V#sC1h-0cAMbIpms8< zOf;gmaW#A=@i^V2T@syQqGB_9lkT|~N6PFbBS^ySoN#|vNl*LMU%E3T!!-Gg+QFH8 zu@h&cbZS!VJRu@W|}wC!(gTa)K{Ee93Xi?Wr#S)R2XqM|PC6EHaC6)xF3M^2){<{4KT zoG+BS_6r<3%5L|4g#kB<^*DJCAggUCO zFF4a-DvhJ3%OK=dyyGqhjqeQ2qdC2mTbMmy-ySe4&YBnI&HHY@$8Xv|1})zVNWV#&(l2a8 zGK&m#HDN$OFl|5JzOR2%HaT^h|2N|z&i>9_PSV!*Z)#Ejk`f%}=AVD-&dS(eHIT^XT(?s1Xlw0ULH+osR;8Ri_-iqYv%}@LfkI)&uPiy zB1Jqd)Aax_5z=}i85OCaQsbP=YjZL=Q+rFY2O|_pdk|^(VE>;Nf3_Hnbn|_^Uv$n4 z>mGzGF8~Ug+e#mvzJVlpo&}dC?EEYn;SU0X6+O1_`4VPHhDe{M_qM^8zrtU5V>-)* zyfB19$p2ajKLW%Qrz zyfHa6J^oK5PY)GK^F=QFF4$xt|u_jGW z_BQ?orU6}*NHKR_hZty~ay0?6E3^h0bQpsC#1A~Q50FNSO5`8As@%@MgXD#WK^|E* z8tk$RqUs>A#?0CmCfs{6KKqg>6RfE{0hCeY(iv&{BF-_JSi3Hk(T=T6DhU-)T^Va-MmLY!bza&TdBZC%tX zr>b^zaLEoy=;Ea(GU;~mOGr>y+U`asC$kzS1Z8=!22yp1!kURga?~V_!_H=6nMGgz z%x2=}AECzk&p$eun)Rwv5U2&h*WJmD6mR(Kr-JR#QFh!fw%Q-*=haE1~x7^FIQSldke#L z&H%cvvbtDD*y?i2o>|l7QlDxWb`)1996G_(Q{KfJo9R()4?^^!qRJRBM+%hXuo4v` zH{T}u@8*1>53=83Mc(n_YqT1@?K{3LQ_Yr+})H zb(`IIHbHUm-LWGNlHXi!Lp>@{`e_-%2M&VMf#nwi8j!PsbH%Pjcj|ia9phB0Wh6bA z?4&GqV@(FtAK>Yt?ulF4P-h*6PATx2y);mU1Y2qAuB+Qp*q-t)(#NgyJjTOwGY)2Gu>(#5kYpeiyjF_rn zW$L|aPW#la?fz-LkZhxt6Xw9gJ(pC<8(@W1-4C<=$-=f375cS3j-2mykUu z1cu}6-eHb96BI@PDb}(K&=jq6Yql_fw(&ok(u%x4BI06YEH26F0daAfz6G>YNz;R* z=zHk$mmk<=u4eueIQnf%bVkGUc4FqndGSprrePuug_?~Dxw3P}ns?j;fYSKk<0r4) zJm#7Au!ZnW!L@v*iZk91Q^IF{O%udMgWUUP_UG=47k5uiyx;%+_{EFk(^HSs3Bj=S zlegv9Ot!UbUpjc`s}r8O+gggqA9Ass(J9oz*M#s7SA&7=Dkf(moBlf+xoq(~$vj=) zLI@!w4KW&Tg-SQm35k;3tENL6Jk4ynrr!g26RR7sN0(0jC%nsOthpn4ka>iTy2sSt zbkXhEv`5A;sn{`@$JR|S$D)+-_!Rg!^-cdU3zq7roCkZb|Fhfjc?#!c`=0lEep3Z` zDI~pN<61a8pU48w*Mr(?!YB2DV}#}i&)miYjl9kHC`4vz*~H7Oxxxwr-RaO{2xP2T zK)4wMbNRL9L)dhMK|u=QI{>*M#9@>P*6wh_L~8mu!ILkbE;nhO$E+V*`n>?*$(DSy z+VNt7SyV7Nih055Dqg^Cu}q}M2TEjc4);Pbo#-+O(MY^1=S)KX{1aFYgs}m=EZBiN z!jG%ROE@Vx>ujxHB~bR&-~N(u__0Jew7CRhH-<~B%aU%=Fr5QJg>rfVqVa*AAy_#$gc@Ovw)Y--qnK5HG=ROHdeIY5B)S11?TSq*c7(;E$6$ z!u0DnVN(DL2RVid<2uNe0y!Z1Tma$)+aTng6TbbJt(=1C?;tH8N|Sd2Bp;JUJhzHH zj+X4(V7ag)6PbM&J4d^v4=zq&L?y2v3lz6)EDeTaDHnd^p9@?WVILC5Jf)q86}U;~ z2nHAjj&GdYxUA{2$sjuiOsa;zL1YjUG-O*`O!3eTtCNz28YL)JU~@sZYyiG3w()i-eZfqq~B{YESRjL4ZP+n=pgD& zI>Jg_ACrc6!x}@-jU-C;Eyp#@E*Xs}j#+i=y+BD9SyBelEE z=2*r?^(M#k5O#H$GhJ%ut)n2x@kCvxp>XwHM6z*y(m&#A9@^Rxrls%dGUhErKbfk4 zm!jwkyf1%cBgt9@V>Y{l@#|=%@n<~RjonRu^1wh_>u}% z@{U*LqALhUb))_?f7rLG_d~im0jy0hGYLn$@V(y>_-;*<^1yqIeq;z7lPuiXe!3)hh^W^?wGb)2(S&1enGhccq*Pnka8S`5Q>}Z>ZV8 z57%eSG;zGuvyG^~w^=RChWgHM0$E2gzxfn zj+P69AX)>#KV9%^y!ZI?VpWDN)TTb@OWflc-$xTuxFe%r9m1j0^05Y*tufyL>ch2HWf8aNU3?BJXIY8Oe>9*mYnNZeP-Q z?T!{F4l`4guV$6<)YdMeNWie*Bvi_c z>V{M#{f@(Slwbb5!9p{33VtWNxqrEp|0}<^!{6?B58!JrSgg=jTyl#|RfaypPXlda zcC9hLPlKDck{5W&P4W&}L)S@5lk^trko)rw>?8Z1j~kpV#O585r-ZzqpFDlz@t4KT zD+iop00m*|CxohfUcQVs8zy=kU9FL%fxHhO$=WFZgbQLBI*?~0y@84_m0h5mT}I9` z!nV&N@8rSD-#vcw>fNa*O~K!M%FYvLCiiah${dh>xmtK%q$g zgNL{`jh65mXbr7AqOtnN7%Z8VV46N>3IvaxO-%=Nl*K6o>A!@bU2zY#mtSE0Vv$3N zU%h_w?&V|I?K>h^9}3~J!!suu>^8dotQoBE=pu!;Y8>=34#{#XPOTK2f7~D-^4>#dD@_?83IOLek+dTnB4S` zOnT&!gVpk>vD^@Dv&hN>QVv?~SDFB6!_`h0*H5_Uj%;O#a@lVY_D9uFv*jbgo3+}Zm(;oWt<32^)hg1%76#QP( z62+Fux4GuZ8hr#yN@85Hiz1s#`3+jrtelhcz#rT#!Q`3Ntux~Lj|31l9-6f~o9c*I`D=m7kW>Lh+e#(bJY zN%77En2=1`Z4-~^=)q$w$!rv8w8JRI0go9Tpl zJnPf7*Z%2wt%hoC8cIYvf}HYp@jfyIsnIjv7Nm76H?*i*P8)?mg^uOL=C0Bjc_hKO z$S?uvZt;155nCST2%<aV%g0AmbI?M8^IBN@u%ffRc@0V_T8s>Q*J zG6T&$5&547Y?|??<|gO59e=25#~~&NNJ8=sp$`KYmcs*Nv&jX=1%)u(bda-F2}-pAA1uW6?reutFStW!GBraeqpmFH=i9 zGdfuyiO3Fr&>U`#K3Ggru#x3 zGcpg*K4@qk6z_m6ZlOLRyIZX|eXHaRg3S{UeG*}{yJbhP2*6WQ>T94xRSD)hZw~pe z`dce!>PYjpfpIoLotrLS@od2AcXiM+L%;2rb#AqSs{?7Z`~levhGBuOD?y{cykS#H znPAQW%m>U>O0Y~KfV-*l7TOzI{E{X^mjtkba3<)Zz>=hl0UicNdjj79yfbD)c4kQt z3Dq!jl_!6nE6z1R4JkkpxpYsxXr(#Pv&1K5o~8xldTn_Ar#ME5^RrTWmZv?dZ{3qZ zV?Mlu80qL!oR-M=;j)c2Ov=mGW~*Q+O?XQ3L2dgzQnTiuAi|uY>?pX7I%nqWJJ=^H zoV54yFqRrA_gT8%#^DN~fRRa=%;*-0zCTg+nw;r88{AsN3fc?6jiso@8t_zW9!n1y zhY3W&ZPO4J*V;+5-y?5A?74B9gG(>sO;=jsPkrCK4vJ^PncsMZ4xr}eqp@)e8Kx3L zC??^0^D$fpAJxx;QI!=fHi=*$w^f49FEdBNA6J&h?Ejdu}uXBm&i>!+%kRrL!szL0*^{MmeA z6>RdT`I52Dc(JNR3!&uUM1+&T$P`i1SZC~ohr5D$0XD`%HEnELHCGCI?Z`j#o;|!L zn-iWih$OzvwpEj3@xp18LzQ<=Z=H~S;jQetdf_>syoVn-$>d1R~6|DO$lG#&p0614sH#W#&FxkH^&})EiJ2xcWwQrSErh#_FGc{*T5QtL@I0 zSU^|=Xq3e6WXJ0%l+>-iqqxR?6R)TjUh%35?4pImjPa$T;|9-Q<^GB3N3u)A04cyY zJq`SIV}R68k!^=s^@Eu!u=tw#!SxUC|AI%&4T?)j4&Jo5w8=JoQt>LncKyjFMe8jz zc-3c}dciVnHzBHcf$h3rhRbAfAd*{TAx&2hVj<#UqNyLvP4l4U6B=sCqrm}{mNLtF+cf4er11rxQ z1T&G%2pn-{-BtMJ)C|rmAyi+NdHOQU_Uo%>6(b(})7}W_=JscOn**K~Ot+L)SHHIu zR5v-G{oVd-K;B&$g-4C*-|V4;2uK~2W<5(^NfYU>fBkC^etf>!Ke}AFXFlmYV4b0J zJd$7oh?!Z86=iwxdT)`Mfk14n1h+VE3=n6?(XP`me^FuofrWi_|z zm4G-k7tK5jP7OtjT0w6X<*jHLRFr+tAy|&bQhIU5ew?`bVn2o82Cg2JX@j^211B^bk}V1L8cLG8cFdp{zR-*91?!f`p2Wg&NWUhZMk1 z>&OR!xxU|Unfr8Bl1>nV*+(}&@X7RZc0Xdjw1E5X1B6${8qprpIHDxsP;F(hOt%2} zExX_z&HliJb0ufSIzd;PLN|VIWzFR5v<+4_K$4E@v^R1!GGkiDdK2lDCst@6v#qn} zE}Jw^Zj8kW7R&k}{+gY2((RC{lspLkL-oQmUD#NYuPW{ zvPE$|XD@tYZ?bk>oF`G?@kQl1^9oh#eZNmVHDO-$)4|Zv$aqRUHElHN>A1uEc_F zg!u;*Iv)a0T6wTUmO#J3Rcz!Vz{d&zin{!324}8A=rmm{*{nyrK1ovHlSm_E+YEpp z0DKg~4jF^Tu4}4DWrf{u+595a)tUhO0h(B@*n!1eircn(%je>w(74BKiTw!kwhAG{ z=WEb+ro+Exg6%8QpQ#)3d#JR*K|kgIF_dmFw20q|Bp5ChnuCZ8&dZVa6zi(9ONsji ztq2N>L33+;mY111*ajeUG!hqgokw52&N5X3{N-H<(?(U%WSL{d9l-Ik5(DsquEd69 z0JzahNQmj!$wTOl+UTO)^(zpj6RQ9vIRGeD9%LDDP@AyiiGcSpfoE~lg%`kOK7gHx zYg-G)tq^DksQ@%9+p8ILEiQ*!um=NfR3a^KEu|L>wg&o=Cx}5Tu&}pv>DQn?q@Pb* z#(O0|Wr?w`AV>xpq!SbxF4IwVoz=;5TTrL&4itDG7;OYD5|d66l|&$~uvrv+?9}S8 z35jM*hh{yDbGS(utV)9zJJ&1-Zk0(f!K*rUz`I=;Iz;xU4j*fakKlKmI;#Qe4`D(? zmNRmEG=Y!vs{UlFNzFPRb3F;G2s8NzT{ZN>N@WtID|g6aHObI1HDV|YyiV>jszdu(G2!eK z$8@4&bsUit+`VDP1xZV$p3(YbN(R4({@lVGo@;kuGOZO#5_QUYm8ZIX*mP2FN&PnP zhn62~RnL4t($Fr0j{F*5+7#RQF-0)ygdlPv>&_0u|lXR9^)%Jx;FKl1h$$%@GK5Rd$1^NimZ%tfMP9bC~D? zZ7JtEf_T)4#E^Py>Y9=T8A}{_59K<~c{Y%yv)z69^Ok9ZE6C-~QOm_w>*1Xy18M>v ze};HoF@ZupCJ2)3<*T$n&riIDckV^}Reap3ms2fElDkmN32T%xee%4Fp^9Ip=@<}6 zvKed4yNFgBu#!uhKWQtkhW{K=WW%JY%(YL~%>g0?1jfl6w@zJahE6;O@x#_`5p0an z*#}>K2*UD`J^u3N_0K=qn;bTEmgj6;dg=TU5vDUkfD9^!G0$b}4c|L7gn)o7-_LDVJ+}ZV|%q!&_^v(&EkQXMhr0jHN zO3J*zGb67Th;V$`JYrwK-HNXsrVTO02h2bVrU9KthO~$D=7LEcHvRK>zKYW#f`Zk! z6w>X_KRQS@A^cD^Qdf%Wt_JPYK+{%ByViE7lB*nDsnLcG8FJNjQ0+Fs6yJ!_4rrg( z?Y;_&ZIE$j?Dhk@PaN29qSf{G0A4_$ziwX_R$*=7Ewuac>iZMp<1`4-7l6I&^mS7b zy@|lvU(;p8y@o%uHP&y+AU5jh>JuEw7inHV7~NF{sNdW|Z?4GWfZ~x$bBwH^WCZ_( zvsuT;F`HJ?$j+JEn=?VUjl<%i%RCS#0yYvx^O8wfNWW?tx3V0m`n_c0p^{G7>D$5zo+2qXwWt>V@cgkc7CJMP}~;xiCY7ikvn9gYRF)#i+yUZh(M zS|TJy<;>>jP@-1?IE4nNS7el?0cE5FINbNN1hKa=vS}Lf5CQY~)en!pMqPSaW(iYW z?xkmEUV$OuMcR3?n)g08gg!; zg#|CjU_k4Z-~5kn{y8l*{7jfa4S=w`cKZ zNVtF~eDK+^o^+!*aIHju@e_naH4gTF#TH5|^e||!I$kf>QpxumtB;+qt9Y@WGj)6& z|NK+9-+8_lxDTu0uzAez-Wy2Yp-l}Y8yDXr+K$~ zxaN~Ii7Lyz{mL+$Djnr%@`&H@{?X$uolc8*qBkSSr7(DY$LDHDK)suIY>ug1%Wd`u%|zk0@#a$&MHkFeiYt8h8L*IuYowy!VX zs`?IkFyR==y_Y91UaQ0jUQ$uSyz{O9QfV4qQ-CWW9F7C4EGwgN( z&Zc9U5n8DDz2VTt`*21dWaECn@|?#~^!=Xef>x>WXsKW&%1U>wUS)K8=9CK+($W$N zgo?B#93=u)BI*mXw=Nh8FGG~Jj(k1q=`&Du2v|LPp6GXlV*Z%Z#bhq z9`&1Fj|NSk?9pKC(89*#Su`1vr}3=cG=j*?$9fpbRXhUhES*>xrS*eJQ;QT@fjFir z=aDU>c?mK3OQ>(fYyRx{krb_sGsziuFlhR0^|55QfoQu8zqVFln;o_re>j*~MhRfd z1o;P_*intfao%+_KOcLYjud}b6JI8Urc!Xy2zBaeFK2|vD813lB0VRLwLG0PjXd+gFEyp`1v04HMhrXphqp@whPbWl;Ta=lNv&+>5Wo>(~>J%O~92#y= zU{Y$+1r*#8YTs9PYcfTI*1N`iQrGE^dt_?t%Tzf&WjWECuRg8JXgyjF8xQ>2p@*dwaJc#V(gM0|2IWejS^5f!h0+hui+$J2U;o#R?wvO71& zvI=-0RaCh9NruqRoXNC^HEa$%dWmmp;5E<{r-Nvd_Jy>Cnx&A=zzkQlm#o1zR7)#=V=;xaTsCNO2`u*q8Mu!;hl~Ar#FPYgzPNGh?n&)|MCO7N2;4$A|8d;pqi`@yNUilk0Tc$pR#2n>)W9c`EX zY)l&|XVV`2+-c&GSfk48EU+|9Ub>gHu8>tn1HabuCe(P|#I?TP>$~*!2N^qW($dRI z@fR7BB$o88Q08>~qs}=s*m|_z;nHNX%iBZ%x#@lRD_b8Ii-;XVz~Rq7vUSGRC0hji zXs$M7WqUyCVAZ+E(5VXm*6=?9V!6KK0nI5ACY;CqFNg?!>%W=9odcf$9<4UMEjjwL~N?}YLmJa zZNEpCS(VAIZ_TJV1a}V2tT0*k0DHAs@vOo;_=G?}5TBy~OJv6ca151M`&Os&U_T;- zog&C!ueUiA$XxR3b-c78){jAO#Dd9F@eyc@>K^DEf+-m(*|wJ|m;l$>PF0BDjvH#G zGyX8T1Cw(wf)q!dO&cHiZmZY#$^F?j1_s*3FDy{{G&VlR#E{@baMJ-V&B?asqH~J*cj3hVeja&8l<4Kh}ox?w9 zIskMbX`InO@g;LvEG{8j^3rLg;;CG0O?sr*(hQ&!k@~obNbg$lcOEc#3*hgI3$3HK z2YvP@J~?MqY1*8mh8VTai*Ss%bfgaTiC8N)U*Sh_=XAPPxqBqRb-FMpF0MS4DCWyq zGAK>>t<1UOD5~5UC|$qU;Q5p8wWp-L^A{Yx0g={;^gt};!knJlm6%fPF{Wa|Aq%w~ zpfb#7{f&+GaH!7JSI^MKUnb(KbsE;GSzDQqqC?(b6bNoxT%Xv9gxBK_beZo1q8?=1 zt~)AF`M!)wfU1;OaMUdaioLC(%O$^fi&w2A2hF%R^dT^j3U6FJIz~F1EgoH+bjPN$ z!?2I4hba$fWZIq-xo4b9O`-*C)6(jLnXZ?F}`12r7`_?vA5yM|ivC_f3nqEcj?D)Uu|jwVjCt z>}Nc-s2!78uiliN`++hXy>5Zak>u3{1WG%1{D{Uns%dxPslHvlUV$H;>C>RJIdeQ^ zgH8QP*MBrDU`DooqX?SOT64l4rfI>N2sXy5k&o;%Hfu&Dv6Yh)MFheBLYC4O7sOsR+5A$27|syHH>lqX*J4#00itmvp;uVytsRE;{E>j$1h$SpPmAq zZ2?JFJU?yw9c@YG+-*HPZo!8@HDz5$<62UQP>Ho5knT=k^o~fXHM8eijQN5J5gDdq z;B@WXLxk~oGOEjR<$MJIvOGp$A^<5mkFsuT&IpLbI(noMI_RToWL#33HTTNR<%bT1 zW72baK6xEbnQDQT#;TGoxj>r-c~{i$yVw{I=sT^Dp0G|cp*Y;WN2gU@d23BZ)Iyz1 zderizz$H!gtEU^ADlnbg2nMKNYigD8$5o}*E#@aW-(ASwjJLw(zMBx7Xh0v4xQ=@S zjoXLQ|b&iZVVZ9ei1!BYmp+Q0JhjQ^|4FhZt=Y#N<1=!}tl+NEWt zgfXf$Jieo2%X)1A(_$BQ`ckbafPFmRyQ%pdt~fp#oj#sbPYy^cKaW0dx_mp(SW!|cnXOLz-QRXJ&-uQF8l#7{)8Xs;BkFqZ8_wOsUURUCvLz(y|E+?$Ot6LHLUv9yzMidv=G>P z3AQ-dhiU~uw*Te-GkacpsdWrQGaUwF;4G`DU5-%K<+AE+QyKnT&;N>EqX7+HAZAP( z4r?>!5tByE8#PlNF%F2}X!{IXncr!t*p`+Sc#c5c;=aZK#!YCDz5 zH=b9f(_C`=+-SUCnQA@VHM6?nM=t{yL0+{%{ZVU*{qztj{1HDPVAjJ`x>z=TdYpun zAL?JBHJkdX@NYnhC&oYg|UVEm!~=o-v@z?)vFA^_Hu0 zu}`;Ai^eb^3Pq@#ex1r%Y~w}L2+rH2A>`>MnBkA*HMb>=2Ck?zql79buOul9F~{_> z7(z^Bv__9x?WiB^#21ynzgNep1prE|^|Q)K>kGil;ahX05W zs{k1{7x-1cBP2&e=|D9?#(4d*!$j1BGKR?*rC(rxh$>7vD(Gg{?6gM(=W_S|4O8-) zy94u#Zkmie7Wbw}^@j}#GD1wnhb3u(g%5I(q!44Gqu=Z1E142$McPE%dgOJ%rjV4z zO{ZDqwsfP!CWIdqvP*7wf+obK7V7IwlbYEJhkccUdPc^eRm0A1m|)WZYB@+aAA*g; zMP)ngnPkZ)Q1`Hc!PzP}zv=$>RY-@7{mOwBWYZzNZaaELRHuB3hyW+$W(8vuJ-Ue4 zUE^zX!KhIwx*)&^B9c1fX6p?!qOh zW`veniR-@U4o+N2PO_`wN<~B)9)72q&0N>HYL+IQv;DrqjHmq@9x^HVcdv+`+eLt zPW}GG@tcCt{=T?dWWnz4I!$8Mv)Y@RjVv-x0}@Eg!QV%#RZ5giArh)23ZcXyEXBu0 zEuU=9)N`i4A^?vSnxNh%t@5A95~Bc&Q!7}r3G#f4kYNytA3#w!Sf*HzFK{Q}H3-^* zAr$>Gk(oc{w|w4fe3@$i4%$4A;ZxSyA}I5S2N-|z+RZ(Cim$y8l_(#jiA-uiWU=V; zB8ox@E*5#GC-MvSwT*MWw+qrc~C&x=T7r|^siX4-vo0B(#9tpF@w&Od8n6VF#k}+RVz&ud`=E*NBUl&9S1=QgGIGk7q8g|Toa&Z=TMx7ea$}D0eq0E+1@PAQ)g}5 zxBfO9xU3(3uh;WlJ;N}XKk~}(JfucM(?|~4qxbCR%Rv1K|CRsO${#Oe+8DD3V#3aN z{0<)(K(`hJ*pIy5rA6Hc=_X|qqJvl>RlQr3os+c&(SH$rzF;z#t(!aEhD$yH*NY0E z5Vnu_hmZ7k2QV{mEoa-35uD!inkmhqJ>+~q*>QQUU{WPC3l}Gm*BIw5b77JgDS#I? zbVZz$(IMDjx*1z7Zvft?b7%n=`SL?~E@~B|Z0j%fyMnAAuHlfHP6ufj=Y+0p{WmHn zHoew>a)4z>F^@Q9J7kNf85e21h^je{FVZi6jf~pwaR@5`0vEv8A$Zv{ZrC#4V3CaI zk|WR`yV)8w{UESBIIMN(Jt&KmC*|oHHxhM{SL3Qk-*mrC(MwV6R?F18WXehckxPI3 z%Ul|;Y;jAPrEznlOqPBrHi&o^k^EWbfDFM*i)_DJ2QqF;npVHPmD5!*3n!D6I18b)U|N(g-zDgx(%3hKqR=CBgGLSZKL#IzGFIgnR*e=pk=otzA`vYxUDvy zW@|dJutmA9`DmCNU11~!&UjE!6J1)TOZV^Fo z)tr-edAa3)_3YNViE~gG!C3p{-{HQ!+h%|J3m_fPP7cirA+E#(7;H2{za@?&ClxG& zjo3}AR^nHm^S$PtsBB}22WuOPE1?Eg>IT+!BLD8Tp~`kzU|kV!{M|UPa@B|I_)O#!Cv>?rQ{jQ)Rpp$FxQH05*1jL zJtY9coc$d6W6KYd!8aBRN9DBaOjNg3(F11A;9)&>w_ z7Av)_a;*MQgOTlm>!EKGJ&Wov?psQyjwdd|ac#*N(E(q7!HtJz#WV;{Gp3efO2Ih~ zx9B1=^iOul<|%KjM_ZGg zwPe6z0ae*quZ`Jhc%;KLFMj@MgXO4<^TEmgM1ykkd+@Ijwc;t(R})Asbx22j6;>}p zb*_Y?1j!;@&NV#InU&`0BM{rKa0dWj;p#k8+PdmVGVM3j-p2})OI5bw?_aC3l_oiM z#YogPt9H{nPp^G|**%OSc7Sm_ah|i+X_L-|2uJHpvHMkL0@LoJdcctSRGgk>JD8^#nkW-n1v=xVfQU@n-7-yVRo@J< zeOG)<4WlLDhSYgfY@;agd~~=~Q~hMoPhp8##f$x%iI+9oLg9V~pIFlV43?%1uPufu zp2wdU(PsFotF4y86Q4IQzPt`+9Nte7c~sr;&YL#pSF$n@JI2_#d0v7hjh=*UybA9w zf{cA9EIamMl_qnpq;Fl~FPD`7lDf%8)%i23t6_DaazKe;<2;Kku`Li0B zqi!RE*H9

kA~ShU!@fdVw3G7 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%0Afa3TrL%%Aw?nll>>;gx}&#lMJEtN{S8pkBj)k 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

^r4J#tBY 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�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

hZOQoV6jQ{m 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 z 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

BE(GKT7%M**kQ}6AY&uYY5Na$`J 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

!KP02M! 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

jY(w$Do71F(NMPG~cq_N>2;^IWw> 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 literal 0 HcmV?d00001 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..0bd528a --- /dev/null +++ b/debian/control @@ -0,0 +1,34 @@ +Source: bareos-regress +Section: admin +Priority: optional +Maintainer: Bareos Packager +Build-Depends: debhelper (>= 7.0.50~), + make, + rsync, + sed, + bareos-database-sqlite3, + bareos-regress-config +Standards-Version: 3.9.1 +Homepage: https://github.com/bareos/bareos-regress +Vcs-Git: git://github.com/bareos/bareos-regress.git +Vcs-Browser: https://github.com/bareos/bareos-regress.git + +Package: bareos-regress +Architecture: all +# acl: tests/acl-xattr-test +# attr: tests/acl-xattr-test +# cmake: for ctest +Depends: ${misc:Depends}, + acl, + attr, + bareos, + bareos-database-sqlite3, + bareos-regress-config, + bareos-storage-fifo, + bareos-tools, + cmake, + make, + sed +Description: Backup Archiving Recovery Open Sourced - regression testing + This package contains Bareos regression tests. + Don't use them on productive systems. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..9449087 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,3 @@ +License: + + AGPL-3+ diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..78d3d44 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +README* +LICENSE diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..99cd4a4 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,49 @@ +#!/bin/sh +# postinst script for bareos +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +daemon_user=bareos +daemon_group=bareos + +permissions() +{ + chown -R ${daemon_user}:${daemon_group} /var/lib/bareos/bareos-regress/ +} + +case "$1" in + configure) + permissions + if ! [ -e /var/lib/bareos/bareos-regress/config ]; then + ln -s /etc/bareos/bareos-regress.conf /var/lib/bareos/bareos-regress/config + fi + su - bareos -s /bin/sh -c "cd /var/lib/bareos/bareos-regress; make sed" || true + ;; + abort-upgrade|abort-remove|abort-deconfigure) + ;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..d640724 --- /dev/null +++ b/debian/postrm @@ -0,0 +1,16 @@ +#! /bin/sh + +set -e + +case "$1" in + purge) + rm -rf /var/lib/bareos/bareos-regress/ || true + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..013f529 --- /dev/null +++ b/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE = 1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS = -v + +override_dh_auto_test: + +#override_dh_build: +#override_dh_auto_build: + #tmp="$$PWD/tmp" make sed + +%: + if ! [ -e config ]; then ln -s /etc/bareos/bareos-regress.conf config; fi + dh $@ + rm -f config + diff --git a/do_all_tests b/do_all_tests index 0371a51..b34b867 100755 --- a/do_all_tests +++ b/do_all_tests @@ -1,8 +1,5 @@ #!/bin/sh ./starttime -if [ ! -f bin/tape_options ] ; then - touch bin/tape_options -fi echo " " >test.out hostname >>test.out echo " " >>test.out diff --git a/packaging/bareos-regress.changes b/packaging/bareos-regress.changes new file mode 100644 index 0000000..03208a3 --- /dev/null +++ b/packaging/bareos-regress.changes @@ -0,0 +1,5 @@ +bareos-regress (0.1) unstable; urgency=medium + + * Initial release. + + -- Jörg Steffens Mon, 04 Sep 2017 16:18:39 +0200 diff --git a/packaging/bareos-regress.dsc b/packaging/bareos-regress.dsc new file mode 100644 index 0000000..2fc2793 --- /dev/null +++ b/packaging/bareos-regress.dsc @@ -0,0 +1,13 @@ +Format: 1.0 +Source: bareos-regress +Binary: bareos-regress +Architecture: all +Version: 0.0.0 +Maintainer: Bareos Packager +Homepage: https://github.com/bareos/bareos-regress +Standards-Version: 3.9.1 +Vcs-Browser: https://github.com/bareos/bareos-regress.git +Vcs-Git: git://github.com/bareos/bareos-regress.git +Build-Depends: debhelper (>= 7.0.50~), make, rsync, sed, bareos-database-sqlite3, bareos-regress-config +DEBTRANSFORM-RELEASE: 1 +Files: diff --git a/packaging/bareos-regress.spec b/packaging/bareos-regress.spec new file mode 100644 index 0000000..8e43e71 --- /dev/null +++ b/packaging/bareos-regress.spec @@ -0,0 +1,68 @@ + +Name: bareos-regress +Version: 0.0.0 +Release: 0%{?dist} +Summary: Bareos Regression Testing +Group: Productivity/Archiving/Backup +License: AGPL-3.0+ +URL: http://www.bareos-webui.org/ +Vendor: The Bareos Team +Source: %{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch + +BuildRequires: make rsync sed +BuildRequires: bareos-database-sqlite3 +BuildRequires: bareos-regress-config + +Requires: acl +Requires: attr +Requires: cmake +Requires: bareos +Requires: bareos-database-sqlite3 +Requires: bareos-regress-config +Requires: bareos-storage-fifo +Requires: bareos-tools +Requires: make +Requires: sed + +%description +Bareos - Backup Archiving Recovery Open Sourced. \ +Bareos is a set of computer programs that permit you (or the system \ +administrator) to manage backup, recovery, and verification of computer \ +data across a network of computers of different kinds. In technical terms, \ +it is a network client/server based backup program. Bareos is relatively \ +easy to use and efficient, while offering many advanced storage management \ +features that make it easy to find and recover lost or damaged files. \ +Bareos source code has been released under the AGPL version 3 license. + +This package contains Bareos regression tests. +Don't use them on productive systems. + + +%prep +%setup + +%build +ln -s /etc/bareos/bareos-regress.conf config +tmp="$PWD/tmp" make sed + +%install +make DESTDIR=%{buildroot} install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%doc README* LICENSE +%defattr(-,bareos,bareos,-) +/var/lib/bareos/bareos-regress/ + +%post +if ! [ -e /var/lib/bareos/bareos-regress/config ]; then + ln -s /etc/bareos/bareos-regress.conf /var/lib/bareos/bareos-regress/config +fi +su - bareos -s /bin/sh -c "cd /var/lib/bareos/bareos-regress; make sed" || true + +%changelog diff --git a/packaging/debian.debtransform b/packaging/debian.debtransform new file mode 100644 index 0000000..b90c561 --- /dev/null +++ b/packaging/debian.debtransform @@ -0,0 +1 @@ +# this file is only required to activate debtransform from Open Build Service (OBS) diff --git a/prototype.conf b/prototype.conf index bab443c..3aef666 100644 --- a/prototype.conf +++ b/prototype.conf @@ -1,8 +1,8 @@ # Set this to the make option (usually -j3 or higher) MAKEOPT= -# Where to get the source to be tested -BAREOS_SOURCE="${HOME}/bareos/bareos" +# Where to get the Bareos core source to be tested +BAREOS_SOURCE="${HOME}/git/bareos/bareos" # Where to send email !!!!! Change me !!!!!!! EMAIL=my-name@domain.com @@ -44,8 +44,9 @@ TAPE_DRIVE1="/dev/null" # Script to use to change a tape in an autochanger AUTOCHANGER_SCRIPT=mtx-changer -# This must be the path to the autochanger including its name -AUTOCHANGER_PATH="/usr/sbin/mtx" +# This must be the path to the autochanger including its name. +# Not used any longer. +#AUTOCHANGER_PATH="/usr/sbin/mtx" # DB parameters db_name="regress" @@ -75,8 +76,7 @@ HOST="127.0.0.1" # do you want to enable scsi crypto support for HW Encryption on modern Tape Drives ? SCSICRYPTO="--enable-scsi-crypto" -# see --with-base-port at -# http://www.bareos.org/rel-manual/Installing_Bareos.html +# # You only need to change this if you want to run more than one instance # of regression testing on the same box. You'll need to set BASEPORT # to values that do not overlap. BASEPORT is the first of three ports diff --git a/run b/run index d4194dc..0ef24f9 100755 --- a/run +++ b/run @@ -8,8 +8,8 @@ # Of course, this implies that all tests must terminate normally # within the timeout period (900 seconds). # -if [ -f bin/timelimit ]; then - WARNTIME=900 KILLTIME=50 bin/timelimit $* +if [ -f ${bin}/timelimit ]; then + WARNTIME=900 KILLTIME=50 ${bin}/timelimit $* if [ $? != 0 ] ; then echo " " echo "=== Test $* timed out ===" diff --git a/scripts/bareos-dir-2client.conf.in b/scripts/bareos-dir-2client.conf.in index 30da8ce..44091de 100644 --- a/scripts/bareos-dir-2client.conf.in +++ b/scripts/bareos-dir-2client.conf.in @@ -231,7 +231,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-2d.conf.in b/scripts/bareos-dir-2d.conf.in index 9a59cf4..ce14d06 100644 --- a/scripts/bareos-dir-2d.conf.in +++ b/scripts/bareos-dir-2d.conf.in @@ -114,7 +114,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-fifo.conf.in b/scripts/bareos-dir-fifo.conf.in index e85124b..f1f06b2 100644 --- a/scripts/bareos-dir-fifo.conf.in +++ b/scripts/bareos-dir-fifo.conf.in @@ -160,7 +160,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-migration-sd-sd.conf.in b/scripts/bareos-dir-migration-sd-sd.conf.in index c25817b..c3f8df4 100644 --- a/scripts/bareos-dir-migration-sd-sd.conf.in +++ b/scripts/bareos-dir-migration-sd-sd.conf.in @@ -183,7 +183,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-migration.conf.in b/scripts/bareos-dir-migration.conf.in index 2880dd2..d005724 100644 --- a/scripts/bareos-dir-migration.conf.in +++ b/scripts/bareos-dir-migration.conf.in @@ -183,7 +183,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-strip.conf.in b/scripts/bareos-dir-strip.conf.in index 761cc3a..e0f6aa7 100644 --- a/scripts/bareos-dir-strip.conf.in +++ b/scripts/bareos-dir-strip.conf.in @@ -166,7 +166,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-tape.conf.in b/scripts/bareos-dir-tape.conf.in index c6e8c8e..8f09f2d 100644 --- a/scripts/bareos-dir-tape.conf.in +++ b/scripts/bareos-dir-tape.conf.in @@ -239,7 +239,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-virtual.conf.in b/scripts/bareos-dir-virtual.conf.in index 55333b1..641063c 100644 --- a/scripts/bareos-dir-virtual.conf.in +++ b/scripts/bareos-dir-virtual.conf.in @@ -113,7 +113,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir-win32-tape.conf.in b/scripts/bareos-dir-win32-tape.conf.in index 4115884..5e5fd6c 100644 --- a/scripts/bareos-dir-win32-tape.conf.in +++ b/scripts/bareos-dir-win32-tape.conf.in @@ -102,7 +102,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/bareos-dir.conf.accurate.in b/scripts/bareos-dir.conf.accurate.in index 9908c73..9236211 100644 --- a/scripts/bareos-dir.conf.accurate.in +++ b/scripts/bareos-dir.conf.accurate.in @@ -126,7 +126,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/bareos-dir.conf.errors.in b/scripts/bareos-dir.conf.errors.in index c5b2fd3..fa83179 100644 --- a/scripts/bareos-dir.conf.errors.in +++ b/scripts/bareos-dir.conf.errors.in @@ -204,7 +204,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/bareos-dir.conf.in b/scripts/bareos-dir.conf.in index f4c57e5..af1875a 100644 --- a/scripts/bareos-dir.conf.in +++ b/scripts/bareos-dir.conf.in @@ -63,6 +63,12 @@ Job { JobDefs = "DefaultJob" } +Job { + Name = "BackupClient1FileList" + JobDefs = "DefaultJob" + FileSet = "FS_TESTJOB1" +} + # # Backup the catalog database (after the nightly save) # @@ -188,8 +194,7 @@ Storage { # Catalog { Name = MyCatalog - #dbdriver = "@DEFAULT_DB_TYPE@" - dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX" + dbdriver = "@db_type@" dbname = "@db_name@" dbuser = "@db_user@" dbpassword = "@db_password@" diff --git a/scripts/bareos-dir.conf.maxruntime.in b/scripts/bareos-dir.conf.maxruntime.in index 1c45e03..7a9633f 100644 --- a/scripts/bareos-dir.conf.maxruntime.in +++ b/scripts/bareos-dir.conf.maxruntime.in @@ -5,8 +5,6 @@ # file or directory names in the Include directive of the # FileSet resource. # -# For Bareos release 1.39.27 (24 October 2006) -- debian testing/unstable -# # You might also want to change the default email address # from root to your address. See the "mail" and "operator" # directives in the Messages resource. @@ -117,7 +115,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/bareos-dir.conf.maxtime.in b/scripts/bareos-dir.conf.maxtime.in index 1f050eb..5722526 100644 --- a/scripts/bareos-dir.conf.maxtime.in +++ b/scripts/bareos-dir.conf.maxtime.in @@ -50,7 +50,7 @@ FileSet { read fifo = yes } # wait 60s per fifo - File=@tmpdir@/fifo + File=@tmpdir@/fifo1 File=@tmpdir@/fifo2 File=@tmpdir@/fifo3 } @@ -60,7 +60,7 @@ Job { Name = "RUN_MAXWAITTIME" JobDefs = DefaultJob FileSet = FS_TESTJOB - MaxWaitTime = 1min + MaxWaitTime = 30sec } Job { @@ -107,7 +107,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/bareos-dir.conf.regexwhere.in b/scripts/bareos-dir.conf.regexwhere.in index fc0361d..f15d79a 100644 --- a/scripts/bareos-dir.conf.regexwhere.in +++ b/scripts/bareos-dir.conf.regexwhere.in @@ -117,7 +117,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/bareos-dir.conf.testrunscript.in b/scripts/bareos-dir.conf.testrunscript.in index 7ee8569..8b820a0 100644 --- a/scripts/bareos-dir.conf.testrunscript.in +++ b/scripts/bareos-dir.conf.testrunscript.in @@ -5,8 +5,6 @@ # file or directory names in the Include directive of the # FileSet resource. # -# For Bareos release 1.39.27 (24 October 2006) -- debian testing/unstable -# # You might also want to change the default email address # from root to your address. See the "mail" and "operator" # directives in the Messages resource. @@ -279,7 +277,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } diff --git a/scripts/broken-media-bug-2-bareos-dir.conf.in b/scripts/broken-media-bug-2-bareos-dir.conf.in index e68daf5..43a1bd5 100644 --- a/scripts/broken-media-bug-2-bareos-dir.conf.in +++ b/scripts/broken-media-bug-2-bareos-dir.conf.in @@ -7,7 +7,7 @@ Director { # define myself QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" - PluginDirectory = "@sbindir@" + PluginDirectory = "@plugindir@" Maximum Concurrent Jobs = 4 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password Messages = Standard @@ -96,8 +96,10 @@ Storage { # Generic catalog service Catalog { Name = MyCatalog - - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/broken-media-bug-bareos-dir.conf.in b/scripts/broken-media-bug-bareos-dir.conf.in index 4deba84..26c045e 100644 --- a/scripts/broken-media-bug-bareos-dir.conf.in +++ b/scripts/broken-media-bug-bareos-dir.conf.in @@ -7,7 +7,7 @@ Director { # define myself QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" - PluginDirectory = "@sbindir@" + PluginDirectory = "@plugindir@" Maximum Concurrent Jobs = 4 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password Messages = Standard @@ -95,8 +95,10 @@ Storage { # Generic catalog service Catalog { Name = MyCatalog - - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/check_for_zombie_jobs b/scripts/check_for_zombie_jobs index 5d0e5a6..40a829c 100755 --- a/scripts/check_for_zombie_jobs +++ b/scripts/check_for_zombie_jobs @@ -14,7 +14,7 @@ else client="client" fi -${bin}/bconsole -c ${scripts}/bconsole.conf <&1 >/dev/null +${bin}/bconsole -c ${conf}/bconsole.conf <&1 >/dev/null @output ${tmp}/dir.out status dir @output ${tmp}/fd.out diff --git a/scripts/cleanup b/scripts/cleanup index 5838e39..26f190c 100755 --- a/scripts/cleanup +++ b/scripts/cleanup @@ -4,7 +4,6 @@ # Cleanup left over files -- both before and after test run # -. ./config . scripts/functions if [ ! -f ${working}/CLEANUPMARKER ]; then @@ -14,32 +13,33 @@ fi cwd=`pwd` -rm -rf ${tmp}/FileVolume* -rm -rf ${tmp}/TestVolume001 ${tmp}bareos-restores ${tmp}/Small* -rm -rf ${tmp}/sed_tmp ${tmp}/file-list rm -rf ${tmp}/* -rm -rf ${working}/log ${tmp}/TEST-* -rm -rf ${working}/log ${tmp}/Backup-* +rm -rf ${working}/log rm -rf ${working}/*.bsr ${working}/log*.sd rm -rf ${working}/*.trace ${working}/*.traceback ${working}/*.bactrace rm -rf ${working}/*.state rm -rf ${working}/CLEANUPMARKER -rm -rf ${tmp}disk-changer find . -name "gigaslam.gif" -exec rm -f {} \; # cleanup old config files -rm -f ${conf}/bareos-*.conf -rm -rf ${conf}/bareos-*.d/ +# don't delete mtx-changer.conf (and other files?) +rm -f ${conf}/*.cert +rm -f ${conf}/bareos*.conf +rm -f ${conf}/bconsole*.conf +rm -rf ${conf}/*.d/ +rm -f ${conf}/*.pem rm -rf ${conf}/bareos-dir-export/ +rm -rf ${conf}/tls/ # bin directory does not always exist -if [ -d ${bin} ] ; then - if [ -f ${bin}/bareos ] ; then - ${bin}/bareos stop 2>&1 >/dev/null +if [ -d ${scripts} ] ; then + if [ -f ${scripts}/bareos ] ; then + ${scripts}/bareos stop 2>&1 >/dev/null fi - cd ${scripts} - ./drop_bareos_tables ${DBTYPE} >/dev/null 2>&1 - ./make_bareos_tables ${DBTYPE} >/dev/null 2>&1 - ./grant_bareos_privileges ${DBTYPE} >/dev/null 2>&1 - cd ${cwd} + ${scripts}/drop_bareos_tables ${DBTYPE} >/dev/null 2>&1 + print_debug "creating database (${DBTYPE})" + ${scripts}/create_bareos_tables ${DBTYPE} >/dev/null 2>&1 + ${scripts}/make_bareos_tables ${DBTYPE} >/dev/null 2>&1 + ${scripts}/grant_bareos_privileges ${DBTYPE} >/dev/null 2>&1 fi + diff --git a/scripts/config_dart b/scripts/config_dart index 69add1e..c406959 100755 --- a/scripts/config_dart +++ b/scripts/config_dart @@ -2,17 +2,15 @@ # # Configure the dart files # -cwd=`pwd` -. ${cwd}/config +. scripts/functions -mkdir -p ${cwd}/bin -out="${cwd}/tmp/sed_tmp" +out="${tmp}/sed_tmp" scripts/create_sed - sed -f ${out} ${cwd}/DartConfiguration.tcl.in >${cwd}/DartConfiguration.tcl sed -f ${out} ${cwd}/DartTestfile.txt.in >${cwd}/DartTestfile.txt -sed -f ${out} ${cwd}/scripts/update-ctest.in >${cwd}/scripts/update-ctest -chmod +x ${cwd}/scripts/update-ctest +sed -f ${out} ${rscripts}/update-ctest.in >${rscripts}/update-ctest +chmod +x ${rscripts}/update-ctest + diff --git a/scripts/copy-2client-confs b/scripts/copy-2client-confs index a19494f..2c0fe42 100755 --- a/scripts/copy-2client-confs +++ b/scripts/copy-2client-confs @@ -1,10 +1,14 @@ #!/bin/sh -/bin/cp -f scripts/bareos-dir-2client.conf bin/bareos-dir.conf -/bin/cp -f scripts/bareos-sd-2disk-drive.conf bin/bareos-sd.conf -/bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + +set -e +set -u + +/bin/cp -f scripts/bareos-dir-2client.conf ${conf}/bareos-dir.conf +/bin/cp -f scripts/bareos-sd-2disk-drive.conf ${conf}/bareos-sd.conf +/bin/cp -f scripts/test-bareos-fd.conf ${conf}/bareos-fd.conf +/bin/cp -f scripts/test-console.conf ${conf}/bconsole.conf + outf="tmp/sed_tmp" echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf} cp bin/bareos-dir.conf tmp/1 -sed -f ${outf} tmp/1 >bin/bareos-dir.conf +sed -f ${outf} tmp/1 >${conf}/bareos-dir.conf diff --git a/scripts/copy-2disk-confs b/scripts/copy-2disk-confs index 9b4d5cd..61f0e16 100755 --- a/scripts/copy-2disk-confs +++ b/scripts/copy-2disk-confs @@ -6,7 +6,7 @@ /bin/cp -f scripts/bareos-sd-2disk.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + outf="tmp/sed_tmp" echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf} cp bin/bareos-dir.conf tmp/1 diff --git a/scripts/copy-2disk-drive-confs b/scripts/copy-2disk-drive-confs index 07d3eac..e3479b5 100755 --- a/scripts/copy-2disk-drive-confs +++ b/scripts/copy-2disk-drive-confs @@ -3,7 +3,7 @@ /bin/cp -f scripts/bareos-sd-2disk-drive.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + outf="tmp/sed_tmp" echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf} cp bin/bareos-dir.conf tmp/1 diff --git a/scripts/copy-2drive-confs b/scripts/copy-2drive-confs index 543760a..0445d98 100755 --- a/scripts/copy-2drive-confs +++ b/scripts/copy-2drive-confs @@ -3,7 +3,7 @@ /bin/cp -f scripts/bareos-sd-2drive.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + outf="tmp/sed_tmp" echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf} cp bin/bareos-dir.conf tmp/1 diff --git a/scripts/copy-2tape-confs b/scripts/copy-2tape-confs index f10660a..2dc4367 100755 --- a/scripts/copy-2tape-confs +++ b/scripts/copy-2tape-confs @@ -3,7 +3,7 @@ /bin/cp -f scripts/bareos-sd-2tape.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + outf="tmp/sed_tmp" echo "s%# Autochanger = yes% Autochanger = yes%g" >${outf} cp bin/bareos-dir.conf tmp/1 diff --git a/scripts/copy-btape-confs b/scripts/copy-btape-confs index 5c81c74..c331b66 100755 --- a/scripts/copy-btape-confs +++ b/scripts/copy-btape-confs @@ -1,8 +1,7 @@ #!/bin/sh -/bin/cp -f ${rscripts}/bareos-dir-tape.conf ${scripts}/bareos-dir.conf -/bin/cp -f ${rscripts}/bareos-sd-btape.conf ${scripts}/bareos-sd.conf -/bin/cp -f ${rscripts}/test-bareos-fd.conf ${scripts}/bareos-fd.conf -/bin/cp -f ${rscripts}/test-console.conf ${scripts}/bconsole.conf -/bin/cp -f ${rscripts}/test-console.conf ${scripts}/bat.conf +/bin/cp -f ${rscripts}/bareos-dir-tape.conf ${conf}/bareos-dir.conf +/bin/cp -f ${rscripts}/bareos-sd-btape.conf ${conf}/bareos-sd.conf +/bin/cp -f ${rscripts}/test-bareos-fd.conf ${conf}/bareos-fd.conf +/bin/cp -f ${rscripts}/test-console.conf ${conf}/bconsole.conf ${rscripts}/set_tape_options diff --git a/scripts/copy-confs b/scripts/copy-confs index 3d21b98..6111c4d 100755 --- a/scripts/copy-confs +++ b/scripts/copy-confs @@ -1,9 +1,9 @@ #!/bin/sh . scripts/functions -/bin/cp -f ${rscripts}/bareos-dir.conf ${scripts}/bareos-dir.conf -/bin/cp -f ${rscripts}/bareos-sd.conf ${scripts}/bareos-sd.conf -/bin/cp -f ${rscripts}/bareos-fd.conf ${scripts}/bareos-fd.conf -/bin/cp -f ${rscripts}/bconsole.conf ${scripts}/bconsole.conf -/bin/cp -f ${rscripts}/bconsole.conf ${scripts}/bat.conf +/bin/cp -f ${rscripts}/bareos-dir.conf ${conf}/bareos-dir.conf +/bin/cp -f ${rscripts}/bareos-sd.conf ${conf}/bareos-sd.conf +/bin/cp -f ${rscripts}/bareos-fd.conf ${conf}/bareos-fd.conf +/bin/cp -f ${rscripts}/bconsole.conf ${conf}/bconsole.conf +/bin/cp -f ${rscripts}/bconsole.conf ${conf}/bat.conf ${rscripts}/set_tape_options diff --git a/scripts/copy-crypto-confs b/scripts/copy-crypto-confs index 6282cd7..5eb7246 100755 --- a/scripts/copy-crypto-confs +++ b/scripts/copy-crypto-confs @@ -1,8 +1,11 @@ #!/bin/sh + +set -e +set -u + /bin/cp -f scripts/new-test-bareos-dir.conf bin/bareos-dir.conf /bin/cp -f scripts/test-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/crypto-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf /bin/cp -f scripts/cryptokeypair.pem bin/cryptokeypair.pem /bin/cp -f scripts/master2048.cert bin/master2048.cert diff --git a/scripts/copy-fifo-confs b/scripts/copy-fifo-confs index f9fb4e9..891898b 100755 --- a/scripts/copy-fifo-confs +++ b/scripts/copy-fifo-confs @@ -3,6 +3,5 @@ /bin/cp -f scripts/bareos-sd-fifo.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf scripts/set_tape_options diff --git a/scripts/copy-migration-confs b/scripts/copy-migration-confs index 6f4ba7a..7f67a97 100755 --- a/scripts/copy-migration-confs +++ b/scripts/copy-migration-confs @@ -6,4 +6,4 @@ /bin/cp -f scripts/bareos-sd-migration.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + diff --git a/scripts/copy-plugin-confs b/scripts/copy-plugin-confs index 4fde3a4..f51c5ff 100755 --- a/scripts/copy-plugin-confs +++ b/scripts/copy-plugin-confs @@ -3,6 +3,6 @@ /bin/cp -f scripts/test-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + scripts/set_tape_options diff --git a/scripts/copy-strip-confs b/scripts/copy-strip-confs index 42bf807..a36355c 100755 --- a/scripts/copy-strip-confs +++ b/scripts/copy-strip-confs @@ -3,6 +3,6 @@ /bin/cp -f scripts/test-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + scripts/set_tape_options diff --git a/scripts/copy-tape-confs b/scripts/copy-tape-confs index bb448ed..7a3b469 100755 --- a/scripts/copy-tape-confs +++ b/scripts/copy-tape-confs @@ -1,8 +1,8 @@ #!/bin/sh -/bin/cp -f ${rscripts}/bareos-dir-tape.conf ${scripts}/bareos-dir.conf -/bin/cp -f ${rscripts}/bareos-sd-tape.conf ${scripts}/bareos-sd.conf -/bin/cp -f ${rscripts}/test-bareos-fd.conf ${scripts}/bareos-fd.conf -/bin/cp -f ${rscripts}/test-console.conf ${scripts}/bconsole.conf -/bin/cp -f ${rscripts}/test-console.conf ${scripts}/bat.conf +/bin/cp -f ${rscripts}/bareos-dir-tape.conf ${conf}/bareos-dir.conf +/bin/cp -f ${rscripts}/bareos-sd-tape.conf ${conf}/bareos-sd.conf +/bin/cp -f ${rscripts}/test-bareos-fd.conf ${conf}/bareos-fd.conf +/bin/cp -f ${rscripts}/test-console.conf ${conf}/bconsole.conf + ${rscripts}/set_tape_options diff --git a/scripts/copy-test-confs b/scripts/copy-test-confs index 20e825e..a7ea426 100755 --- a/scripts/copy-test-confs +++ b/scripts/copy-test-confs @@ -3,6 +3,5 @@ /bin/cp -f ${rscripts}/test-bareos-sd.conf ${conf}/bareos-sd.conf /bin/cp -f ${rscripts}/test-bareos-fd.conf ${conf}/bareos-fd.conf /bin/cp -f ${rscripts}/test-console.conf ${conf}/bconsole.conf -/bin/cp -f ${rscripts}/test-console.conf ${conf}/bat.conf ${rscripts}/set_tape_options diff --git a/scripts/copy-testa-confs b/scripts/copy-testa-confs index 7cdc025..b59a319 100755 --- a/scripts/copy-testa-confs +++ b/scripts/copy-testa-confs @@ -3,6 +3,6 @@ /bin/cp -f scripts/test-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + scripts/set_tape_options diff --git a/scripts/copy-virtual-confs b/scripts/copy-virtual-confs index f8bb834..2bb4445 100755 --- a/scripts/copy-virtual-confs +++ b/scripts/copy-virtual-confs @@ -6,4 +6,4 @@ /bin/cp -f scripts/bareos-sd-virtual.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf + diff --git a/scripts/copy-win32-confs b/scripts/copy-win32-confs index 8b422ae..d5b5df7 100755 --- a/scripts/copy-win32-confs +++ b/scripts/copy-win32-confs @@ -1,8 +1,8 @@ #!/bin/sh -/bin/cp -f scripts/win32-bareos-dir-tape.conf bin/bareos-dir.conf -/bin/cp -f scripts/win32-bareos-sd-tape.conf bin/bareos-sd.conf -/bin/cp -f scripts/win32-bareos-fd.conf bin/bareos-fd.conf -/bin/cp -f scripts/test-console.conf bin/bconsole.conf -/bin/cp -f scripts/test-console.conf bin/bat.conf +/bin/cp -f scripts/win32-bareos-dir-tape.conf $conf/bareos-dir.conf +/bin/cp -f scripts/win32-bareos-sd-tape.conf $conf/bareos-sd.conf +/bin/cp -f scripts/win32-bareos-fd.conf $conf/bareos-fd.conf +/bin/cp -f scripts/test-console.conf $conf/bconsole.conf + scripts/set_tape_options diff --git a/scripts/create_sed b/scripts/create_sed index 622a627..d44189d 100755 --- a/scripts/create_sed +++ b/scripts/create_sed @@ -18,6 +18,7 @@ dirport=${BASEPORT} fdport=`expr ${BASEPORT} '+' 1` sdport=`expr ${BASEPORT} '+' 2` sdport2=`expr ${BASEPORT} '+' 3` +db_type=${DBTYPE:-"postgresql"} db_name=${db_name:-"regress"} db_user=${db_user:-"regress"} db_password=${db_password:-""} @@ -28,9 +29,10 @@ if test ${os} = "Linux" -o ${os} = "FreeBSD"; then else os=${os}-`./scripts/get-os` fi -dbengine=`echo ${WHICHDB} | sed -e 's/--with-//' -e 's/=.*//'` -bversion=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/include/version.h` -bdate=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/include/version.h` +if [ -r ${srcdir}/src/include/version.h ]; then + bversion=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/include/version.h` + bdate=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/include/version.h` +fi builddir="${src}" hostname="${hostname:-$HOST}" @@ -40,6 +42,7 @@ echo "s%@archivedir@%${tmp}%g" >>${out} echo "s%@bindir@%${bin}%g" >>${out} echo "s%@sbindir@%${bin}%g" >>${out} echo "s%@scriptdir@%${scripts}%g" >>${out} +echo "s%@plugindir@%${plugindir}%g" >>${out} echo "s%@working_dir@%${working}%g" >>${out} echo "s%@piddir@%${working}%g" >>${out} echo "s%@job_email@%${EMAIL}%g" >>${out} @@ -70,7 +73,6 @@ echo "s%@sdport@%${sdport}%g" >>${out} echo "s%@sdport2@%${sdport2}%g" >>${out} echo "s%@fdport@%${fdport}%g" >>${out} echo "s%@regressdir@%${cwd}%g" >>${out} -echo "s%@dbengine@%${dbengine}%g" >>${out} echo "s%@srcdir@%${srcdir}%g" >>${out} echo "s%@sitename@%${SITE_NAME}%g" >>${out} echo "s%@os@%${os}%g" >>${out} @@ -83,10 +85,11 @@ echo "s%@win32_store_addr@%${WIN32_STORE_ADDR}%g" >>${out} echo "s%@win32_file@%${WIN32_FILE}%g" >>${out} echo "s%@win32_port@%${WIN32_PORT}%g" >>${out} echo "s%@win32_password@%${WIN32_PASSWORD}%g" >>${out} +echo "s%@db_type@%${DBTYPE}%g" >>${out} echo "s%@db_name@%${db_name}%g" >>${out} echo "s%@db_user@%${db_user}%g" >>${out} echo "s%@db_password@%${db_password}%g" >>${out} echo "s%@builddir@%${builddir}%g" >>${out} echo "s%@BUILD_DIR@%${builddir}%g" >>${out} -echo "s%@confdir@%${scripts}%g" >>${out} +echo "s%@confdir@%${confdir}%g" >>${out} echo "s%@uncomment_dbi@%#%g" >>${out} diff --git a/scripts/crypto-bareos-fd.conf.in b/scripts/crypto-bareos-fd.conf.in index 28bf9a2..6d05fab 100644 --- a/scripts/crypto-bareos-fd.conf.in +++ b/scripts/crypto-bareos-fd.conf.in @@ -23,8 +23,8 @@ FileDaemon { # this is me Pid Directory = "@piddir@" PKI Signatures = Yes PKI Encryption = Yes - PKI Keypair = "@scriptdir@/cryptokeypair.pem" - PKI Master Key = "@scriptdir@/master2048.cert" + PKI Keypair = "@confdir@/cryptokeypair.pem" + PKI Master Key = "@confdir@/master2048.cert" } # Send all messages except skipped files back to Director diff --git a/scripts/do_sed b/scripts/do_sed index 3a7ffa0..980a672 100755 --- a/scripts/do_sed +++ b/scripts/do_sed @@ -8,31 +8,35 @@ out="${tmp}/sed_tmp" ${rscripts}/create_sed # Process .in files with sed script -for file in ${rscripts}/*.in \ +for file in ${cwd}/*.in \ + ${rscripts}/*.in \ ${rconfigs}/*/*.in \ ${rconfigs}/*/*/*/*.in do sed -f ${out} ${file} > `echo "${file}" | sed -e 's/.in$//'` done -chmod 755 ${rscripts}/regress-config - # These files have no fancy sed stuff, so we just copy them over -cp ${rscripts}/win32-bareos-sd-tape.conf.in ${rscripts}/win32-bareos-sd-tape.conf -cp ${rscripts}/win32-bareos-fd.conf.in ${rscripts}/win32-bareos-fd.conf +#cp ${rscripts}/win32-bareos-sd-tape.conf.in ${rscripts}/win32-bareos-sd-tape.conf +#cp ${rscripts}/win32-bareos-fd.conf.in ${rscripts}/win32-bareos-fd.conf -if test -f ${conf}/bareos-sd.conf ; then - cp ${conf}/bareos-sd.conf ${tmp}/bac$$ - sed "s% /tmp%${tmp}%g" ${tmp}/bac$$ >${conf}/bareos-sd.conf -fi +#if test -f ${conf}/bareos-sd.conf ; then +# cp ${conf}/bareos-sd.conf ${tmp}/bac$$ +# sed "s% /tmp%${tmp}%g" ${tmp}/bac$$ >${conf}/bareos-sd.conf +#fi +chmod 755 ${rscripts}/regress-config chmod 755 ${rscripts}/cleanup-*tape ${rscripts}/cleanup-*drive ${rscripts}/prepare-two-tapes -rm -f ${tmp}/tmp/bac$$ -cp ${scripts}/mtx-changer ${tmp}/bac$$ -sed "s%^MTX.*$%MTX=${AUTOCHANGER_PATH}%g" ${tmp}/bac$$ >${scripts}/mtx-changer -chmod 755 ${scripts}/mtx-changer ${rscripts}/prepare-fake-autochanger + +#if [ -w ${scripts}/mtx-changer ]; then +# rm -f ${tmp}/bac$$ +# cp ${scripts}/mtx-changer ${tmp}/bac$$ +# sed "s%^MTX.*$%MTX=${AUTOCHANGER_PATH}%g" ${tmp}/bac$$ >${scripts}/mtx-changer +# chmod 755 ${scripts}/mtx-changer +#fi ${rscripts}/set_tape_options ${rscripts}/config_dart -rm -f ${out} -rm -f ${tmp}/bac$$ +#rm -f ${out} +#rm -f ${tmp}/bac$$ + diff --git a/scripts/functions b/scripts/functions index d0d9aff..ed1021d 100644 --- a/scripts/functions +++ b/scripts/functions @@ -53,8 +53,47 @@ cleanup() ${rscripts}/cleanup } +# +# Creates a directory "${tmp}/data" from a tgz file. +# This directory can be used a data to backup. +# Initialize ${tmp}/file-list with this directory, +# if it does not already exists. +# +setup_data() +{ + SRC=${1:-data/small.tgz} + RC=0 + + if [ -z "$SRC" ]; then + set_error "setup_data: no source given." + return 1 + fi + if [ ! -e "$SRC" ]; then + set_error "setup_data $SRC: $SRC not found." + return 1 + fi + + mkdir -p ${tmp}/data + (cd ${tmp}/data && tar xzf ${cwd}/$SRC) + RC=$? + + if [ ! -e ${tmp}/file-list ]; then + echo "${tmp}/data" >${tmp}/file-list + fi + + return $RC +} + start_test() { + # in case of an exit during the test, + # call the 'end_test' function. + trap ' + EXITCODE=$?; + echo "exit($EXITCODE) is called. Set test to failure and end test."; + estat=998; + end_test; + ' EXIT check_encoding # Turn off email outf="${tmp}/sed_tmp" @@ -64,11 +103,13 @@ start_test() cp ${conf}/bareos-dir.conf ${tmp}/1 sed -f ${outf} ${tmp}/1 > ${conf}/bareos-dir.conf fi + STARTDATE=`date +%R:%S` echo " " echo " " - echo " === Starting $TestName at `date +%R:%S` ===" - echo " === Starting $TestName at `date +%R:%S` ===" >> ${working}/log - echo " " + echo "=== $TestName: starting at $STARTDATE ===" + echo "=== $TestName: starting at $STARTDATE ===" >> ${working}/log + echo "=" + echo "=" export TestName export zstat export estat @@ -78,7 +119,7 @@ start_test() rstat=0 dstat=0 # marker for cleanup() - date > ${working}/CLEANUPMARKER + echo "$STARTDATE" > ${working}/CLEANUPMARKER } require_root() @@ -135,10 +176,16 @@ if test x${AUTOCHANGER} = x/dev/null ; then fi } +is_debug() +{ + test "$debug" -gt 0 + return $? +} + set_debug() { debug=$1 - if test "$debug" -eq 1 ; then + if is_debug; then out="tee" else out="output" @@ -151,11 +198,37 @@ print_debug() if test $? -eq 0; then echo "$*" >> $tmp/err.log fi - if test "$debug" -eq 1; then - echo "$*" + if is_debug; then + echo "$*" >&2 fi } +write_stdin_to_file() +{ + FILE="$1" + + # empty file + >${FILE} + + # read stdin and write to file + while read input; do + printf '%s\n' "$input" >>${FILE} + done +} + +log_stdin() +{ + FILE="${1:-${tmp}/debug.log}" + + # read stdin and write to file + while read input; do + # print if debug is set + print_debug "$input" + # write to log file + printf '%s\n' "$input" >>${FILE} + done +} + set_error() { estat=9 @@ -175,6 +248,34 @@ check_files_written() fi } +check_linked_against() +{ + LIB="$1" + BIN=${2:-${bin}/bareos-fd} + + # + # See if library is linked against libfastlz + # + cnt=`ldd ${BIN} 2>/dev/null | grep -c ${LIB}` + if test ${cnt} -lt 1; then + print_debug "ERROR: ${BIN} not linked against ${LIB}." + return 1 + fi + + return 0 +} + +bls_files_verbose() +{ + local STORAGE=${1} + local VOLUME=${2} + # JobId is not yet evaluated + #local JOBID=${3} + #local FILENAME=${4} + + ${bin}/bls "${STORAGE}" -V "${VOLUME}" -c ${conf} -v + return $? +} check_compression() @@ -193,7 +294,9 @@ check_compression() fi print_debug "Is ${FILENAME} compressed with ${COMPRESSION_DESCRIPTION} ?" - if ! ${bin}/bls "${STORAGE}" -V "${VOLUME}" -v | grep -A1 "| ${FILENAME}$" | grep -i "| ${COMPRESSION_DESCRIPTION}, "; then + if OUT=$(bls_files_verbose "${STORAGE}" "${VOLUME}" | grep -A1 "| ${FILENAME}$" | grep -i "| ${COMPRESSION_DESCRIPTION}, "); then + print_debug "$OUT" + else set_error "Use of compression algorithm ${COMPRESSION_DESCRIPTION} in job=${JOBID}, file=${FILENAME} not detected." fi } @@ -241,6 +344,16 @@ run_bareos() else ${scripts}/bareos start >/dev/null 2>&1 fi + + # check daemons + DAEMON_STATUS_OUT=`${scripts}/bareos status` + DAEMON_STATUS=$? + print_debug "$DAEMON_STATUS_OUT" + + if [ $DAEMON_STATUS -ne 0 ]; then + exit 1 + fi + run_bconsole return $? } @@ -250,9 +363,9 @@ run_bconsole() bconsole_file=${1:-${tmp}/bconcmds} if [ -f $bconsole_file ]; then if test "$debug" -eq 1 ; then - cat $bconsole_file | ${bin}/bconsole + cat $bconsole_file | ${bin}/bconsole -c ${conf} else - cat $bconsole_file | ${bin}/bconsole 2>&1 >/dev/null + cat $bconsole_file | ${bin}/bconsole -c ${conf} 2>&1 >/dev/null fi fi return $? @@ -261,23 +374,27 @@ run_bconsole() run_btape() { if test "$debug" -eq 1 ; then - cat ${tmp}/bconcmds | ${bin}/btape -c ${conf}/bareos-sd.conf tape | tee ${tmp}/log1.out + cat ${tmp}/bconcmds | ${bin}/btape -c ${conf} tape | tee ${tmp}/log1.out else - cat ${tmp}/bconcmds | ${bin}/btape -c ${conf}/bareos-sd.conf tape >${tmp}/log1.out 2>&1 + cat ${tmp}/bconcmds | ${bin}/btape -c ${conf} tape >${tmp}/log1.out 2>&1 fi } run_bscan() { if test "$debug" -eq 1 ; then - ${bin}/bscan $* | tee ${tmp}/log.out + ${bin}/bscan -c ${conf} $* | tee ${tmp}/log.out else - ${bin}/bscan $* 2>&1 >/dev/null + ${bin}/bscan -c ${conf} $* 2>&1 >/dev/null fi } bscan_libdbi() { + # examples for LIBDBI settings: + # LIBDBI="dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport = 5432" + # LIBDBI="dbdriver = "dbi:sqlite"; dbaddress = 127.0.0.1; dbport = 0" + B=`echo $LIBDBI | sed 's/;//' | sed 's/;//g'` B_D=`echo $B | awk '{print $3}'` B_t=`echo $B | awk '{print $6}'` @@ -301,6 +418,46 @@ stop_bareos() fi } +change_files() +{ + # + # Use this function to modified some files after a full backup + # so that an incremental backup will see some modified files. + # + # Don't rely on specific filenames and paths, + # as these might change in the future. + # + DIR=${1:-${BackupDirectory-}} + + if [ -z "$DIR" ]; then + print_debug "ERROR: change_files: no directory given." + return 1 + fi + + if [ ! -d "$DIR" ]; then + print_debug "ERROR: change_files($DIR): this is not a directory." + return 1 + fi + + for i in `seq 1 9`; do + mkdir -p ${DIR}/test$i + echo "testdata" >> ${DIR}/test$i/test$i.txt + done + + return 0 +} + +get_file_size() +{ + FILE="$1" + SIZE=-1 + if [ -e "$FILE" ]; then + SIZE=`du "$FILE" | cut -f 1` + fi + print_debug "$FILE: $SIZE bytes" + echo "$SIZE" +} + check_for_zombie_jobs() { ${rscripts}/check_for_zombie_jobs $* @@ -392,17 +549,69 @@ check_log() check_restore_diff() { - dest=${1:-$src} - if test "$debug" -eq 1 ; then - $rscripts/diff.pl -s ${dest} -d ${tmp}/bareos-restores/${dest} - diff -ur ${dest} ${tmp}/bareos-restores/${dest} - else - diff -ur ${dest} ${tmp}/bareos-restores/${dest} 2>&1 >/dev/null - fi + # $dest will be set to + # * the first function parameter, or + # * ${BackupDirectory} (set by test), or + # * ${src} + dest=${1:-${BackupDirectory:-$src}} + + $rscripts/diff.pl -s ${dest} -d ${tmp}/bareos-restores/${dest} result=$? + OUT=`diff -ur ${dest} ${tmp}/bareos-restores/${dest}` + result=`expr "$result" + $?` + if is_debug; then + printf "%s\n" "$OUT" + fi + if [ $result -ne 0 -a ${dstat:-0} -eq 0 ]; then dstat=$result fi + + return $result +} + +check_restore_only_files_diff() +{ + # + # all parameter have to be full path files. + # They will be check for differences to the restore location. + # + differences=0 + for i in "$@"; do + if ! diff -ur "$i" "${tmp}/bareos-restores/$i"; then + differences=`expr $differences + 1` + dstat=1 + fi + done + + test $differences -eq 0 + return $? +} + +check_restore_files_diff() +{ + if ! check_restore_only_files_diff "$@"; then + return $? + fi + + # + # check if only the files given as parameters have been restored + # + + # get list of all restored files + RESTORED_FILES=`find ${tmp}/bareos-restores -type f | sed "s%^${tmp}/bareos-restores%%"` + # remove all files given as parameter from the list + for i in "$@"; do + RESTORED_FILES=`printf "%s" "$RESTORED_FILES" | grep -v "$i"` + done + if [ "$RESTORED_FILES" ]; then + print_debug "given files: $@" + print_debug "additional restored files: $RESTORED_FILES" + set_error "More files then given as parameter have been restored." + return 1 + fi + + return 0 } check_restore_bin_diff() @@ -436,6 +645,10 @@ check_restore_tmp_build_diff() # end_test() { + # End of test. + # Remove exit trap (set in start_test) + trap '' EXIT + if [ x$notracedump != xyes ]; then cat ${working}/bareos.*.traceback 2>/dev/null cp -f ${working}/bareos.*.traceback ${dumps} 2>/dev/null @@ -445,20 +658,21 @@ end_test() if [ -f $tmp/err.log ]; then cat $tmp/err.log fi + ENDDATE=`date +%R:%S` if [ $estat != 0 ] ; then echo " " - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " + echo " !!!!! $TestName failed!!! $ENDDATE !!!!! " echo " Status: estat=$estat zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " >>test.out + echo " !!!!! $TestName failed!!! $ENDDATE !!!!! " >>test.out echo " Status: estat=$estat zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" >>test.out echo " " exit 1 fi if [ $zstat != 0 ] ; then echo " " - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " + echo " !!!!! $TestName failed!!! $ENDDATA !!!!! " echo " Status: zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " >>test.out + echo " !!!!! $TestName failed!!! $ENDDATE !!!!! " >>test.out echo " Status: zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" >>test.out echo " " exit 1 @@ -466,9 +680,9 @@ end_test() if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then echo " " echo " " - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " + echo " !!!!! $TestName failed!!! $ENDDATE !!!!! " echo " Status: zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" - echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " >>test.out + echo " !!!!! $TestName failed!!! $ENDDATE !!!!! " >>test.out echo " Status: zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" >>test.out if [ $bstat != 0 -o $rstat != 0 ] ; then echo " !!!!! Bad termination status !!!!! " @@ -479,16 +693,16 @@ end_test() fi echo " Status: backup=$bstat restore=$rstat diff=$dstat" echo " Status: backup=$bstat restore=$rstat diff=$dstat" >>test.out - echo " Test owner of $SITE_NAME is $EMAIL" - echo " Test owner of $SITE_NAME is $EMAIL" >>test.out echo " " exit 1 else - echo " ===== $TestName OK `date +%R:%S` ===== " - echo " ===== $TestName OK `date +%R:%S` ===== " >>test.out - if test "$debug" -eq 0 ; then - ${rscripts}/cleanup - fi + echo "=" + echo "=" + echo "=== $TestName: OK at $ENDDATE === " + echo "=== $TestName: OK at $ENDDATE === " >>test.out + #if ! is_debug; then + # ${rscripts}/cleanup + #fi fi } @@ -504,7 +718,7 @@ copy_test_confs() ${rscripts}/copy-test-confs } -disable_pluguins() +disable_plugins() { for i in ${conf}/bareos-fd.conf; do sed 's/Plugin/#Plugin/' $i > $tmp/1 @@ -593,14 +807,15 @@ esac } -# Save current directory -cwd=`pwd` if test "x${REGRESS_DEBUG}" = "x1"; then set_debug 1 else set_debug 0 fi +# Save current directory +cwd=`pwd` + # Source the configuration variables . ${cwd}/config @@ -614,8 +829,14 @@ bin=${bin:-"$cwd/bin"} # Bareos scripts scripts=${scripts:-"$cwd/bin"} +# Bareos Plugin Directory +plugindir=${plugindir:-"$cwd/bin/plugins"} + # Bareos conf files conf=${conf:-"$cwd/bin"} +confdir="$conf" +configs="$conf" +BAREOS_CONFIG_DIR="$conf" # Regress scripts rscripts=${rscripts:-"$cwd/scripts"} @@ -632,8 +853,11 @@ src=${src:-"$cwd/build"} # Temp source directory so we don't mess up $src tmpsrc=${tmpsrc:-"$cwd/tmp/build"} +export BAREOS_CONFIG_DIR export bin export conf +export confdir +export configs export working export dumps export scripts @@ -642,9 +866,18 @@ export tmp export src export tmpsrc +export dirport=$BASEPORT +export fdport=$(($BASEPORT + 1)) +export sdport=$(($BASEPORT + 2)) +export BAREOS_DIR_PORT=$dirport +export BAREOS_FD_PORT=$fdport +export BAREOS_SD_PORT=$sdport + +export PERLLIB="$cwd" bperl="perl -Mscripts::functions" export bperl +mkdir -p ${working} mkdir -p ${tmp} touch ${tmp}/dir.out ${tmp}/fd.out ${tmp}/sd.out diff --git a/scripts/functions.pm b/scripts/functions.pm index 99d1ee7..b7fcde4 100644 --- a/scripts/functions.pm +++ b/scripts/functions.pm @@ -119,19 +119,19 @@ sub start_bareos { my $ret; $ENV{LANG}='C'; - system("$bin/bareos start"); + system("$scripts/bareos start"); $ret = $? == 0; open(FP, ">$tmp/bcmd"); print FP "sql\ntruncate client_group;\ntruncate client_group_member;\nupdate Media set LocationId=0;\ntruncate location;\n\n"; close(FP); - system("cat $tmp/bcmd | $bin/bconsole >/dev/null"); + system("cat $tmp/bcmd | $bin/bconsole -c $conf >/dev/null"); return $ret; } sub stop_bareos { $ENV{LANG}='C'; - system("$bin/bareos stop"); + system("$scripts/bareos stop"); return $? == 0; } @@ -142,7 +142,7 @@ sub get_resource open(FP, $file) or die "Can't open $file"; my $content = join("", ); - if ($content =~ m/(^$type {[^}]+?Name\s*=\s*"?$name"?[^}]+?^})/ms) { + if ($content =~ m/(^$type \{[^\}]+?Name\s*=\s*"?$name"?[^\}]+?^\})/ms) { $ret = $1; } diff --git a/scripts/multi-client-bareos-dir.conf.in b/scripts/multi-client-bareos-dir.conf.in index 351d9d3..2f2f2e8 100644 --- a/scripts/multi-client-bareos-dir.conf.in +++ b/scripts/multi-client-bareos-dir.conf.in @@ -322,6 +322,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/new-test-bareos-dir.conf.in b/scripts/new-test-bareos-dir.conf.in index 13f8d61..830285e 100644 --- a/scripts/new-test-bareos-dir.conf.in +++ b/scripts/new-test-bareos-dir.conf.in @@ -16,7 +16,7 @@ Director { # define myself QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" - PluginDirectory = "@sbindir@" + PluginDirectory = "@plugindir@" Maximum Concurrent Jobs = 4 Heartbeat Interval = 330 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password @@ -601,7 +601,10 @@ Storage { Catalog { Name = MyCatalog @libdbi@ - dbname = @db_name@; user = @db_user@; password = "@db_password@" + dbdriver = "@db_type@" + dbname = @db_name@ + user = @db_user@ + password = "@db_password@" } # Reasonable message delivery -- send most everything to email address diff --git a/scripts/plugin-test-bareos-dir.conf.in b/scripts/plugin-test-bareos-dir.conf.in index 7541196..5534764 100644 --- a/scripts/plugin-test-bareos-dir.conf.in +++ b/scripts/plugin-test-bareos-dir.conf.in @@ -464,6 +464,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/set_tape_options b/scripts/set_tape_options index a3bbf97..8736c7b 100755 --- a/scripts/set_tape_options +++ b/scripts/set_tape_options @@ -1,7 +1,8 @@ #!/bin/sh . scripts/functions # get proper SD tape definitions +mkdir -p ${conf} cp -f ${rscripts}/linux_tape_options ${conf}/tape_options -if test x`uname` = xFreeBSD ; then +if test x`uname` = "xFreeBSD"; then cp -f ${rscripts}/freebsd_tape_options ${conf}/tape_options fi diff --git a/scripts/test-bareos-dir.conf.in b/scripts/test-bareos-dir.conf.in index b900487..4ebeb5b 100644 --- a/scripts/test-bareos-dir.conf.in +++ b/scripts/test-bareos-dir.conf.in @@ -266,6 +266,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/test-bareos-fd.conf.in b/scripts/test-bareos-fd.conf.in index 69d4b0f..830b2a3 100644 --- a/scripts/test-bareos-fd.conf.in +++ b/scripts/test-bareos-fd.conf.in @@ -21,7 +21,7 @@ FileDaemon { # this is me FDPort = @fdport@ # where we listen for the director WorkingDirectory = "@working_dir@" Pid Directory = "@piddir@" - Plugin Directory = "@sbindir@/plugins" + Plugin Directory = "@plugindir@" Maximum Concurrent Jobs = 100 } diff --git a/scripts/testa-bareos-dir.conf.in b/scripts/testa-bareos-dir.conf.in index 1cf32eb..47c9172 100644 --- a/scripts/testa-bareos-dir.conf.in +++ b/scripts/testa-bareos-dir.conf.in @@ -103,6 +103,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/testb-bareos-dir.conf.in b/scripts/testb-bareos-dir.conf.in index 0015841..7ab2c18 100644 --- a/scripts/testb-bareos-dir.conf.in +++ b/scripts/testb-bareos-dir.conf.in @@ -104,6 +104,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/virtualfull-extreme-bacula-dir.conf.in b/scripts/virtualfull-extreme-bacula-dir.conf.in index 4bf4712..1ef5beb 100644 --- a/scripts/virtualfull-extreme-bacula-dir.conf.in +++ b/scripts/virtualfull-extreme-bacula-dir.conf.in @@ -9,7 +9,7 @@ Director { # define myself QueryFile = "@scriptdir@/query.sql" WorkingDirectory = "@working_dir@" PidDirectory = "@piddir@" - PluginDirectory = "@sbindir@" + PluginDirectory = "@plugindir@" Maximum Concurrent Jobs = 51 Heartbeat Interval = 330 Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password @@ -680,7 +680,7 @@ Pool { Job { Name = "RestoreFiles" Type = Restore - Client = Fake + Client = HotV01-fd FileSet = "Full Set" Storage = File Messages = Standard @@ -704,6 +704,7 @@ FileSet { # Generic catalog service Catalog { Name = MyCatalog + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/win32-bareos-dir-systemstate.conf.in b/scripts/win32-bareos-dir-systemstate.conf.in index fc293c2..c57e04d 100644 --- a/scripts/win32-bareos-dir-systemstate.conf.in +++ b/scripts/win32-bareos-dir-systemstate.conf.in @@ -162,6 +162,7 @@ Storage { # Generic catalog service Catalog { Name = MyCatalog + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/win32-bareos-dir-tape.conf.in b/scripts/win32-bareos-dir-tape.conf.in index df70575..a24d1cb 100644 --- a/scripts/win32-bareos-dir-tape.conf.in +++ b/scripts/win32-bareos-dir-tape.conf.in @@ -116,6 +116,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/scripts/win32-bareos-dir.conf.in b/scripts/win32-bareos-dir.conf.in index 6442ef9..61718cc 100644 --- a/scripts/win32-bareos-dir.conf.in +++ b/scripts/win32-bareos-dir.conf.in @@ -184,6 +184,7 @@ Storage { Catalog { Name = MyCatalog @libdbi@ + dbdriver = "@db_type@" dbname = @db_name@; user = @db_user@; password = "@db_password@" } diff --git a/tests/1-example-test b/tests/1-example-test index 2833cf0..0cd2cf5 100755 --- a/tests/1-example-test +++ b/tests/1-example-test @@ -18,13 +18,21 @@ Client=bareos-fd JobName=backup-bareos-fd # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" # Remove old configuration, working and tmp files. Setup the database. cleanup +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz + # Config files will be copied to required location. # Base configuration files come from the # configs/BASE/ directory, see @@ -36,8 +44,10 @@ cleanup # only these will be taken. copy_configs -# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". -echo "${BackupDirectory}" >${tmp}/file-list +# The default fileset FS_TESTJOB backups all files and directories defined in "${tmp}/file-list". +# setup_data() sets this automatically to "$tmp/data/", +# so it only be needs to be set if another directory is used. +#echo "${BackupDirectory}" >${tmp}/file-list # start the test start_test @@ -72,7 +82,9 @@ END_OF_DATA run_bareos # verify that all are terminated -check_for_zombie_jobs storage=File1 client=${Client} +if ! check_for_zombie_jobs storage=File1 client=${Client}; then + set_error "zombie jobs" +fi # stop bareos stop_bareos @@ -99,3 +111,4 @@ fi # end tests and check for error codes end_test + diff --git a/tests/2drive-2disk b/tests/2drive-2disk index 377f432..f594508 100755 --- a/tests/2drive-2disk +++ b/tests/2drive-2disk @@ -1,15 +1,25 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do an Incremental and restore those two files. # # This script uses the virtual disk autochanger and two drives # TestName="2drive-2disk" JobName="2drive2disk" + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + . scripts/functions scripts/cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + scripts/copy-2disk-drive-confs scripts/prepare-disk-changer @@ -18,7 +28,8 @@ CLIENT=2drive2disk change_jobname localhost-fd $JobName start_test -echo "${cwd}/build" >${cwd}/tmp/file-list +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list # Turn off Prefer Mounted Volumes so we use 2 drives outf="${cwd}/tmp/sed_tmp" diff --git a/tests/2drive-2job-test b/tests/2drive-2job-test index f5c786d..b1344ad 100755 --- a/tests/2drive-2job-test +++ b/tests/2drive-2job-test @@ -7,9 +7,19 @@ # TestName="2drive-2job" JobName="2drive2job" + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + . scripts/functions scripts/cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + scripts/copy-2disk-drive-confs scripts/prepare-disk-changer CLIENT=2drive2disk @@ -17,7 +27,8 @@ CLIENT=2drive2disk change_jobname NightlySave $JobName start_test -echo "${cwd}/build" >${cwd}/tmp/file-list +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list # Turn off Prefer Mounted Volumes so we use 2 drives outf="${cwd}/tmp/sed_tmp" diff --git a/tests/2drive-3pool-test b/tests/2drive-3pool-test index 1e44eb3..87434c6 100755 --- a/tests/2drive-3pool-test +++ b/tests/2drive-3pool-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory. Create three +# Run a simple backup. Create three # tapes, each in a different pool, then run some jobs asking for the # volume on drive three. It should find it without moving the # volume. @@ -9,17 +9,29 @@ # TestName="2drive-3pool-disk" JobName="2dr3pooldisk" + . scripts/functions scripts/cleanup + scripts/copy-2disk-drive-confs scripts/prepare-disk-changer CLIENT=2drive2disk -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName start_test +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + # Turn off Prefer Mounted Volumes so we use 2 drives # outf="tmp/sed_tmp" # echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} diff --git a/tests/2drive-concurrent-test b/tests/2drive-concurrent-test index 04e542c..f82cbd6 100755 --- a/tests/2drive-concurrent-test +++ b/tests/2drive-concurrent-test @@ -14,11 +14,20 @@ scripts/copy-2disk-drive-confs scripts/prepare-disk-changer CLIENT=2drive2disk -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName start_test +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + cat <${cwd}/tmp/bconcmds @$out /dev/null messages diff --git a/tests/2drive-incremental-2disk b/tests/2drive-incremental-2disk index b52a54b..c247dfc 100755 --- a/tests/2drive-incremental-2disk +++ b/tests/2drive-incremental-2disk @@ -1,12 +1,19 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup, then create some # new files, do an Incremental and restore those two files. # # This script uses the virtual disk autochanger and two drives # +# TODO: add check to verify that 2 drives are used. +# TestName="2drive-incremental-2disk" JobName="2drive2disk" + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + . scripts/functions scripts/cleanup @@ -17,23 +24,24 @@ CLIENT=2drive2disk change_jobname localhost-fd $JobName start_test -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir -p ${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} +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list # 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/bareos-dir.conf ${cwd}/tmp/1 +cp ${confdir}/bareos-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/bareos-dir.conf +sed -f ${outf} ${cwd}/tmp/1 >${confdir}/bareos-dir.conf # Write out bconsole commands cat <${cwd}/tmp/bconcmds @@ -66,9 +74,11 @@ quit END_OF_DATA run_bareos -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -88,9 +98,9 @@ messages @# now do a restore @# @$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bareos-restores +restore where=${tmp}/bareos-restores 7 -<${cwd}/tmp/restore-list +<${tmp}/restore-list yes wait @@ -106,16 +116,11 @@ stop_bareos check_two_logs # The restore should read from TestVolume002, which was on drive 1 -grep TestVolume002 ${cwd}/tmp/log2.out >/dev/null 2>&1 -# Note rstat may already be set, so we don't just store into it -if [ $? != 0 ] ; then - rstat=$? +if ! grep TestVolume002 ${tmp}/log2.out >/dev/null 2>&1; then + rstat=1 fi -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` end_test + diff --git a/tests/2drive-offline-test b/tests/2drive-offline-test index 39913cb..1107d6d 100755 --- a/tests/2drive-offline-test +++ b/tests/2drive-offline-test @@ -20,7 +20,17 @@ CLIENT=2drive2disk change_jobname NightlySave $JobName start_test -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + # Turn off Prefer Mounted Volumes so we use 2 drives outf="${cwd}/tmp/sed_tmp" diff --git a/tests/2drive-swap-test b/tests/2drive-swap-test index 59afe21..2bd4217 100755 --- a/tests/2drive-swap-test +++ b/tests/2drive-swap-test @@ -17,7 +17,16 @@ CLIENT=2drive2disk change_jobname NightlySave $JobName start_test -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list # Turn off Prefer Mounted Volumes so we use 2 drives outf="${cwd}/tmp/sed_tmp" diff --git a/tests/accurate-test b/tests/accurate-test index b7681be..87099a8 100755 --- a/tests/accurate-test +++ b/tests/accurate-test @@ -4,52 +4,62 @@ # - test bextract # - with strip path # -# Run a accurate backup of the Bareos build directory +# Run a accurate backup # then restore it. # TestName="accurate-test" JobName=backup . scripts/functions -$rscripts/cleanup - -copy_test_confs -cp -f $rscripts/bareos-dir.conf.accurate $conf/bareos-dir.conf -sed s/all,/all,saved,/ $conf/bareos-fd.conf > tmp/1 -cp tmp/1 $conf/bareos-fd.conf - -change_jobname BackupClient1 $JobName p() { echo "##############################################" >> ${cwd}/tmp/log1.out echo "$*" >> ${cwd}/tmp/log1.out echo "##############################################" >> ${cwd}/tmp/log2.out echo "$*" >> ${cwd}/tmp/log2.out - if test "$debug" -eq 1 ; then + if is_debug; then echo "##############################################" echo "$*" fi } -# cleanup -rm -rf ${cwd}/build/accurate.new -rm -rf ${cwd}/build/accurate +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz + +copy_test_confs +cp -f $rscripts/bareos-dir.conf.accurate $conf/bareos-dir.conf +sed s/all,/all,saved,/ $conf/bareos-fd.conf > tmp/1 +cp tmp/1 $conf/bareos-fd.conf + +change_jobname BackupClient1 $JobName # add extra files -mkdir -p ${cwd}/build/accurate -mkdir -p ${cwd}/build/accurate/dirtest -echo "test test" > ${cwd}/build/accurate/dirtest/hello -echo "test test" > ${cwd}/build/accurate/xxx -echo "test test" > ${cwd}/build/accurate/yyy -echo "test test" > ${cwd}/build/accurate/zzz -echo "test test" > ${cwd}/build/accurate/zzzzzz -echo "test test" > ${cwd}/build/accurate/xxxxxx -echo "test test" > ${cwd}/build/accurate/yyyyyy -echo "test test" > ${cwd}/build/accurate/xxxxxxxxx -echo "test test" > ${cwd}/build/accurate/yyyyyyyyy -echo "test test" > ${cwd}/build/accurate/zzzzzzzzz -echo ${cwd}/build > ${cwd}/tmp/file-list +mkdir -p ${BackupDirectory}/build/accurate +mkdir -p ${BackupDirectory}/build/accurate/dirtest +echo "test test" > ${BackupDirectory}/build/accurate/dirtest/hello +echo "test test" > ${BackupDirectory}/build/accurate/xxx +echo "test test" > ${BackupDirectory}/build/accurate/yyy +echo "test test" > ${BackupDirectory}/build/accurate/zzz +echo "test test" > ${BackupDirectory}/build/accurate/zzzzzz +echo "test test" > ${BackupDirectory}/build/accurate/xxxxxx +echo "test test" > ${BackupDirectory}/build/accurate/yyyyyy +echo "test test" > ${BackupDirectory}/build/accurate/xxxxxxxxx +echo "test test" > ${BackupDirectory}/build/accurate/yyyyyyyyy +echo "test test" > ${BackupDirectory}/build/accurate/zzzzzzzzz +echo ${BackupDirectory} > ${cwd}/tmp/file-list start_test @@ -94,8 +104,8 @@ rm -rf ${cwd}/tmp/bareos-restores ################################################################ p Now do a second backup after making few changes ################################################################ -rm ${cwd}/build/accurate/xxx # delete a file -rm ${cwd}/build/accurate/dirtest/hello +rm ${BackupDirectory}/build/accurate/xxx # delete a file +rm ${BackupDirectory}/build/accurate/dirtest/hello run_bconsole check_for_zombie_jobs storage=File @@ -109,8 +119,8 @@ rm -rf ${cwd}/tmp/bareos-restores ################################################################ p Now do a third backup after making few changes ################################################################ -rm ${cwd}/build/accurate/yyyyyy # delete a file -rmdir ${cwd}/build/accurate/dirtest +rm ${BackupDirectory}/build/accurate/yyyyyy # delete a file +rmdir ${BackupDirectory}/build/accurate/dirtest run_bconsole check_for_zombie_jobs storage=File @@ -122,9 +132,9 @@ check_files_written ${cwd}/tmp/log1.out 3 rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Now do a 4 backup after making few changes +p "Now do a 4 backup after making few changes" ################################################################ -rm ${cwd}/build/accurate/zzzzzz # delete a file +rm ${BackupDirectory}/build/accurate/zzzzzz # delete a file run_bconsole check_for_zombie_jobs storage=File @@ -138,7 +148,7 @@ rm -rf ${cwd}/tmp/bareos-restores ################################################################ p Now do a 5 backup after making few changes ################################################################ -rm ${cwd}/build/accurate/zzzzzzzzz +rm ${BackupDirectory}/build/accurate/zzzzzzzzz run_bconsole check_for_zombie_jobs storage=File @@ -150,9 +160,9 @@ check_files_written ${cwd}/tmp/log1.out 2 rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Now do a backup after making few changes +p "Now do a backup after making few changes" ################################################################ -touch ${cwd}/build/accurate/aaaaaa +touch ${BackupDirectory}/build/accurate/aaaaaa run_bconsole check_for_zombie_jobs storage=File @@ -167,7 +177,7 @@ rm -rf ${cwd}/tmp/bareos-restores p Check with bls ################################################################ -$bin/bls -c $conf/bareos-sd.conf -V 'TestVolume001' FileStorage > $tmp/bls.out +$bin/bls -c $conf -V 'TestVolume001' FileStorage > $tmp/bls.out grep -- '----' $tmp/bls.out | grep xxx > /dev/null if [ $? != 0 ] ; then print_debug "ERROR: Should find deleted files into $tmp/bls.out" @@ -175,11 +185,11 @@ if [ $? != 0 ] ; then fi ################################################################ -p Now do a backup after making few changes +p "Now do a backup after making few changes" ################################################################ # some files will have disappear, others have their old mtime/ctime -mv ${cwd}/build/accurate ${cwd}/build/accurate.new +mv ${BackupDirectory}/build/accurate ${BackupDirectory}/build/accurate.new run_bconsole check_for_zombie_jobs storage=File @@ -219,11 +229,11 @@ check_restore_diff rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Now do an other test in differential mode + incremental +p "Now do an other test in differential mode + incremental" ################################################################ # make some changes -mv ${cwd}/build/accurate.new ${cwd}/build/accurate +mv ${BackupDirectory}/build/accurate.new ${BackupDirectory}/build/accurate cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out @@ -251,10 +261,10 @@ check_restore_diff rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Now do a backup after making few changes +p "Now do a backup after making few changes" ################################################################ -rm ${cwd}/build/accurate/aaaaaa -touch ${cwd}/build/accurate/bbbbbb +rm ${BackupDirectory}/build/accurate/aaaaaa +touch ${BackupDirectory}/build/accurate/bbbbbb run_bconsole check_for_zombie_jobs storage=File @@ -264,9 +274,9 @@ check_two_logs check_restore_diff ################################################################ -p Now do a backup after making few changes +p "Now do a backup after making few changes" ################################################################ -mv ${cwd}/tmp/bareos-restores ${cwd}/build/accurate/ +mv ${cwd}/tmp/bareos-restores ${BackupDirectory}/build/accurate/ run_bconsole check_for_zombie_jobs storage=File @@ -274,7 +284,7 @@ check_for_zombie_jobs storage=File check_two_logs check_restore_diff -rm -rf ${cwd}/tmp/bareos-restores ${cwd}/build/accurate/bareos-restores +rm -rf ${cwd}/tmp/bareos-restores ${BackupDirectory}/build/accurate/bareos-restores # ################################################################# @@ -321,7 +331,7 @@ check_restore_diff rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Now do a test with other attributes: owner, gid, rights +p "Now do a test with other attributes: owner, gid, rights" ################################################################ cat <${cwd}/tmp/bconcmds @@ -355,7 +365,7 @@ rm -rf ${cwd}/tmp/bareos-restores p Use the p option for verify ################################################################ -chmod 400 ${cwd}/build/accurate/yyy +chmod 400 ${BackupDirectory}/build/accurate/yyy cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out @@ -384,7 +394,7 @@ check_files_written ${cwd}/tmp/log1.out 1 rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Test strippath option +p "Test strippath option" ################################################################ cat <${cwd}/tmp/bconcmds @@ -402,7 +412,7 @@ run_bconsole check_for_zombie_jobs storage=File # run incremental -rm -f ${cwd}/build/accurate/yyy +rm -f ${BackupDirectory}/build/accurate/yyy run_bconsole check_for_zombie_jobs storage=File diff --git a/tests/acl-xattr-test b/tests/acl-xattr-test index d6bf02d..d249cb5 100755 --- a/tests/acl-xattr-test +++ b/tests/acl-xattr-test @@ -1,6 +1,9 @@ #!/bin/sh + +. scripts/functions + # -# Run a backup of the Bareos build directory with some acls then restore it. +# Run a backup with some acls then restore it. # # For Linux: # Your filesystem must be mounted with the acl option (mount -o remount,acl,user_xattr /tmp) @@ -30,7 +33,15 @@ # TestName="acl-xattr-test" JobName=backup -. scripts/functions + +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" # # See if the right software is installed. @@ -84,8 +95,15 @@ case `uname -s` in ;; esac -scripts/cleanup +# Remove old configuration, working and tmp files. Setup the database. +cleanup + + +start_test + + scripts/copy-confs +change_jobname BackupClient1FileList $JobName # # Zap out any schedule in default conf file so that @@ -94,16 +112,20 @@ scripts/copy-confs outf="tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" > $outf echo "s/Options {/Options { aclsupport=yes; xattrsupport = yes/" >> $outf -cp ${cwd}/bin/bareos-dir.conf $cwd/tmp/1 -sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf +cp ${conf}/bareos-dir.conf $cwd/tmp/1 +sed -f ${outf} ${cwd}/tmp/1 >${conf}/bareos-dir.conf + + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz -d=${cwd}/build/acl +d="${BackupDirectory}/acl" uid=`id -u` rm -rf $d -mkdir -p $d mkdir -p $d/acl-dir -cp ${cwd}/bin/bconsole $d +cp ${bin}/bconsole $d ls -la $d case `uname -s` in @@ -113,12 +135,12 @@ case `uname -s` in setfacl -m user:nobody:--- $d/acl-dir 2>/dev/null 1>/dev/null setfacl -m user:nobody:--- $d/bconsole 2>/dev/null 1>/dev/null setfacl -m group:nogroup:--x $d/bconsole 2>/dev/null 1>/dev/null - cp ${cwd}/bin/bconsole $d/acl-dir - cp ${cwd}/bin/bconsole $d/other + cp ${bin}/bconsole $d/acl-dir + cp ${bin}/bconsole $d/other setfattr -h -n user.bareos.test -v rulez $d/other 2>/dev/null 1>/dev/null setfattr -h -n user.bareos.secondtest -v rulez $d/other 2>/dev/null 1>/dev/null - ( cd $cwd/build + ( cd ${BackupDirectory} getfacl --omit-header -R acl 2>/dev/null > $cwd/tmp/org getfattr --only-values -h -n user.bareos.test $d/other 2>/dev/null > $cwd/tmp/attr.org getfattr --only-values -h -n user.bareos.secondtest $d/other 2>/dev/null >> $cwd/tmp/attr.org @@ -131,12 +153,12 @@ case `uname -s` in chmod +a "user:nobody deny read,write,execute" $d/acl-dir chmod +a "user:nobody deny read,write,execute" $d/bconsole chmod +a "group:nogroup allow execute" $d/bconsole - cp ${cwd}/bin/bconsole $d/acl-dir - cp ${cwd}/bin/bconsole $d/other + cp ${bin}/bconsole $d/acl-dir + cp ${bin}/bconsole $d/other xattr -w bareos.test "rulez" $d/other 2>/dev/null 1>/dev/null xattr -w bareos.secondtest "rulez" $d/other 2>/dev/null 1>/dev/null - ( cd $cwd/build + ( cd ${BackupDirectory} ls -lde -R acl > $cwd/tmp/org xattr -p bareos.test $d/other 2>/dev/null > $cwd/tmp/attr.org xattr -p bareos.secondtest $d/other 2>/dev/null >> $cwd/tmp/attr.org @@ -160,14 +182,14 @@ case `uname -s` in /bin/chmod A+user:nobody:--- $d/bconsole /bin/chmod A+group:nogroup:--x $d/bconsole fi - cp ${cwd}/bin/bconsole $d/other + cp ${bin}/bconsole $d/other /bin/runat $d/other 'cat > bareos.test' << EOF rulez EOF /bin/runat $d/other 'cat > bareos.secondtest' << EOF rulez EOF - ( cd $cwd/build + ( cd ${BackupDirectory} /bin/ls -ldv -R acl > $cwd/tmp/org /bin/runat $d/other 'cat bareos.test' > $cwd/tmp/attr.org /bin/runat $d/other 'cat bareos.secondtest' >> $cwd/tmp/attr.org @@ -179,12 +201,12 @@ EOF setfacl -m user:nobody:--- $d/acl-dir setfacl -m user:nobody:--- $d/bconsole setfacl -m group:nogroup:--x $d/bconsole - cp ${cwd}/bin/bconsole $d/acl-dir - cp ${cwd}/bin/bconsole $d/other + cp ${bin}/bconsole $d/acl-dir + cp ${bin}/bconsole $d/other setextattr user bareos.test rulez $d/other 2>/dev/null 1>/dev/null setextattr user bareos.secondtest rulez $d/other 2>/dev/null 1>/dev/null - ( cd $cwd/build + ( cd ${BackupDirectory} for file in acl/* do getfacl $file @@ -194,11 +216,11 @@ EOF ) ;; NetBSD) - cp ${cwd}/bin/bconsole $d/other + cp ${bin}/bconsole $d/other setextattr user bareos.test rulez $d/other 2>/dev/null 1>/dev/null setextattr user bareos.secondtest rulez $d/other 2>/dev/null 1>/dev/null - ( cd $cwd/build + ( cd ${BackupDirectory} cp /dev/null $cwd/tmp/org getextattr user bareos.test $d/other > $cwd/tmp/attr.org getextattr user bareos.secondtest $d/other >> $cwd/tmp/attr.org @@ -206,8 +228,6 @@ EOF ;; esac -change_jobname BackupClient1 $JobName -start_test cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -235,7 +255,7 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -rd=$cwd/tmp/bareos-restores$cwd/build/acl +rd=$cwd/tmp/bareos-restores${BackupDirectory}/acl case `uname -s` in Linux) ( cd $rd/.. @@ -290,8 +310,4 @@ fi check_two_logs check_restore_diff -if [ x$REGRESS_DEBUG != x ]; then - rm -rf $d -fi - end_test diff --git a/tests/action-on-purge-test b/tests/action-on-purge-test index 6d588bf..49c0669 100755 --- a/tests/action-on-purge-test +++ b/tests/action-on-purge-test @@ -98,7 +98,7 @@ print_debug "Check all media" perl -Mscripts::functions -e 'foreach $i (1..5){check_min_volume_size(4096,"TestVolume00$i")}' if [ $? != 0 ]; then - print_debug `ls -l $tmp` + print_debug "`ls -l $tmp`" print_debug "Initialization problem" estat=2 fi @@ -111,7 +111,7 @@ check_min_volume_size(4096, "TestVolume002","TestVolume003","TestVolume004","Tes check_max_volume_size(4096, "TestVolume001")' if [ $? != 0 ]; then - print_debug `ls -l $tmp` + print_debug "`ls -l $tmp`" ls -l $tmp estat=2 fi @@ -126,7 +126,7 @@ check_min_volume_size(4096, "TestVolume002", "TestVolume005"); check_max_volume_size(4096, "TestVolume001", "TestVolume003", "TestVolume004")' if [ $? != 0 ]; then - print_debug `ls -l $tmp` + print_debug "`ls -l $tmp`" ls -l $tmp estat=2 fi diff --git a/tests/allowcompress-test b/tests/allowcompress-test index bed1ca6..77bfffa 100755 --- a/tests/allowcompress-test +++ b/tests/allowcompress-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. Then do the same against the second storage, File1, which # has AllowCompression=No set. # @@ -10,12 +10,22 @@ JobName=compressed scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list outf="tmp/sed_tmp" echo "s/FileStorage$/FileStorage; AllowCompression=no/" > $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} ${cwd}/tmp/1 > $scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} ${cwd}/tmp/1 > ${conf}/bareos-dir.conf change_jobname CompressedTest $JobName start_test diff --git a/tests/always-incremental-test b/tests/always-incremental-test index 7b5428d..e43818b 100755 --- a/tests/always-incremental-test +++ b/tests/always-incremental-test @@ -2,29 +2,25 @@ . scripts/functions -# -# Example regression test. -# -# Use this as a template for your own tests. -# - # Define the Name of the test as "TestName". # Should be the same as the filename, therefore we use the filename as default. TestName="`basename $0`" -#TestName="1-example-test" # set other test specific variables Client=bareos-fd JobName=backup-bareos-fd # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" # Remove old configuration, working and tmp files. Setup the database. cleanup +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # Config files will be copied to required location. # Base configuration files come from the # configs/BASE/ directory, see diff --git a/tests/ansi-label-tape b/tests/ansi-label-tape index 3a7077f..405f097 100755 --- a/tests/ansi-label-tape +++ b/tests/ansi-label-tape @@ -18,7 +18,16 @@ scripts/cleanup-tape scripts/copy-tape-confs /bin/cp -f scripts/ansi-sd-tape.conf bin/bareos-sd.conf -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list change_jobname NightlySave $JobName start_test @@ -58,8 +67,8 @@ stop_bareos # # Now do a second backup after making a few changes # -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx +find ${BackupDirectory} -name *.c -exec touch {} \; +echo "test test" > ${BackupDirectory}/xxx cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -89,5 +98,6 @@ check_for_zombie_jobs storage=tape stop_bareos check_two_logs -check_restore_diff +check_restore_diff ${BackupDirectory} end_test + diff --git a/tests/auto-label-test b/tests/auto-label-test index 7c5a4eb..ce57228 100755 --- a/tests/auto-label-test +++ b/tests/auto-label-test @@ -9,7 +9,19 @@ JobName=AutoLabel copy_test_confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + cp ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 sed "s%# Label Format% Label Format%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf diff --git a/tests/backup-bareos-client-initiated-connection-test b/tests/backup-bareos-client-initiated-connection-test index 7ce9601..559ffe8 100755 --- a/tests/backup-bareos-client-initiated-connection-test +++ b/tests/backup-bareos-client-initiated-connection-test @@ -1,23 +1,34 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory -# then restore it. +# Run a simple backup, then restore it. # TestName="backup-bareos-client-initiated-connection-test" JobName=backup + . scripts/functions scripts/cleanup scripts/copy-confs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + # # Zap out any schedule in default conf file so that # it doesn't start during our test # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf dircfg=$conf/bareos-dir.conf $bperl -e "add_attribute('$dircfg', 'Connection From Director To Client', 'yes', 'Client')" @@ -53,6 +64,11 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos +# +# Now do a second backup after making a few changes +# +echo "test test" > ${BackupDirectory}/xxx + cat <$tmp/bconcmds @$out /dev/null messages @@ -71,13 +87,6 @@ messages quit END_OF_DATA -# -# Now do a second backup after making a few changes -# -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx -# - run_bareos check_for_zombie_jobs storage=File stop_bareos @@ -85,3 +94,4 @@ stop_bareos check_two_logs check_restore_diff end_test + diff --git a/tests/backup-bareos-passive-test b/tests/backup-bareos-passive-test index 82e8ccc..cc69534 100755 --- a/tests/backup-bareos-passive-test +++ b/tests/backup-bareos-passive-test @@ -1,7 +1,7 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory -# then restore it. +# Set Client in Passive mode. +# Run simple backups and restore them. # TestName="backup-bareos-passive-test" JobName=backup @@ -16,8 +16,8 @@ scripts/copy-confs # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf dircfg=$conf/bareos-dir.conf $bperl -e "add_attribute('$dircfg', 'passive', 'Yes', 'Client')" @@ -25,7 +25,20 @@ $bperl -e "add_attribute('$dircfg', 'passive', 'Yes', 'Client')" fdcfg=$conf/bareos-fd.conf $bperl -e "add_attribute('$fdcfg', 'Compatible', 'No', 'FileDaemon')" -change_jobname BackupClient1 $JobName +change_jobname BackupClient1FileList $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <$tmp/bconcmds @@ -33,26 +46,7 @@ cat <$tmp/bconcmds messages @$out $tmp/log1.out setdebug level=100 storage=File -label volume=TestVolume001 storage=File pool=File run job=$JobName yes -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -@sleep 1 -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -@sleep 1 -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File wait messages @# @@ -68,7 +62,11 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=File -stop_bareos + +# +# Now do a second backup after making a few changes +# +change_files cat <$tmp/bconcmds @$out /dev/null @@ -89,14 +87,7 @@ messages quit END_OF_DATA -# -# Now do a second backup after making a few changes -# -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx -# - -run_bareos +run_bconsole check_for_zombie_jobs storage=File stop_bareos diff --git a/tests/backup-bareos-tape b/tests/backup-bareos-tape index 3b354fb..d3dca76 100755 --- a/tests/backup-bareos-tape +++ b/tests/backup-bareos-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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 @@ -15,7 +15,13 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz change_jobname NightlySave $JobName start_test @@ -83,8 +89,7 @@ stop_bareos # # Now do a second backup after making a few changes # -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx +echo "test test" > ${BackupDirectory}/xxx cat <${cwd}/tmp/bconcmds @$out /dev/null diff --git a/tests/backup-bareos-test b/tests/backup-bareos-test index 03f61f3..71360ca 100755 --- a/tests/backup-bareos-test +++ b/tests/backup-bareos-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="backup-bareos-test" @@ -16,10 +16,19 @@ scripts/copy-confs # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp $rscripts/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >$conf/bareos-dir.conf + +change_jobname BackupClient1FileList $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz -change_jobname BackupClient1 $JobName start_test cat <$tmp/bconcmds @@ -86,14 +95,13 @@ END_OF_DATA # # Now do a second backup after making a few changes # -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx -# +echo "test test" > ${BackupDirectory}/xxx run_bareos check_for_zombie_jobs storage=File stop_bareos check_two_logs -check_restore_diff +check_restore_diff ${BackupDirectory} end_test + diff --git a/tests/backup-to-null b/tests/backup-to-null index bd5e280..18739b2 100755 --- a/tests/backup-to-null +++ b/tests/backup-to-null @@ -1,6 +1,9 @@ #!/bin/sh + +. scripts/functions + # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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 @@ -8,15 +11,22 @@ # TestName="backup-to-null" JobName=backuptonull -. scripts/functions scripts/cleanup scripts/copy-fifo-confs -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list change_jobname NightlySave $JobName -rm -f ${cwd}/tmp/log1.out ${cwd}/tmp/log2.out start_test @@ -38,13 +48,11 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=Dummy -stop_bareos # # Now do a second backup after making a few changes # -touch ${cwd}/build/src/dird/*.c -echo "test test" > ${cwd}/build/src/dird/xxx +echo "test test" > ${BackupDirectory}/xxx cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -59,7 +67,7 @@ messages quit END_OF_DATA -run_bareos +run_bconsole check_for_zombie_jobs storage=Dummy stop_bareos @@ -72,3 +80,4 @@ dstat=$? rstat=0 end_test + diff --git a/tests/backup-win32-tape b/tests/backup-win32-tape index 1bac40e..1592c8f 100755 --- a/tests/backup-win32-tape +++ b/tests/backup-win32-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # to a tape then restore it, we do that twice to ensure that # we can correctly append to a tape. # @@ -13,12 +13,17 @@ require_tape_drive_drive scripts/cleanup-tape scripts/copy-win32-confs -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz change_jobname $JobName start_test - cat <${cwd}/tmp/bconcmds @$out /dev/null messages @@ -46,5 +51,5 @@ check_for_zombie_jobs storage=tape stop_bareos check_two_logs -check_restore_diff +check_restore_diff "$BackupDirectory" end_test diff --git a/tests/bad-label-changer b/tests/bad-label-changer index a7b2a54..ca6dd0d 100755 --- a/tests/bad-label-changer +++ b/tests/bad-label-changer @@ -15,14 +15,22 @@ 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/bareos-sd.conf ${cwd}/tmp/1 #sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf change_jobname $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + start_test # Write out bconsole commands @@ -74,3 +82,4 @@ stop_bareos check_two_logs check_restore_diff end_test + diff --git a/tests/bandwidth-limit-per-client-test b/tests/bandwidth-limit-per-client-test index c8643b6..12438fb 100755 --- a/tests/bandwidth-limit-per-client-test +++ b/tests/bandwidth-limit-per-client-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the Sparse option then restore it. +# Run a simple backup using the Sparse option then restore it. # TestName="bandwidth-limit-per-client-test" JobName=BackupClient1 @@ -10,7 +10,7 @@ scripts/cleanup scripts/copy-test-confs rm -f bin/bareos-dir.conf -/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf bin/bareos-dir.conf +/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf ${configs}/bareos-dir.conf # # create test data @@ -56,3 +56,4 @@ else fi end_test + diff --git a/tests/base-job-test b/tests/base-job-test index 5aee5d2..985a0d5 100755 --- a/tests/base-job-test +++ b/tests/base-job-test @@ -1,13 +1,39 @@ #!/bin/sh # -# Run a basejob backup of the Bareos build directory +# Run a basejob backup # then restore it. # TestName="base-job-test" JobName=backup . scripts/functions -$rscripts/cleanup + +p() { + echo "##############################################" >> ${cwd}/tmp/log1.out + echo "$*" >> ${cwd}/tmp/log1.out + echo "##############################################" >> ${cwd}/tmp/log2.out + echo "$*" >> ${cwd}/tmp/log2.out + if is_debug; then + echo "##############################################" + echo "$*" + fi +} + +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/po.tgz copy_test_confs echo 's/backup_advance/base_backup/' > $tmp/s @@ -20,37 +46,25 @@ cp tmp/1 $conf/bareos-fd.conf change_jobname BackupClient1 $JobName -p() { - echo "##############################################" >> ${cwd}/tmp/log1.out - echo "$*" >> ${cwd}/tmp/log1.out - echo "##############################################" >> ${cwd}/tmp/log2.out - echo "$*" >> ${cwd}/tmp/log2.out -} - -# cleanup -rm -rf ${cwd}/build/accurate.new -rm -rf ${cwd}/build/accurate - - # add extra files -mkdir ${cwd}/build/accurate -mkdir ${cwd}/build/accurate/dirtest -echo "test test" > ${cwd}/build/accurate/dirtest/hello -echo "test test" > ${cwd}/build/accurate/xxx -echo "test test" > ${cwd}/build/accurate/yyy -echo "test test" > ${cwd}/build/accurate/zzz -echo "test test" > ${cwd}/build/accurate/zzzzzz -echo "test test" > ${cwd}/build/accurate/xxxxxx -echo "test test" > ${cwd}/build/accurate/yyyyyy -echo "test test" > ${cwd}/build/accurate/xxxxxxxxx -echo "test test" > ${cwd}/build/accurate/yyyyyyyyy -echo "test test" > ${cwd}/build/accurate/zzzzzzzzz -echo ${cwd}/build > ${cwd}/tmp/file-list +mkdir -p ${BackupDirectory}/build/accurate +mkdir -p ${BackupDirectory}/build/accurate/dirtest +echo "test test" > ${BackupDirectory}/build/accurate/dirtest/hello +echo "test test" > ${BackupDirectory}/build/accurate/xxx +echo "test test" > ${BackupDirectory}/build/accurate/yyy +echo "test test" > ${BackupDirectory}/build/accurate/zzz +echo "test test" > ${BackupDirectory}/build/accurate/zzzzzz +echo "test test" > ${BackupDirectory}/build/accurate/xxxxxx +echo "test test" > ${BackupDirectory}/build/accurate/yyyyyy +echo "test test" > ${BackupDirectory}/build/accurate/xxxxxxxxx +echo "test test" > ${BackupDirectory}/build/accurate/yyyyyyyyy +echo "test test" > ${BackupDirectory}/build/accurate/zzzzzzzzz +echo ${BackupDirectory} > ${cwd}/tmp/file-list start_test cat <${cwd}/tmp/bconcmds -@output /dev/null +@$out /dev/null messages label volume=TestVolume001 storage=File pool=Default messages @@ -59,7 +73,7 @@ END_OF_DATA run_bareos ################################################################ -p Now do a backup using base backup +p "Now do a backup using base backup" ################################################################ echo ${cwd}/bin >> ${cwd}/tmp/file-list @@ -74,7 +88,7 @@ END_OF_DATA run_bconsole -echo ${cwd}/build > ${cwd}/tmp/file-list +echo ${BackupDirectory}/build > ${cwd}/tmp/file-list cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log4.out @@ -92,12 +106,11 @@ wait messages END_OF_DATA - run_bconsole check_for_zombie_jobs storage=File check_two_logs -check_restore_diff +check_restore_diff ${BackupDirectory}/build || exit 1 rm -rf ${cwd}/tmp/bareos-restores @@ -114,8 +127,12 @@ if [ $? -ne 0 ]; then fi ################################################################ -p Now do a backup after making few changes +p "Now do a backup after making few changes" ################################################################ + +rm ${BackupDirectory}/build/accurate/yyyyyy # delete a file +rm -rf ${BackupDirectory}/build/accurate/dirtest + cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out update volume=TestVolume002 volstatus=Used @@ -134,21 +151,17 @@ wait messages END_OF_DATA -rm ${cwd}/build/accurate/yyyyyy # delete a file -rm -rf ${cwd}/build/accurate/dirtest - - run_bconsole check_for_zombie_jobs storage=File check_two_logs -check_restore_diff +check_restore_diff || exit 1 check_files_written ${cwd}/tmp/log1.out 4 rm -rf ${cwd}/tmp/bareos-restores ################################################################ -p Test the job purge +p "Test the job purge" ################################################################ cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log3.out @@ -172,10 +185,10 @@ fi ################################################################ -p Test list commands +p "Test list commands" ################################################################ -touch ${cwd}/build/po/fr.po +touch ${BackupDirectory}/build/po/fr.po cat <${cwd}/tmp/bconcmds run level=full job=backup yes diff --git a/tests/bconsole-test b/tests/bconsole-test index a15d54c..4f5ab09 100755 --- a/tests/bconsole-test +++ b/tests/bconsole-test @@ -15,8 +15,8 @@ scripts/copy-test-confs # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp $conf/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >$conf/bareos-dir.conf change_jobname BackupClient1 $JobName start_test diff --git a/tests/bextract-test b/tests/bextract-test index df37843..e9c1bf3 100755 --- a/tests/bextract-test +++ b/tests/bextract-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # split the archive into two volumes, then build a BSR with # the restore command and use bextract to restore the files. # @@ -10,9 +10,17 @@ JobName="bextract" scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + + start_test cat <${cwd}/tmp/bconcmds @@ -21,7 +29,7 @@ messages @$out ${cwd}/tmp/log1.out label storage=File1 volume=TestVolume001 pool=Default label storage=File1 volume=TestVolume002 pool=Default -update Volume=TestVolume001 MaxVolBytes=3000000 +update Volume=TestVolume001 MaxVolBytes=10000 @#setdebug level=400 dir setdebug level=400 storage=File1 run job=$JobName storage=File1 yes @@ -44,9 +52,9 @@ stop_bareos mkdir -p ${cwd}/tmp/bareos-restores if test "$debug" -eq 1 ; then - $bin/bextract -v -b working/restore.bsr ${cwd}/tmp ${cwd}/tmp/bareos-restores + $bin/bextract -v -c ${conf} -b working/restore.bsr ${cwd}/tmp ${cwd}/tmp/bareos-restores else - $bin/bextract -b working/restore.bsr ${cwd}/tmp ${cwd}/tmp/bareos-restores 2>&1 >/dev/null + $bin/bextract -c ${conf} -b working/restore.bsr ${cwd}/tmp ${cwd}/tmp/bareos-restores 2>&1 >/dev/null fi rstat=$? grep "^ Termination: *Backup OK" ${cwd}/tmp/log1.out 2>&1 >/dev/null diff --git a/tests/big-fileset-test b/tests/big-fileset-test index 72d63eb..c85b026 100755 --- a/tests/big-fileset-test +++ b/tests/big-fileset-test @@ -9,12 +9,21 @@ JobName=BigFileSet copy_test_confs -echo "${cwd}/build" >${cwd}/tmp/file-list - cp ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 sed "s%# Label Format% Label Format%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf change_jobname MonsterFileSet $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +# TODO: use a larger data directory. +setup_data data/small.tgz + start_test cat <${cwd}/tmp/bconcmds @@ -77,3 +86,4 @@ dstat=0 bstat=0 rstat=0 end_test + diff --git a/tests/big-virtual-changer-test b/tests/big-virtual-changer-test index 68c2558..e647032 100755 --- a/tests/big-virtual-changer-test +++ b/tests/big-virtual-changer-test @@ -1,9 +1,10 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory. Create three +# Run a simple backup. +# Create three # tapes, each in a different pool, then run two jobs both of which # want the disk that is not loaded. Note, they both have -# prefers non-mounted tapes. This should expose bug #801 +# prefers non-mounted tapes. # # This test the SD Virtual autochanger feature. It is a disk based # "autochanger", but does not use any changer script. @@ -18,12 +19,24 @@ scripts/prepare-disk-changer CLIENT=2drive2disk -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 -echo "${cwd}/build" >>${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +# TODO: use a larger data directory. +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list + #change_jobname Virtual $JobName start_test diff --git a/tests/big-vol-test b/tests/big-vol-test index 3521bc4..9ffa999 100755 --- a/tests/big-vol-test +++ b/tests/big-vol-test @@ -10,10 +10,18 @@ JobName=bigvol scripts/cleanup scripts/copy-test-confs -cwd=`pwd` -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + + start_test cat <${cwd}/tmp/bconcmds @@ -34,15 +42,13 @@ check_for_zombie_jobs storage=File # # Now increase the size of the Volume using gigaslam # -cd ${cwd}/tmp # make big file size=5200000000 -${cwd}/bin/grow TestVolume001 ${size} +${bin}/grow ${tmp}/TestVolume001 ${size} if [ $? != 0 ]; then - echo "Execute of ${cwd}/bin/grow failed." + echo "Execute of ${bin}/grow failed." exit 1 fi -cd ${cwd} cat <${cwd}/tmp/bconcmds @$out /dev/null diff --git a/tests/broken-media-bug-2-test b/tests/broken-media-bug-2-test index 8c90b25..d9d34e5 100755 --- a/tests/broken-media-bug-2-test +++ b/tests/broken-media-bug-2-test @@ -4,7 +4,7 @@ # # This test will wait forever whilst the last job waits for an appendable # volume. -# You can run ./bin/bconsole -c bin/bconsole.conf from within the regress +# You can run ./${bin}/bconsole -c ${conf}/bconsole.conf from within the regress # directory, and use 'list media' to see where the volumes have ended up, as # well as any other commands you like. # @@ -24,17 +24,25 @@ # (that is now in the wrong pool) to 'Used'. TestName="broken-media-bug-2-test" +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + . scripts/functions -cwd=`pwd` scripts/cleanup + /bin/cp -f scripts/broken-media-bug-2-bareos-dir.conf bin/bareos-dir.conf /bin/cp -f scripts/broken-media-bug-2-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -hugefile=${cwd}/build/hugefile +hugefile=${BackupDirectory}/hugefile hugefilesize=300 -echo "${cwd}/build" >${cwd}/tmp/file-list + + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz start_test diff --git a/tests/broken-media-bug-test b/tests/broken-media-bug-test index e101ee3..817ca3e 100644 --- a/tests/broken-media-bug-test +++ b/tests/broken-media-bug-test @@ -22,9 +22,22 @@ scripts/cleanup /bin/cp -f scripts/test-bareos-sd.conf bin/bareos-sd.conf /bin/cp -f scripts/test-bareos-fd.conf bin/bareos-fd.conf /bin/cp -f scripts/test-console.conf bin/bconsole.conf -hugefile=${cwd}/build/hugefile +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +hugefile=${BackupDirectory}/hugefile hugefilesize=300 -echo "${cwd}/build" >${cwd}/tmp/file-list + + + start_test @@ -74,5 +87,4 @@ stop_bareos check_two_logs check_restore_diff -rm -f "$hugefile" end_test diff --git a/tests/bscan-fast-tape b/tests/bscan-fast-tape index 2622149..ad73e44 100755 --- a/tests/bscan-fast-tape +++ b/tests/bscan-fast-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup 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. @@ -13,12 +13,20 @@ require_tape_drive copy_tape_confs -echo "${cwd}/build" >${cwd}/tmp/file-list - cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 # sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf change_jobname NightlySave $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + start_test cat <tmp/bconcmds @@ -85,7 +93,7 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=tape stop_bareos -rm -f ${cwd}/build/src/lib/dummy +#rm -f ${BackupDirectory}/src/lib/dummy check_two_logs check_restore_diff diff --git a/tests/bscan-tape b/tests/bscan-tape index d2c84f3..d507ac9 100755 --- a/tests/bscan-tape +++ b/tests/bscan-tape @@ -1,26 +1,35 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup 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. # -. scripts/functions TestName="bscan-tape" JobName=bscantape -BackupDirectory="${cwd}/build/src/" +. scripts/functions require_tape_drive copy_tape_confs +change_jobname NightlySave $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + echo "${BackupDirectory}" >${tmp}/file-list -cp ${cwd}/bin/bareos-sd.conf tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" tmp/1 >${cwd}/bin/bareos-sd.conf +cp ${conf}/bareos-sd.conf tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" tmp/1 >${conf}/bareos-sd.conf -change_jobname NightlySave $JobName start_test cat <tmp/bconcmds @@ -40,8 +49,7 @@ check_for_zombie_jobs storage=tape 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 +echo "test test" > ${BackupDirectory}/additional2.txt # # run a second job @@ -60,23 +68,21 @@ run_bconsole scripts/check_for_zombie_jobs storage=tape echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +echo "test test" > ${BackupDirectory}/additional3.txt + # # run a third job # - run_bconsole scripts/check_for_zombie_jobs storage=tape 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 +echo "test test" > ${BackupDirectory}/additional4.txt + # # run a fourth job # - run_bconsole scripts/check_for_zombie_jobs storage=tape @@ -128,8 +134,8 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=tape stop_bareos -rm -f ${cwd}/build/src/lib/dummy check_two_logs check_restore_diff ${BackupDirectory} end_test + diff --git a/tests/bscan-test b/tests/bscan-test index bd2f04a..f429b3f 100755 --- a/tests/bscan-test +++ b/tests/bscan-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # split the archive into two volumes then bscan it # into the catalog after the backup. It also to a limited # extent tests the purge volume and delete volume commands. @@ -12,9 +12,19 @@ JobName=bscan scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >tmp/file-list change_jobname NightlySave $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + + start_test cat <tmp/bconcmds @@ -25,7 +35,7 @@ label storage=File1 TestVolume001 label storage=File1 TestVolume002 -update Volume=TestVolume001 MaxVolBytes=3000000 +update Volume=TestVolume001 MaxVolBytes=10000 run job=$JobName storage=File1 yes wait @@ -66,12 +76,14 @@ else PASSWD="-P ${db_password}" fi -if test "$debug" -eq 1 ; then - $bin/bscan -w working $BSCANLIBDBI -u ${db_user} -n ${db_name} $PASSWD -m -s -v -b tmp/bscan.bsr ${cwd}/tmp -else - $bin/bscan -w working $BSCANLIBDBI -u ${db_user} -n ${db_name} $PASSWD -m -s -v -b tmp/bscan.bsr ${cwd}/tmp >tmp/log3.out 2>&1 +BSCAN_OUT="write_stdin_to_file ${tmp}/log-bscan.out" +if is_debug; then + BSCAN_OUT="tee ${tmp}/log-bscan.out" fi +#$bin/bscan -w ${working} $BSCANLIBDBI -u ${db_user} -n ${db_name} $PASSWD -m -s -v -b tmp/bscan.bsr ${cwd}/tmp >tmp/log3.out 2>&1 +$bin/bscan -c ${conf} $BSCANLIBDBI -B ${DBTYPE} -n ${db_name} -u ${db_user} $PASSWD -m -s -v -b $tmp/bscan.bsr ${tmp} 2>&1 | $BSCAN_OUT + cat <tmp/bconcmds @$out /dev/null messages diff --git a/tests/bsr-opt-test b/tests/bsr-opt-test index 1e4abd1..b736739 100755 --- a/tests/bsr-opt-test +++ b/tests/bsr-opt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # split the archive into two volumes, then restore # files on only one of the volumes and ensure that # the other volume is not used. I.e. bsr optimization @@ -12,9 +12,16 @@ JobName=bsr-opt scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + start_test cat <${cwd}/tmp/bconcmds @@ -23,7 +30,7 @@ messages @$out ${cwd}/tmp/log1.out label storage=File1 volume=TestVolume001 label storage=File1 volume=TestVolume002 -update Volume=TestVolume001 MaxVolBytes=3000000 +update Volume=TestVolume001 MaxVolBytes=10000 run job=$JobName storage=File1 yes wait messages @@ -34,7 +41,7 @@ messages setdebug level=150 storage=File1 restore bootstrap=${cwd}/working/restore.bsr where=${cwd}/tmp/bareos-restores select storage=File1 unmark * -cd ${cwd}/build/src/cats +cd ${BackupDirectory} mark * ls done @@ -54,28 +61,14 @@ stop_bareos # grep TestVolume002 working/restore.bsr 2>&1 >/dev/null bsrstat=$? +if [ $bsrstat != 0 ]; then + echo " !!!!! Volume selection error !!!!! " + echo " !!!!! Volume selection error !!!!! " >>test.out +fi + check_two_logs -diff -r build/src/cats ${cwd}/tmp/bareos-restores${cwd}/build/src/cats 2>&1 >/dev/null -if [ $? != 0 -o $bsrstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! bsr-opt-test Bareos source failed!!! !!!!! " - echo " !!!!! bsr-opt-test failed!!! !!!!! " >>test.out - if [ $bstat != 0 -o $rstat != 0 ] ; then - echo " !!!!! Bad Job termination status !!!!! " - echo " !!!!! Bad Job termination status !!!!! " >>test.out - elif [ $bsrstat != 0 ] ; then - echo " !!!!! Volume selection error !!!!! " - echo " !!!!! Volume selection error !!!!! " >>test.out - else - echo " !!!!! Restored files differ !!!!! " - echo " !!!!! Restored files differ !!!!! " >>test.out - fi - echo " " - exit 1 -else - echo " ===== bsr-opt-test Bareos source OK `date +%R:%S` ===== " - echo " ===== bsr-opt-test OK `date +%R:%S` ===== " >>test.out - scripts/cleanup -fi +check_restore_diff + +# end tests and check for error codes +end_test diff --git a/tests/bsr-read-test b/tests/bsr-read-test index 1169f3e..76d99db 100755 --- a/tests/bsr-read-test +++ b/tests/bsr-read-test @@ -12,12 +12,16 @@ scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -cp ${cwd}/build/configure ${cwd}/tmp -cat ${cwd}/build/configure >> ${cwd}/tmp/configure -echo "${cwd}/tmp/configure" >${cwd}/tmp/file-list -echo "${cwd}/build" >>${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + start_test cat <${cwd}/tmp/bconcmds @@ -41,8 +45,6 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -echo "${cwd}/build" >${cwd}/tmp/file-list - cat <${cwd}/tmp/bconcmds @$out /dev/null messages @@ -110,7 +112,7 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -# check_restore_tmp_build_diff +check_restore_diff dstat=0 perl -ne ' @@ -151,3 +153,4 @@ if [ $? -eq 0 ]; then fi end_test + diff --git a/tests/bug-1227 b/tests/bug-1227 index 8b96852..af8b2e5 100755 --- a/tests/bug-1227 +++ b/tests/bug-1227 @@ -11,12 +11,20 @@ require_tape_drive scripts/copy-tape-confs scripts/cleanup-tape -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list change_jobname NightlySave $JobName start_test - # Write out bconsole commands cat <${cwd}/tmp/bconcmds @$out /dev/null diff --git a/tests/bug-897 b/tests/bug-897 index 77c0221..60bc725 100755 --- a/tests/bug-897 +++ b/tests/bug-897 @@ -17,14 +17,23 @@ rm -f ${cwd}/tmp/RUN_FD_FAILED /bin/cp -f scripts/bareos-dir.conf.testrunscript bin/bareos-dir.conf -echo "${cwd}/build/po" >${cwd}/tmp/file-list -echo "${cwd}/tmp/fifo" >> ${cwd}/tmp/file-list -mkfifo "${cwd}/tmp/fifo" +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list +echo "${tmp}/fifo" >> ${tmp}/file-list +mkfifo "${tmp}/fifo" # use this to be able to cancel a running job ( - cat > ${cwd}/tmp/fifo < /dev/zero - cat > ${cwd}/tmp/fifo < /dev/zero + cat > ${tmp}/fifo < /dev/zero + cat > ${tmp}/fifo < /dev/zero ) & start_test diff --git a/tests/bvfs-test b/tests/bvfs-test index aab0c0f..4c18353 100755 --- a/tests/bvfs-test +++ b/tests/bvfs-test @@ -2,16 +2,9 @@ . scripts/functions -# -# Example regression test. -# -# Use this as a template for your own tests. -# - # Define the Name of the test as "TestName". # Should be the same as the filename, therefore we use the filename as default. TestName="`basename $0`" -#TestName="1-example-test" # set other test specific variables Client=bareos-fd @@ -20,9 +13,8 @@ BackupJobIds="1,2" BvfsPathId="b201" # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" BackupFileExtra=${BackupDirectory}/extrafile.txt # Remove old configuration, working and tmp files. Setup the database. @@ -42,6 +34,10 @@ copy_configs # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # start the test start_test @@ -96,20 +92,34 @@ cat <${tmp}/bconcmds .bvfs_lsdir jobid=${BackupJobIds} path=/ @$out ${tmp}/log-bvfs-lsdir-BackupDirectory.out w -.bvfs_lsdir jobid=${BackupJobIds} path=${BackupDirectory} +.bvfs_lsdir jobid=${BackupJobIds} path=${BackupDirectory}/ @$out ${tmp}/log-bvfs-lsfiles-BackupDirectory.out w -.bvfs_lsfiles jobid=${BackupJobIds} pathid=1 +@#.bvfs_lsfiles jobid=${BackupJobIds} pathid=1 +.bvfs_lsfiles jobid=${BackupJobIds} path=${BackupDirectory}/ @$out ${tmp}/log-bvfs-versions-extrafile.out w -.bvfs_versions jobid=0 client=${Client} path=${BackupDirectory} fname=extrafile.txt +.bvfs_versions jobid=0 client=${Client} path=${BackupDirectory}/ fname=extrafile.txt +END_OF_DATA + +run_bconsole +LOG=${tmp}/log-bvfs-lsdir-BackupDirectory.out +# expect: +# 1 0 19 1 x GoHK EHt C GHH GHH A BAA BAA I BWDNOj BZwlgI BZwlgI A A C . +# 2 0 0 0 A A A A A A A A A A A A A A .. +# need to get dirid of "." +DirId=$(sed -n 's/^\([0-9]\+\)\W.*[a-zA-Z]\+\W\.$/\1/p' $LOG) +if [ -z "$DirId" ]; then + set_error "failed to find DirId of backup directory (using '.bvfs_lsdir path=${BackupDirectory}/')." +fi +cat <${tmp}/bconcmds @$out ${tmp}/log-bvfs-restore.out w @# @# now do a restore @# -.bvfs_restore path=${BvfsPathId} jobid=${BackupJobIds} dirid=1 -@#.bvfs_restore fileid=numlist dirid=numlist hardlink=numlist path=b201 +@#.bvfs_restore path=b201 fileid=numlist dirid=numlist hardlink=numlist path=b201 +.bvfs_restore path=${BvfsPathId} jobid=${BackupJobIds} dirid=${DirId} restore client=${Client} where=${tmp}/bareos-restores storage=File1 file=?${BvfsPathId} yes wait @@ -123,6 +133,8 @@ messages @$out ${tmp}/log-bvfs-cleanup.out w .sql query="SELECT count(*) FROM ${BvfsPathId};" .bvfs_cleanup path=${BvfsPathId} +@# table should not exist any more, so query will fail. Don't log. +@$out /dev/null .sql query="SELECT count(*) FROM ${BvfsPathId};" @$out ${tmp}/log-bvfs-clear-cache.out w @@ -181,9 +193,8 @@ check_log ${LOG} # expect: # 1 0 19 1 x GoHK EHt C GHH GHH A BAA BAA I BWDNOj BZwlgI BZwlgI A A C . # 2 0 0 0 A A A A A A A A A A A A A A .. -# pathid=1, as this is the first directory with content. -if ! grep -q "^1.*\W\.$" ${LOG}; then - set_error "failed to find backup directory (using '.bvfs_lsdir path=${BackupDirectory}')." +if ! grep -q "^[0-9]\+\W.*\W\.$" ${LOG}; then + set_error "failed to find backup directory (using '.bvfs_lsdir path=${BackupDirectory}/')." fi LOG=${tmp}/log-bvfs-lsfiles-BackupDirectory.out diff --git a/tests/comment-test b/tests/comment-test index a87d147..2f43643 100755 --- a/tests/comment-test +++ b/tests/comment-test @@ -1,21 +1,30 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do an Incremental and restore those two files. # -TestName="incremental-test" +TestName="comment-test" JobName=Incremental . scripts/functions ${rscripts}/cleanup ${rscripts}/copy-test-confs -echo "${tmpsrc}" >${tmp}/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmpsrc}" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + mkdir -p ${tmpsrc} -cp -p ${src}/src/dird/*.c ${tmpsrc} -cd ${tmp} -echo "${tmpsrc}/ficheriro1.txt" >restore-list -echo "${tmpsrc}/ficheriro2.txt" >>restore-list -cd ${cwd} +cp -p ${tmp}/data/*.c ${tmpsrc} +echo "${tmpsrc}/ficheriro1.txt" >${tmp}/restore-list +echo "${tmpsrc}/ficheriro2.txt" >>${tmp}/restore-list change_jobname CompressedTest $JobName start_test @@ -46,7 +55,7 @@ check_for_zombie_jobs storage=File # sleep 1 echo "ficheriro1.txt" >${tmpsrc}/ficheriro1.txt -cp -f ${tmpsrc}/dird.c ${tmpsrc}/ficheriro2.txt +echo "ficheriro2.txt" >${tmpsrc}/ficheriro2.txt cat <${tmp}/bconcmds @$out /dev/null @@ -94,11 +103,7 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${tmpsrc}/*.c -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` grep "This is a comment for $JobName" $tmp/log3.out >/dev/null if [ $? != 0 ]; then diff --git a/tests/compress-encrypt-test b/tests/compress-encrypt-test index 3ae9b10..cb3601a 100755 --- a/tests/compress-encrypt-test +++ b/tests/compress-encrypt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup with encryption and compression of the Bareos build directory +# Run a simple backup with encryption and compression # then verify the signatures. # TestName="compressed-encrypt-test" @@ -9,7 +9,17 @@ JobName=CompressedTest scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list start_test diff --git a/tests/compressed-test b/tests/compressed-test index f4400d6..981dd60 100755 --- a/tests/compressed-test +++ b/tests/compressed-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # TestName="compressed-test" @@ -9,9 +9,19 @@ JobName=compressed scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/config-add-client-test b/tests/config-add-client-test index c12952e..59269d2 100755 --- a/tests/config-add-client-test +++ b/tests/config-add-client-test @@ -16,7 +16,6 @@ NewClient="dynclient1-fd" cleanup copy_configs -echo "${BackupDirectory}" >${tmp}/file-list start_test diff --git a/tests/copy-job-test b/tests/copy-job-test index 838f371..c86dec5 100755 --- a/tests/copy-job-test +++ b/tests/copy-job-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then copy it +# Run a simple backup then copy it # to another device. # # This script uses the virtual disk autochanger @@ -13,12 +13,19 @@ JobName=CopyJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf +change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz -change_jobname NightlySave $JobName start_test # diff --git a/tests/copy-jobspan-test b/tests/copy-jobspan-test index 79ca171..8061d0c 100755 --- a/tests/copy-jobspan-test +++ b/tests/copy-jobspan-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device. # # Test copy a job that spans two Volumes @@ -15,13 +15,21 @@ JobName=CopyJobSpanSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + + start_test # diff --git a/tests/copy-time-test b/tests/copy-time-test index 3a89685..2562b5f 100755 --- a/tests/copy-time-test +++ b/tests/copy-time-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then copy it +# Run a simple backup then copy it # to another device. # # This script uses the virtual disk autochanger @@ -13,11 +13,19 @@ JobName=CopyJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + + start_test # diff --git a/tests/copy-uncopied-test b/tests/copy-uncopied-test index a061d86..5482798 100755 --- a/tests/copy-uncopied-test +++ b/tests/copy-uncopied-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the Bareos build directory on two Volumes +# Run a backup on two Volumes # then copy it to another device. # # This script uses the virtual disk autochanger and migration scripts @@ -13,14 +13,19 @@ JobName=MigVolBackup scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list #cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 #sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - change_jobname NightlySave $JobName sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf -rm -f ${cwd}/build/po/test.po >/dev/null + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz touch ${cwd}/tmp/log2.out diff --git a/tests/copy-upgrade-test b/tests/copy-upgrade-test index ab9f5e2..b97d21e 100755 --- a/tests/copy-upgrade-test +++ b/tests/copy-upgrade-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then copy it +# Run a simple backup then copy it # to another device. We test that when the original job is purged # the next copy is "upgraded" to Type=B # @@ -14,12 +14,19 @@ JobName=CopyJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf +change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz -change_jobname NightlySave $JobName start_test # @@ -44,7 +51,7 @@ END_OF_DATA run_bareos -echo test > ${cwd}/build/po/test +echo test > ${BackupDirectory}/test cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out @@ -55,7 +62,7 @@ END_OF_DATA run_bconsole -echo test1 > ${cwd}/build/po/test1 +echo test1 > ${BackupDirectory}/test1 cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out @@ -164,7 +171,7 @@ delete jobid=3,9,15 EOF run_bconsole -rm -f ${cwd}/build/po/test1 +rm -f ${BackupDirectory}/test1 rm -rf ${cwd}/tmp/bareos-restores run_bconsole ${cwd}/tmp/bconcmds.resto check_two_logs diff --git a/tests/copy-volume-test b/tests/copy-volume-test index 28e2e61..1a32561 100755 --- a/tests/copy-volume-test +++ b/tests/copy-volume-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the Bareos build directory on two Volumes +# Run a backup on two Volumes # then copy it to another device. # # This script uses the virtual disk autochanger and migration scripts @@ -13,14 +13,23 @@ JobName=MigVolBackup scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list #cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 #sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - change_jobname NightlySave $JobName sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf -rm -f ${cwd}/build/po/test.po >/dev/null + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -131,7 +140,7 @@ check_restore_diff # cleanup previous restore rm -rf ${cwd}/tmp/bareos-restores -touch ${cwd}/build/po/test.po +touch ${BackupDirectory}/test.po cat <${cwd}/tmp/bconcmds @############################################################ diff --git a/tests/data-encrypt-aes256-test b/tests/data-encrypt-aes256-test index d646117..840965f 100755 --- a/tests/data-encrypt-aes256-test +++ b/tests/data-encrypt-aes256-test @@ -1,8 +1,7 @@ #!/bin/sh # # Run a simple backup with encryption and no other options -# (i.e. no compression and no sparse handling) of the -# Bareos build directory. +# (i.e. no compression and no sparse handling). # TestName="data-encrypt-aes256-test" JobName=Crypto-AES256 @@ -22,13 +21,25 @@ fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list fdcfg=$conf/bareos-fd.conf $bperl -e "add_attribute('$fdcfg', 'Compatible', 'No', 'FileDaemon')" $bperl -e "add_attribute('$fdcfg', 'PKI Cipher', 'aes256', 'FileDaemon')" change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -60,8 +71,8 @@ sleep 2 check_for_zombie_jobs storage=File stop_bareos -du -s build -du -s ${cwd}/tmp/bareos-restores/ +du -s ${BackupDirectory} +du -s ${tmp}/bareos-restores/ check_two_logs check_restore_diff diff --git a/tests/data-encrypt-blowfish-test b/tests/data-encrypt-blowfish-test index 91db024..507dc44 100755 --- a/tests/data-encrypt-blowfish-test +++ b/tests/data-encrypt-blowfish-test @@ -1,8 +1,7 @@ #!/bin/sh # # Run a simple backup with encryption and no other options -# (i.e. no compression and no sparse handling) of the -# Bareos build directory. +# (i.e. no compression and no sparse handling). # TestName="data-encrypt-blowfish-test" JobName=Crypto-blowfish @@ -22,13 +21,25 @@ fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list fdcfg=$conf/bareos-fd.conf $bperl -e "add_attribute('$fdcfg', 'Compatible', 'No', 'FileDaemon')" $bperl -e "add_attribute('$fdcfg', 'PKI Cipher', 'blowfish', 'FileDaemon')" change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -60,8 +71,8 @@ sleep 2 check_for_zombie_jobs storage=File stop_bareos -du -s build -du -s ${cwd}/tmp/bareos-restores/ +du -s ${BackupDirectory} +du -s ${tmp}/bareos-restores/ check_two_logs check_restore_diff diff --git a/tests/data-encrypt-camellia256-test b/tests/data-encrypt-camellia256-test index 02867e1..190d2bf 100755 --- a/tests/data-encrypt-camellia256-test +++ b/tests/data-encrypt-camellia256-test @@ -1,8 +1,7 @@ #!/bin/sh # # Run a simple backup with encryption and no other options -# (i.e. no compression and no sparse handling) of the -# Bareos build directory. +# (i.e. no compression and no sparse handling). # TestName="data-encrypt-camellia256-test" JobName=Crypto-camellia256 @@ -22,13 +21,25 @@ fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list fdcfg=$conf/bareos-fd.conf $bperl -e "add_attribute('$fdcfg', 'Compatible', 'No', 'FileDaemon')" $bperl -e "add_attribute('$fdcfg', 'PKI Cipher', 'camellia256', 'FileDaemon')" change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -60,8 +71,8 @@ sleep 2 check_for_zombie_jobs storage=File stop_bareos -du -s build -du -s ${cwd}/tmp/bareos-restores/ +du -s ${BackupDirectory} +du -s ${tmp}/bareos-restores/ check_two_logs check_restore_diff diff --git a/tests/data-encrypt-test b/tests/data-encrypt-test index 14f85b7..cd9bf4b 100755 --- a/tests/data-encrypt-test +++ b/tests/data-encrypt-test @@ -1,8 +1,7 @@ #!/bin/sh # # Run a simple backup with encryption and no other options -# (i.e. no compression and no sparse handling) of the -# Bareos build directory. +# (i.e. no compression and no sparse handling). # TestName="data-encrypt-test" JobName=Crypto @@ -10,9 +9,21 @@ JobName=Crypto scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -44,8 +55,8 @@ sleep 2 check_for_zombie_jobs storage=File stop_bareos -du -s build -du -s ${cwd}/tmp/bareos-restores/ +du -s ${BackupDirectory} +du -s ${tmp}/bareos-restores/ check_two_logs check_restore_diff diff --git a/tests/debug-test b/tests/debug-test index e4eca95..380a9aa 100755 --- a/tests/debug-test +++ b/tests/debug-test @@ -8,9 +8,20 @@ JobName=pluginTest scripts/cleanup scripts/copy-plugin-confs -echo "${cwd}/build/po" >${cwd}/tmp/file-list rm -f ${cwd}/working/*trace* +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/delete-test b/tests/delete-test index ba2f3d3..4c365c0 100755 --- a/tests/delete-test +++ b/tests/delete-test @@ -10,9 +10,19 @@ JobName=NightlySave scripts/cleanup scripts/copy-test-confs -start_test +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -echo $PWD/build/po > tmp/file-list + +start_test cat < ${cwd}/tmp/bconcmds @$out /dev/null @@ -22,11 +32,11 @@ label storage=File volume=TestVolume001 run job=$JobName level=full yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch ${BackupDirectory}/fr.po" run job=$JobName level=incremental yes wait messages -@exec "touch $cwd/build/po/de.po" +@exec "touch ${BackupDirectory}/de.po" run job=$JobName level=incremental yes wait messages diff --git a/tests/dev-test-root b/tests/dev-test-root index 51ef6d0..a414123 100755 --- a/tests/dev-test-root +++ b/tests/dev-test-root @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # diff --git a/tests/differential-test b/tests/differential-test index 4fe73ff..6fcf17a 100755 --- a/tests/differential-test +++ b/tests/differential-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do a differential and restore those two files. # TestName="differential-test" @@ -9,15 +9,23 @@ JobName=differential scripts/cleanup scripts/copy-test-confs -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -mkdir -p ${cwd}/tmp/build -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 CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + + start_test cat <${cwd}/tmp/bconcmds @@ -36,8 +44,8 @@ END_OF_DATA run_bareos scripts/check_for_zombie_jobs storage=File -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -53,7 +61,7 @@ END_OF_DATA run_bconsole scripts/check_for_zombie_jobs storage=File -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -78,9 +86,6 @@ scripts/check_for_zombie_jobs storage=File stop_bareos check_two_logs -# -# Delete .c files because we will only restore the txt files -# -rm -f ${cwd}/tmp/build/*.c -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` + end_test diff --git a/tests/dummy-test b/tests/dummy-test index f614a0a..8bb1b08 100755 --- a/tests/dummy-test +++ b/tests/dummy-test @@ -182,5 +182,5 @@ check_two_logs # Delete .c files because we will only restored the txt files # rm -f ${tmpsrc}/*.c -check_restore_tmp_build_diff +check_restore_diff "${tmpsrc}" end_test diff --git a/tests/duplicate-job-test b/tests/duplicate-job-test index 6b449a4..1067b30 100755 --- a/tests/duplicate-job-test +++ b/tests/duplicate-job-test @@ -6,7 +6,6 @@ TestName="duplicate-job-test" scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build/README.NDMP" >${cwd}/tmp/file-list # increase the maximum concurrent jobs for FD, SD and DIR perl -Mscripts::functions -e 'set_maximum_concurrent_jobs("$conf/bareos-dir.conf",100)' @@ -40,8 +39,20 @@ echo 's%CompressedTest%CancelRunningDuplicatesNo%' > $outf echo 's%Backup%Backup; AllowDuplicateJobs = no;CancelLowerLevelDuplicates=no;CancelQueuedDuplicates=no; CancelRunningDuplicates=no%' >> $outf sed -f $outf $tmp/1 >> $conf/bareos-dir.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + when=`perl -Mscripts::functions -e "get_time(300)"` + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/eighty-simultaneous-jobs-tape b/tests/eighty-simultaneous-jobs-tape index f7f1cea..68a0ba5 100755 --- a/tests/eighty-simultaneous-jobs-tape +++ b/tests/eighty-simultaneous-jobs-tape @@ -10,10 +10,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs +change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -echo "${cwd}/build" >${cwd}/tmp/file-list -change_jobname $JobName start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/eot-fail-tape b/tests/eot-fail-tape index e3057de..57c1b8b 100755 --- a/tests/eot-fail-tape +++ b/tests/eot-fail-tape @@ -8,16 +8,26 @@ JobName=eotfailtape require_tape_drive scripts/cleanup-tape -scripts/copy-tape-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list +scripts/copy-tape-confs outf="${cwd}/tmp/sed_tmp" echo "s%# Maximum File Size% Maximum File Size%g" >${outf} cp -f ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/errors-test b/tests/errors-test index fcba88f..e0732f5 100755 --- a/tests/errors-test +++ b/tests/errors-test @@ -13,7 +13,18 @@ copy_test_confs rm -f ${cwd}/tmp/*.log /bin/cp -f scripts/bareos-dir.conf.errors bin/bareos-dir.conf -echo "${cwd}/build/po" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/estimate-test b/tests/estimate-test index 144efca..00b0b6a 100755 --- a/tests/estimate-test +++ b/tests/estimate-test @@ -1,13 +1,28 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="estimate-test" . scripts/functions -JobName=BackupClient1 +JobName=BackupClient1FileList + +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz -scripts/cleanup scripts/copy-confs # @@ -16,14 +31,15 @@ scripts/copy-confs # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf start_test rm -rf ${cwd}/build/src/test ${cwd}/build/po/test -mkdir -p ${cwd}/build/src/test -touch ${cwd}/build/src/test/test1 ${cwd}/build/src/test/test2 +mkdir -p ${BackupDirectory}/build/src/test +mkdir -p ${BackupDirectory}/build/po/ +touch ${BackupDirectory}/build/src/test/test1 ${BackupDirectory}/build/src/test/test2 cat <$tmp/bconcmds @$out /dev/null @@ -49,7 +65,7 @@ run_bareos check_two_logs check_restore_diff -mv ${cwd}/build/src/test ${cwd}/build/po/test +mv ${BackupDirectory}/build/src/test ${BackupDirectory}/build/po/test cat <$tmp/bconcmds @$out /dev/null @@ -73,8 +89,8 @@ END_OF_DATA run_bconsole -cp $scripts/bareos-dir.conf $tmp/1 -sed 's/JobDefs {/JobDefs { Accurate=yes/' $tmp/1>$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed 's/JobDefs {/JobDefs { Accurate=yes/' $tmp/1>${conf}/bareos-dir.conf cat <$tmp/bconcmds @$out /dev/null @@ -99,7 +115,7 @@ END_OF_DATA run_bconsole -rm -rf ${cwd}/build/po/test +rm -rf ${BackupDirectory}/build/po/test grep test1 $tmp/log3.out > /dev/null if [ $? = 0 ]; then diff --git a/tests/etc-test-root b/tests/etc-test-root index 0a54b73..c61fafc 100755 --- a/tests/etc-test-root +++ b/tests/etc-test-root @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="etc-test-root" diff --git a/tests/exclude-dir-test b/tests/exclude-dir-test index 7bb6d2d..701997b 100755 --- a/tests/exclude-dir-test +++ b/tests/exclude-dir-test @@ -1,15 +1,20 @@ #!/bin/sh + +. scripts/functions + # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup a second time and finally restore it # TestName="exclude-dir-test" JobName=exclude-dir -. scripts/functions +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" -cwd=`pwd` scripts/cleanup scripts/copy-test-confs + cat >> $conf/bareos-dir.conf <$tmp/1 cp -f $tmp/1 $conf/bareos-dir.conf change_jobname CompressedTest $JobName -start_test -mkdir -p ${cwd}/build/src/xxtestdir -touch ${cwd}/build/src/xxtestdir/.nobkp -cp ${cwd}/build/src/dird/*.c ${cwd}/build/src/xxtestdir +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +mkdir -p ${BackupDirectory}/build/po +echo "test" > ${BackupDirectory}/build/po/fr.po +mkdir -p ${BackupDirectory}/build/src/xxtestdir +touch ${BackupDirectory}/build/src/xxtestdir/.nobkp +cp ${BackupDirectory}/*.c ${BackupDirectory}/build/src/xxtestdir + + +start_test cat >tmp/bconcmds < /dev/null if [ $? = 0 ]; then diff --git a/tests/fast-two-pool-test b/tests/fast-two-pool-test index e426b2f..7b0c0d4 100755 --- a/tests/fast-two-pool-test +++ b/tests/fast-two-pool-test @@ -1,11 +1,10 @@ #!/bin/sh # -# This is Arno's test. It uses two pools, two tapes, and +# This test 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 Bareos -# source code (i.e. the build directory). +# is in ${cwd}/tmp/file-list. # # Note, we use the virtual disk autochanger. # @@ -17,12 +16,22 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -# Make a relatively large backup set 5 x source code directory -# Reduced to 1 for portable -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 +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +# TODO: use larger backup data set. +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +# Make a relatively large backup by using making it multiple times. +echo "${BackupDirectory}" >${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list + start_test diff --git a/tests/fileregexp-test b/tests/fileregexp-test index 42b5701..47bcad1 100755 --- a/tests/fileregexp-test +++ b/tests/fileregexp-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # prune file records, then restore only README files. # TestName="fileregexp-test" @@ -16,12 +16,29 @@ scripts/copy-confs # outf="${tmp}/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp ${scripts}/bareos-dir.conf ${tmp}/1 -sed -f ${outf} ${tmp}/1 >${scripts}/bareos-dir.conf +cp ${conf}/bareos-dir.conf ${tmp}/1 +sed -f ${outf} ${tmp}/1 >${conf}/bareos-dir.conf -$bperl -e "add_attribute('${scripts}/bareos-dir.conf', 'File Retention', '2', 'Client')" +$bperl -e "add_attribute('${conf}/bareos-dir.conf', 'File Retention', '2', 'Client')" + +change_jobname BackupClient1FileList $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +mkdir -p ${BackupDirectory}/test/ +echo "test" > ${BackupDirectory}/test/t1.txt +echo "test" > ${BackupDirectory}/test/t2.txt +echo "test" > ${BackupDirectory}/test/t3.txt -change_jobname BackupClient1 $JobName start_test cat <${tmp}/bconcmds @@ -39,7 +56,8 @@ END_OF_DATA run_bareos -touch $cwd/build/po/* +# to make incremental backup +echo "test" > ${BackupDirectory}/inc1.dat cat <${tmp}/bconcmds run job=$JobName yes @@ -52,7 +70,7 @@ messages restore where=${tmp}/bareos-restores 5 no -README +.*\.txt yes wait messages @@ -65,14 +83,13 @@ stop_bareos # # The above restore should have restored some directories, but only -# files that have README in their name. There should in fact, be -# no other files restored COUNT_OTHER==0 and 10 README files restored. -# We complain if there are less than 8 +# files that have *.txt in their name. There should in fact, be +# no other files restored COUNT_OTHER==0 and more then 0 files restored. # -COUNT_OTHER=`find ${tmp}/bareos-restores -type f | grep -v README | wc -l` -COUNT_README=`find ${tmp}/bareos-restores -type f | grep README | wc -l` +COUNT_OTHER=`find ${tmp}/bareos-restores -type f | grep -v .txt$ | wc -l` +COUNT_README=`find ${tmp}/bareos-restores -type f | grep .txt$ | wc -l` -if [ $COUNT_OTHER -gt 0 -o $COUNT_README -lt 8 ]; then +if [ $COUNT_OTHER -gt 0 -o $COUNT_README -lt 1 ]; then print_debug "Found non matching files" print_debug "Count_other=$COUNT_OTHER count_readme=$COUNT_README" print_debug `find ${tmp}/bareos-restores -type f | grep -v README` diff --git a/tests/fileset-multiple-include-blocks b/tests/fileset-multiple-include-blocks index b601922..3f1c86c 100755 --- a/tests/fileset-multiple-include-blocks +++ b/tests/fileset-multiple-include-blocks @@ -16,11 +16,10 @@ Client=bareos-fd JobName=backup-bareos-fd Storage=File1 VolumeName=TestVolume001 +DataDirs="1 2 3 4" # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${tmp}/data/" +BackupDirectory="${tmp}/data" # Remove old configuration, working and tmp files. Setup the database. cleanup @@ -36,7 +35,7 @@ cleanup # only these will be taken. copy_configs -for i in 1 2 3 4; do +for i in $DataDirs; do mkdir -p ${tmp}/data/data$i echo "test" > ${tmp}/data/data$i/test.dat done @@ -84,7 +83,9 @@ check_two_logs # check for differences between original files and restored files # gives an error, because top-level data directory is not backuped # (and has therefore other permissions) -check_restore_diff ${BackupDirectory} +for i in $DataDirs; do + check_restore_diff ${BackupDirectory}/data$i +done # do some manual testing if ! [ -d ${BackupDirectory} ]; then diff --git a/tests/fileset-multiple-options-blocks b/tests/fileset-multiple-options-blocks index 2f3592f..5382bcf 100755 --- a/tests/fileset-multiple-options-blocks +++ b/tests/fileset-multiple-options-blocks @@ -19,7 +19,7 @@ VolumeName=TestVolume001 # Directory to backup. # This example uses a subdirectory of the bareos source/build directory, # that contains some file but isn't to large. -BackupDirectory="${tmp}/data/" +BackupDirectory="${tmp}/data" # Remove old configuration, working and tmp files. Setup the database. cleanup diff --git a/tests/fixed-block-size-tape b/tests/fixed-block-size-tape index 5b6431b..3fe2494 100755 --- a/tests/fixed-block-size-tape +++ b/tests/fixed-block-size-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # to a tape where we set the minimum and maximum block # sizes. # @@ -10,10 +10,9 @@ JobName=fixedblocksize require_tape_drive -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list +scripts/cleanup +copy_tape_confs cp ${cwd}/bin/bareos-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 @@ -28,6 +27,19 @@ fi rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test diff --git a/tests/four-concurrent-jobs-tape b/tests/four-concurrent-jobs-tape index 2e9c2d7..d1a02ef 100755 --- a/tests/four-concurrent-jobs-tape +++ b/tests/four-concurrent-jobs-tape @@ -11,9 +11,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/four-concurrent-jobs-test b/tests/four-concurrent-jobs-test index b5004f9..5840a8a 100755 --- a/tests/four-concurrent-jobs-test +++ b/tests/four-concurrent-jobs-test @@ -11,7 +11,19 @@ JobName=Four-concurrent-jobs scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/four-jobs-tape b/tests/four-jobs-tape index 37148c6..ec46a42 100755 --- a/tests/four-jobs-tape +++ b/tests/four-jobs-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # @@ -12,9 +12,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -30,8 +41,7 @@ run_bareos scripts/check_for_zombie_jobs storage=tape 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 +touch ${BackupDirectory}/*.c # # run a second job @@ -50,8 +60,8 @@ run_bconsole scripts/check_for_zombie_jobs storage=tape echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +touch ${BackupDirectory}/*.c + # # run a third job # @@ -70,7 +80,7 @@ run_bconsole scripts/check_for_zombie_jobs storage=tape echo "Backup 3 done" # make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +touch ${BackupDirectory}/*.c # # run a fourth job # diff --git a/tests/four-jobs-test b/tests/four-jobs-test index 79adc99..738fcc0 100755 --- a/tests/four-jobs-test +++ b/tests/four-jobs-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # @@ -10,7 +10,19 @@ JobName=SpanVol scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname CompressedTest $JobName start_test @@ -27,8 +39,8 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=File # 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 +touch ${BackupDirectory}/*.c +echo "test" > ${BackupDirectory}/test1.txt # # run a second job @@ -46,8 +58,8 @@ END_OF_DATA run_bconsole check_for_zombie_jobs storage=File -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +touch ${BackupDirectory}/*.c +echo "test" > ${BackupDirectory}/test2.txt # # run a third job # @@ -65,7 +77,8 @@ run_bconsole check_for_zombie_jobs storage=File # make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +touch ${BackupDirectory}/*.c +echo "test" > ${BackupDirectory}/test3.txt # # run a fourth job # diff --git a/tests/hardlink-test b/tests/hardlink-test index 9368d04..5a22528 100755 --- a/tests/hardlink-test +++ b/tests/hardlink-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="hardlink-test" diff --git a/tests/incremental-2disk b/tests/incremental-2disk index fabbd0a..634e28b 100755 --- a/tests/incremental-2disk +++ b/tests/incremental-2disk @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do an Incremental and restore those two files. # # This script uses the virtual disk autochanger @@ -13,17 +13,22 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir -p ${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 $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # Write out bconsole commands @@ -41,8 +46,8 @@ END_OF_DATA run_bareos -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @@ -72,13 +77,10 @@ run_bconsole check_for_zombie_jobs storage=File stop_bareos -# -# 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 +check_restore_files_diff `cat ${tmp}/restore-list` + # # This script seems to more or less randomly fail, so we @@ -90,7 +92,7 @@ if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then echo " " cat ${cwd}/tmp/log2.out echo " " - diff -r ${cwd}/tmp/build ${cwd}/tmp/bareos-restores${cwd}/tmp/build + diff -r ${BackupDirectory} ${cwd}/tmp/bareos-restores/${BackupDirectory} fi end_test diff --git a/tests/incremental-2media b/tests/incremental-2media index e60a4b6..17d3812 100755 --- a/tests/incremental-2media +++ b/tests/incremental-2media @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup, then create some # new files, do an Incremental onto a different medium # and then restore everything. # @@ -14,9 +14,20 @@ JobName=Inc2media scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # Write out bconsole commands @@ -34,10 +45,10 @@ END_OF_DATA run_bareos -echo "Backup 1 done" +print_debug "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 +echo "test" > ${BackupDirectory}/test1.txt +echo "test" > ${BackupDirectory}/test2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null diff --git a/tests/incremental-2media-tape b/tests/incremental-2media-tape index 01b99c7..daa9122 100755 --- a/tests/incremental-2media-tape +++ b/tests/incremental-2media-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup, then create some # new files, do an Incremental onto a different medium # and then restore everything. # @@ -14,26 +14,34 @@ require_tape_drive require_second_drive scripts/cleanup + # Get conf files /bin/cp -f scripts/bareos-dir-2d.conf bin/bareos-dir.conf /bin/cp -f scripts/bareos-sd-2d.conf bin/bareos-sd.conf /bin/cp -f scripts/bareos-fd-2d.conf bin/bareos-fd.conf /bin/cp -f scripts/bconsole-2d.conf bin/bconsole.conf -# get proper SD tape definitions -cp -f scripts/linux_tape_options bin/tape_options -if test x`uname` = xFreeBSD ; then - cp -f scripts/freebsd_tape_options bin/tape_options -fi +${rscripts}/set_tape_options mt -f /dev/nst0 rewind mt -f /dev/nst0 weof mt -f /dev/nst1 rewind mt -f /dev/nst1 weof -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # Write out bconsole commands @@ -53,8 +61,8 @@ run_bareos 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 +echo "test" > ${BackupDirectory}/test1.txt +echo "test" > ${BackupDirectory}/test2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null diff --git a/tests/incremental-changer b/tests/incremental-changer index c4caf48..7c5ce31 100755 --- a/tests/incremental-changer +++ b/tests/incremental-changer @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup. Then create some # new files, do an Incremental and restore those two files. # # This script uses the autochanger and two tapes @@ -16,15 +16,19 @@ 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 -p ${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} +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -43,8 +47,9 @@ END_OF_DATA run_bareos -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt + cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -76,10 +81,5 @@ stop_bareos 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 +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/incremental-tape b/tests/incremental-tape index aa372e4..ce0ff54 100755 --- a/tests/incremental-tape +++ b/tests/incremental-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup. Then create some # new files, do an Incremental and restore those two files. # TestName="incremental-tape" @@ -11,24 +11,28 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs +change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -if test ! -d ${cwd}/tmp/build ; then - mkdir -p ${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 @$out /dev/null messages -@$out ${cwd}/tmp/log1.out +@$out ${cwd}/tmp/log1.out label storage=tape volume=TestVolume001 slot=0 pool=Default run job=$JobName yes wait @@ -39,20 +43,21 @@ END_OF_DATA run_bareos check_for_zombie_jobs storage=tape -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt + cat <${cwd}/tmp/bconcmds @$out /dev/null messages -@$out ${cwd}/tmp/log1.out +@$out ${cwd}/tmp/log1.out run level=Incremental job=$JobName yes wait messages @# @# now do a restore @# -@$out ${cwd}/tmp/log2.out +@$out ${cwd}/tmp/log2.out restore where=${cwd}/tmp/bareos-restores storage=tape 7 <${cwd}/tmp/restore-list @@ -66,12 +71,8 @@ END_OF_DATA run_bconsole check_for_zombie_jobs storage=tape stop_bareos +check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${cwd}/tmp/build/*.c +check_restore_files_diff `cat ${tmp}/restore-list` -check_two_logs -check_restore_tmp_build_diff end_test diff --git a/tests/incremental-test b/tests/incremental-test index 8356c5c..9046624 100755 --- a/tests/incremental-test +++ b/tests/incremental-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup. Then create some # new files, do an Incremental and restore those two files. # TestName="incremental-test" @@ -9,15 +9,23 @@ JobName=Incremental ${rscripts}/cleanup ${rscripts}/copy-test-confs -echo "${tmpsrc}" >${tmp}/file-list -mkdir -p ${tmpsrc} -cp -p ${src}/src/dird/*.c ${tmpsrc} -cd ${tmp} -echo "${tmpsrc}/ficheriro1.txt" >restore-list -echo "${tmpsrc}/ficheriro2.txt" >>restore-list -cd ${cwd} - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + + start_test cat <${tmp}/bconcmds @@ -41,9 +49,9 @@ check_for_zombie_jobs storage=File # # Now create two new files to be restored later # -sleep 1 -echo "ficheriro1.txt" >${tmpsrc}/ficheriro1.txt -cp -f ${tmpsrc}/dird.c ${tmpsrc}/ficheriro2.txt +#sleep 1 +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${tmp}/bconcmds @$out /dev/null @@ -59,9 +67,9 @@ END_OF_DATA run_bconsole -sleep 1 -touch ${tmpsrc}/ficheriro1.txt -touch ${tmpsrc}/ficheriro2.txt +#sleep 1 +touch ${BackupDirectory}/ficheriro1.txt +touch ${BackupDirectory}/ficheriro2.txt cat <${tmp}/bconcmds @$out /dev/null @@ -75,12 +83,10 @@ END_OF_DATA run_bconsole -sleep 1 -cd ${tmpsrc} -cp -f ficheriro2.txt 1 -sed "s%a%b%g" 1 >ficheriro2.txt -rm -f 1 -cd ${cwd} +#sleep 1 +echo "next ficheriro1.txt" >>${BackupDirectory}/ficheriro1.txt +echo "next ficheriro2.txt" >>${BackupDirectory}/ficheriro2.txt + cat <${tmp}/bconcmds @$out /dev/null messages @@ -93,9 +99,10 @@ END_OF_DATA run_bconsole -sleep 1 -touch ${tmpsrc}/ficheriro1.txt -touch ${tmpsrc}/ficheriro2.txt +#sleep 1 +touch ${BackupDirectory}/ficheriro1.txt +touch ${BackupDirectory}/ficheriro2.txt + cat <${tmp}/bconcmds @$out /dev/null messages @@ -108,9 +115,10 @@ END_OF_DATA run_bconsole -sleep 1 -touch ${tmpsrc}/ficheriro1.txt -touch ${tmpsrc}/ficheriro2.txt +#sleep 1 +touch ${BackupDirectory}/ficheriro1.txt +touch ${BackupDirectory}/ficheriro2.txt + cat <${tmp}/bconcmds @$out /dev/null messages @@ -123,9 +131,10 @@ END_OF_DATA run_bconsole -sleep 1 -touch ${tmpsrc}/ficheriro1.txt -touch ${tmpsrc}/ficheriro2.txt +#sleep 1 +touch ${BackupDirectory}/ficheriro1.txt +touch ${BackupDirectory}/ficheriro2.txt + cat <${tmp}/bconcmds @$out /dev/null messages @@ -137,9 +146,12 @@ quit END_OF_DATA run_bconsole + +# make sure, timestamp differs sleep 1 -touch ${tmpsrc}/ficheriro1.txt -touch ${tmpsrc}/ficheriro2.txt + +echo "last test" >> ${BackupDirectory}/ficheriro1.txt +echo "last test" >> ${BackupDirectory}/ficheriro2.txt cat <${tmp}/bconcmds @$out /dev/null @@ -168,9 +180,6 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${tmpsrc}/*.c -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` + end_test diff --git a/tests/lan-addr-test b/tests/lan-addr-test index 1897d44..c4900af 100755 --- a/tests/lan-addr-test +++ b/tests/lan-addr-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # @@ -18,9 +18,9 @@ scripts/copy-confs # outf="tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -echo "s%Name = \"BackupClient1\"%Name = \"backup\"; client run after job = \"netstat -tan\"%g" >>${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +echo "s%Name = \"BackupClient1FileList\"%Name = \"backup\"; client run after job = \"netstat -tan\"%g" >>${outf} +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf PATH=$PATH:/sbin:/usr/sbin # @@ -49,14 +49,22 @@ fi outf="tmp/sed_tmp" echo "s/Address =/Address = 127.0.0.1; LAN Address = $IP #/g" > $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} ${cwd}/tmp/1 > $scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} ${cwd}/tmp/1 > ${conf}/bareos-dir.conf + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -DIRPORT=$BASEPORT -FDPORT=$(($BASEPORT + 1)) -SDPORT=$(($BASEPORT + 2)) -change_jobname BackupClient1 $JobName start_test cat <${cwd}/tmp/bconcmds @@ -96,7 +104,7 @@ check_for_zombie_jobs storage=File stop_bareos print_debug "Detecting connections to SD with source and target ${IP}" -grep -E "${IP}(.|:)$SDPORT .* ${IP}" $tmp/log1.out > $tmp/log3.out +grep -E "${IP}(.|:)${BAREOS_SD_PORT} .* ${IP}" $tmp/log1.out > $tmp/log3.out if [ $? -ne 0 ]; then stat=2 print_debug "Couldn't detect a connection to the SD with source and target ${IP}" diff --git a/tests/lan-addr-test-passive b/tests/lan-addr-test-passive index 7c3703a..e38efdb 100755 --- a/tests/lan-addr-test-passive +++ b/tests/lan-addr-test-passive @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # @@ -18,9 +18,9 @@ scripts/copy-confs # outf="tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -echo "s%Name = \"BackupClient1\"%Name = \"backup\"; client run after job = \"netstat -tan\"%g" >>${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +echo "s%Name = \"BackupClient1FileList\"%Name = \"backup\"; client run after job = \"netstat -tan\"%g" >>${outf} +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf PATH=$PATH:/sbin:/usr/sbin # @@ -50,14 +50,22 @@ fi outf="tmp/sed_tmp" echo "s/Address =/Address = 127.0.0.1; LAN Address = $IP #/g" > $outf echo 's/Client {/Client {; Passive=yes/g' >> $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} ${cwd}/tmp/1 > $scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} ${cwd}/tmp/1 > ${conf}/bareos-dir.conf + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -DIRPORT=$BASEPORT -FDPORT=$(($BASEPORT + 1)) -SDPORT=$(($BASEPORT + 2)) -change_jobname BackupClient1 $JobName start_test cat <${cwd}/tmp/bconcmds @@ -98,7 +106,7 @@ stop_bareos print_debug "and connections to FD with source and target ${IP}" -grep -E "${IP}(.|:)$FDPORT .* ${IP}" $tmp/log1.out >> $tmp/log3.out +grep -E "${IP}(.|:)${BAREOS_FD_PORT} .* ${IP}" $tmp/log1.out >> $tmp/log3.out if [ $? -ne 0 ]; then stat=2 print_debug "Couldn't detect a connection to the FD with source and target ${IP}" diff --git a/tests/lib-test-root b/tests/lib-test-root index b0af666..bcb70d4 100755 --- a/tests/lib-test-root +++ b/tests/lib-test-root @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="lib-test-root" diff --git a/tests/lockmgr-test b/tests/lockmgr-test index 29b8cba..5b2c19c 100755 --- a/tests/lockmgr-test +++ b/tests/lockmgr-test @@ -21,8 +21,8 @@ fi # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf start_test diff --git a/tests/lz4-encrypt-test b/tests/lz4-encrypt-test index 0ecd3f5..cad3911 100755 --- a/tests/lz4-encrypt-test +++ b/tests/lz4-encrypt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup with encryption and compression of the Bareos build directory +# Run a simple backup with encryption and compression # then verify the signatures. # TestName="lz4-encrypt-test" @@ -10,19 +10,25 @@ JobName=lz4Test # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -# set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lz4-test b/tests/lz4-test index 7c1dc4e..73ee1d3 100755 --- a/tests/lz4-test +++ b/tests/lz4-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # TestName="lz4-test" @@ -10,19 +10,25 @@ JobName=lz4 # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -# set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lz4hc-encrypt-test b/tests/lz4hc-encrypt-test index 11abfb4..64167c6 100755 --- a/tests/lz4hc-encrypt-test +++ b/tests/lz4hc-encrypt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup with encryption and compression of the Bareos build directory +# Run a simple backup with encryption and compression # then verify the signatures. # TestName="lz4hc-encrypt-test" @@ -12,18 +12,25 @@ scripts/cleanup # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -# set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lz4hc-test b/tests/lz4hc-test index 50b6fc5..c8a9c53 100755 --- a/tests/lz4hc-test +++ b/tests/lz4hc-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # TestName="lz4hc-test" @@ -10,19 +10,27 @@ JobName=lz4hc # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi + + scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -# set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lzfast-encrypt-test b/tests/lzfast-encrypt-test index a1d7974..19c2bd6 100755 --- a/tests/lzfast-encrypt-test +++ b/tests/lzfast-encrypt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup with encryption and compression of the Bareos build directory +# Run a simple backup with encryption and compression # then verify the signatures. # TestName="lzfast-encrypt-test" @@ -10,19 +10,29 @@ JobName=lzfastTest # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list # set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf +#cp ${rscripts}/bareos-fd.conf ${tmp}/bareos-fd.conf.tmp +#sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${tmp}/bareos-fd.conf.tmp > ${conf}/bareos-fd.conf + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lzfast-test b/tests/lzfast-test index e320bb5..911922f 100755 --- a/tests/lzfast-test +++ b/tests/lzfast-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # TestName="lzfast-test" @@ -10,21 +10,24 @@ JobName=lzfast # # See if library is linked against libfastlz # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c libfastlz` -if test ${cnt} -lt 1; then +if ! check_linked_against fastlz; then echo "$TestName skipped: not linked for fastlz compression" exit 0 fi scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -# set compatible mode for filedaemon so that lz4hc is allowed -cp ${scripts}/bareos-fd.conf ${scripts}/bareos-fd.conf.tmp -sed -e 's#FileDaemon {.*#FileDaemon { compatible=no#' < ${scripts}/bareos-fd.conf.tmp > ${scripts}/bareos-fd.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" -cat ${scripts}/bareos-fd.conf +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list start_test diff --git a/tests/lzo-encrypt-test b/tests/lzo-encrypt-test index 5626c70..5aeb4dc 100755 --- a/tests/lzo-encrypt-test +++ b/tests/lzo-encrypt-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup with encryption and compression of the Bareos build directory +# Run a simple backup with encryption and compression # then verify the signatures. # TestName="lzo-encrypt-test" @@ -10,15 +10,25 @@ JobName=LZOTest # # See if library is linked against liblzo2 # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c liblzo2` -if test ${cnt} -lt 1; then +if ! check_linked_against liblzo2; then echo "$TestName skipped: not linked for lzo2 compression" exit 0 fi scripts/cleanup scripts/copy-crypto-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/lzo-test b/tests/lzo-test index eaada4c..8666f74 100755 --- a/tests/lzo-test +++ b/tests/lzo-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup the compressed option # then restore it. # TestName="lzo-test" @@ -10,15 +10,25 @@ JobName=lzo # # See if library is linked against liblzo2 # -cnt=`ldd ${bin}/libbareos.so 2>/dev/null | grep -c liblzo2` -if test ${cnt} -lt 1; then +if ! check_linked_against liblzo2; then echo "$TestName skipped: not linked for lzo2 compression" exit 0 fi scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/manual-two-vol-tape b/tests/manual-two-vol-tape index 49ddd3c..ab4f9b6 100755 --- a/tests/manual-two-vol-tape +++ b/tests/manual-two-vol-tape @@ -13,8 +13,6 @@ require_autochanger scripts/cleanup scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -MTX=$AUTOCHANGER_SCRIPT sleep=90 @@ -30,6 +28,19 @@ load_slot1 init_drive ${TAPE_DRIVE} change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # Label second volume diff --git a/tests/maxbytes-test b/tests/maxbytes-test index 016e166..d1d2a90 100755 --- a/tests/maxbytes-test +++ b/tests/maxbytes-test @@ -12,7 +12,6 @@ JobName=maxbytes scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list cp -f ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 sed "s%# Maximum Volume Bytes% Maximum Volume Bytes%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf @@ -20,6 +19,19 @@ cp -f ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 sed "s%# Simple Label Format% Label Format%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/maxruntime-test b/tests/maxruntime-test index 5fb42fb..2747eb2 100755 --- a/tests/maxruntime-test +++ b/tests/maxruntime-test @@ -12,11 +12,20 @@ JobName=backup copy_test_confs -rm -f ${cwd}/tmp/RUN*log cp -f ${cwd}/scripts/bareos-dir.conf.maxruntime ${cwd}/bin/bareos-dir.conf WHEN=`date '+%Y-%m-%d %H:%M:%S'` -echo "${cwd}/build/po" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -44,8 +53,6 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -rm -f ${cwd}/tmp/fifo ${cwd}/tmp/fifo2 ${cwd}/tmp/fifo3 - dstat=0 bstat=0 rstat=0 diff --git a/tests/maxtime-test b/tests/maxtime-test index abef5e6..eab607e 100755 --- a/tests/maxtime-test +++ b/tests/maxtime-test @@ -10,11 +10,20 @@ JobName=backup copy_test_confs -rm -f ${cwd}/tmp/RUN*log -cp -f ${cwd}/scripts/bareos-dir.conf.maxtime ${cwd}/bin/bareos-dir.conf +cp -f ${cwd}/scripts/bareos-dir.conf.maxtime ${conf}/bareos-dir.conf WHEN=`date '+%Y-%m-%d %H:%M:%S'` -echo "${cwd}/build/po" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -24,7 +33,7 @@ messages @$out ${cwd}/tmp/log1.out label volume=TestVolume001 pool=PoolA @$out ${cwd}/tmp/RUN_MAXTIME.log -@# no media => have to wait +@# no media => have to wait (MaxWaitTime=30sec) run job=RUN_MAXWAITTIME comment="Should fail" pool=Default yes @sleep 2 @# storage is used by RUN_MAXWAITTIME => have to wait @@ -32,7 +41,7 @@ run job=RUN_MAXSTARTDELAY comment="Should fail" pool=PoolA when="$WHEN" yes @sleep 2 @# storage is used by the first MAXWAITTIME, but should work run job=RUN_MAXWAITTIME comment="Should work" pool=PoolA yes -@sleep 30 +@sleep 120 label volume=TestVolume002 pool=Default mount @sleep 2 @@ -46,25 +55,22 @@ st dir quit END_OF_DATA -(mkfifo ${cwd}/tmp/fifo - mkfifo ${cwd}/tmp/fifo2 - mkfifo ${cwd}/tmp/fifo3) 2> /dev/null +mkfifo ${tmp}/fifo1 +mkfifo ${tmp}/fifo2 +mkfifo ${tmp}/fifo3 run_bareos check_for_zombie_jobs storage=File stop_bareos -rm -f ${cwd}/tmp/fifo ${cwd}/tmp/fifo2 ${cwd}/tmp/fifo3 - dstat=0 bstat=0 rstat=0 touch ${cwd}/tmp/log2.out grep -e '1: Fatal error: Max wait time exceeded. Job canceled.' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null -if [ $? -eq 0 ] -then - [ "$debug" = 1 ] && echo MAXWAITTIME ok +if [ $? -eq 0 ]; then + print_debug "MAXWAITTIME ok" else echo "MAXWAITTIME in error" bstat=1 @@ -76,31 +82,27 @@ f=$? grep -e 'NEVER start this' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null s=$? -if [ $f -eq 0 -a $s -ne 0 ] -then - [ "$debug" = 1 ] && echo MAXSTARTDELAY ok +if [ $f -eq 0 -a $s -ne 0 ]; then + print_debug "MAXSTARTDELAY ok" else echo "MAXSTARTDELAY in error" bstat=1 fi grep -e '4: Fatal error: Max run time exceeded. Job canceled.' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null -if [ $? -eq 0 ] -then - [ "$debug" = 1 ] && echo MAXRUNTIME ok +if [ $? -eq 0 ]; then + print_debug "MAXRUNTIME ok" else echo "MAXRUNTIME in error" bstat=1 fi grep 'Termination: *Backup OK' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null -if [ $? -eq 0 ] -then - [ "$debug" = 1 ] && echo MAXRUNTIME2 ok +if [ $? -eq 0 ]; then + print_debug "MAXRUNTIME2 ok" else echo "MAXRUNTIME2 in error" bstat=1 fi - end_test diff --git a/tests/maxuseduration-test b/tests/maxuseduration-test index 3f1a0dc..1e49552 100755 --- a/tests/maxuseduration-test +++ b/tests/maxuseduration-test @@ -11,9 +11,21 @@ JobName=maxuseduration scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/maxvol-test b/tests/maxvol-test index 660c707..52d3556 100755 --- a/tests/maxvol-test +++ b/tests/maxvol-test @@ -11,13 +11,26 @@ JobName=maxvol scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -cp -f ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 -sed "s%# Maximum Volume Jobs% Maximum Volume Jobs%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf +cp -f ${conf}/bareos-dir.conf ${cwd}/tmp/1 +sed "s%# Maximum Volume Jobs% Maximum Volume Jobs%" ${cwd}/tmp/1 >${conf}/bareos-dir.conf change_jobname NightlySave $JobName + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/maxvol2-test b/tests/maxvol2-test index 2ddac57..5790a33 100755 --- a/tests/maxvol2-test +++ b/tests/maxvol2-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # create three volumes and do six backups causing the # volumes to be recycled, and cycling through the volumes # twice. Tests maxvoljobs and volretention. @@ -11,9 +11,21 @@ JobName=Maxvol2 scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/memory-bug-tape b/tests/memory-bug-tape index fb05583..a4333f4 100755 --- a/tests/memory-bug-tape +++ b/tests/memory-bug-tape @@ -14,9 +14,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/messages-test b/tests/messages-test index de754d2..93e7dbe 100755 --- a/tests/messages-test +++ b/tests/messages-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # We have bad configuration for Messages resources, everything # should work @@ -11,8 +11,8 @@ JobName=backup scripts/cleanup scripts/copy-confs -change_jobname BackupClient1 $JobName -start_test +change_jobname BackupClient1FileList $JobName + # # Zap out any schedule in default conf file so that # it doesn't start during our test @@ -28,9 +28,22 @@ echo 's%Bareos daemon message%DELETE THIS MESSAGE Bareos daemon message%' >> $ou echo 's%Bareos:%DELETE THIS MESSAGE Bareos:%' >> $outf #echo 's%mailcommand = "%mailcommand = "/nowhere%g' >> $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + +start_test cat <$tmp/bconcmds @$out /dev/null diff --git a/tests/migration-job-purge-test b/tests/migration-job-purge-test index 6541406..5b6369f 100755 --- a/tests/migration-job-purge-test +++ b/tests/migration-job-purge-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device, and see if PurgeMigrationJob works as expected. # # This script uses the virtual disk autochanger @@ -13,12 +13,23 @@ JobName=MigrationJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName $bperl -e 'add_attribute("$conf/bareos-dir.conf", "PurgeMigrationJob", "yes", "Job", "migrate-job")' +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # diff --git a/tests/migration-job-test b/tests/migration-job-test index 3767201..c020095 100755 --- a/tests/migration-job-test +++ b/tests/migration-job-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device. # # This script uses the virtual disk autochanger @@ -13,9 +13,21 @@ JobName=MigrationJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # diff --git a/tests/migration-jobspan-test b/tests/migration-jobspan-test index 67ecacd..12d2e91 100755 --- a/tests/migration-jobspan-test +++ b/tests/migration-jobspan-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device. # # Test migrating a job that spans two Volumes @@ -15,7 +15,19 @@ JobName=MigrationJobSpanSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf diff --git a/tests/migration-occupancy-test b/tests/migration-occupancy-test index 83d65f5..1ba41ea 100755 --- a/tests/migration-occupancy-test +++ b/tests/migration-occupancy-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device. # # This script uses the virtual disk autochanger @@ -13,7 +13,19 @@ JobName=MigrationJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/migration-time-test b/tests/migration-time-test index e84fbe6..36d7c40 100755 --- a/tests/migration-time-test +++ b/tests/migration-time-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device. # # This script uses the virtual disk autochanger @@ -13,7 +13,19 @@ JobName=MigrationJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/migration-volume-sd-sd-test b/tests/migration-volume-sd-sd-test index 6b668ec..33b747c 100755 --- a/tests/migration-volume-sd-sd-test +++ b/tests/migration-volume-sd-sd-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the Bareos build directory on two Volumes +# Run a backup on two Volumes # then migrate it to another device. # # This script uses the virtual disk autochanger @@ -28,7 +28,19 @@ scripts/cleanup scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + #cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 #sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf diff --git a/tests/migration-volume-test b/tests/migration-volume-test index 794f69c..255e29a 100755 --- a/tests/migration-volume-test +++ b/tests/migration-volume-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the Bareos build directory on two Volumes +# Run a backup on two Volumes # then migrate it to another device. # # This script uses the virtual disk autochanger @@ -13,7 +13,19 @@ JobName=MigVolBackup scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + #cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 #sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf diff --git a/tests/multi-drive-group-test b/tests/multi-drive-group-test index 6ce3989..5d6c0cf 100755 --- a/tests/multi-drive-group-test +++ b/tests/multi-drive-group-test @@ -35,9 +35,21 @@ for i in 2 3 4; do sed "s/FileStorage/FileStorage$i/" $tmp/2 >> $conf/bareos-sd.conf done -disable_pluguins +disable_plugins + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -echo "$cwd/build" >${cwd}/tmp/file-list echo "$tmp/fifo" >>${cwd}/tmp/file-list mkfifo $tmp/fifo diff --git a/tests/multi-drive-test b/tests/multi-drive-test index 8b587be..cf3e980 100755 --- a/tests/multi-drive-test +++ b/tests/multi-drive-test @@ -25,9 +25,21 @@ for i in 2 3 4; do sed "s/FileStorage/FileStorage$i/" $tmp/2 >> $conf/bareos-sd.conf done -disable_pluguins +disable_plugins + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -echo "$cwd/build" >${cwd}/tmp/file-list echo "$tmp/fifo" >>${cwd}/tmp/file-list mkfifo $tmp/fifo diff --git a/tests/multi-drive1-test b/tests/multi-drive1-test index a88daaf..06996a7 100755 --- a/tests/multi-drive1-test +++ b/tests/multi-drive1-test @@ -32,9 +32,21 @@ for i in 2 3 4; do sed "s/FileStorage/FileStorage$i/" $tmp/2 >> $conf/bareos-sd.conf done -disable_pluguins +disable_plugins + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -echo "$cwd/build" >${cwd}/tmp/file-list echo "$tmp/fifo" >>${cwd}/tmp/file-list mkfifo $tmp/fifo diff --git a/tests/multi-storage-test b/tests/multi-storage-test index a6d54be..c450044 100755 --- a/tests/multi-storage-test +++ b/tests/multi-storage-test @@ -11,33 +11,43 @@ scripts/copy-2disk-confs scripts/prepare-disk-changer # create a new bareos-sd.conf +BAREOS_SD2_CONF=$conf/bareos-sd2.conf +BAREOS_SD2_PORT="1${BAREOS_SD_PORT}" perl -ne ' if (/SDPort = /) { $_ =~ s/(\d+)/1$1/;} if (/Name = .+?-sd/) { $_ =~ s/-sd/-sd2/;} -if (/WorkingDirectory/) { $_ =~ s/"$/2"/; } +if (/WorkingDirectory/) { $_ =~ s/"$/\/StorageDaemon2"/; } print; -' $conf/bareos-sd.conf > $conf/bareos-sd2.conf +' $conf/bareos-sd.conf > $BAREOS_SD2_CONF + +mkdir -p ${working}/StorageDaemon2 -mkdir -p ${working}2 perl -ne ' -if (/^Storage {/) { $in=1; $nb++; } +if (/^Storage \{/) { $in=1; $nb++; } if (/^}/) { $in=0 } if (/SDPort = (\d+)/ && $in) {if ($nb == 2) { $_ = " SDPort = 1$1\n"; }} print; ' $conf/bareos-dir.conf > $tmp/1 cp $tmp/1 $conf/bareos-dir.conf +change_jobname $JobName -sed 's/bareos-sd.conf/bareos-sd2.conf/' $scripts/bareos-ctl-sd \ - > $tmp/bareos-ctl-sd -chmod +x $tmp/bareos-ctl-sd +disable_plugins -disable_pluguins -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -change_jobname $JobName start_test # Write out bconsole commands @@ -46,18 +56,19 @@ cat <${cwd}/tmp/bconcmds messages @$out ${cwd}/tmp/log1.out label storage=tape volume=TestVolume001 Pool=Default slot=1 drive=0 -label storage=File volume=TestVolume002 Pool=Default +label storage=File volume=TestVolume002 Pool=Default run job=$JobName storage=tape yes wait messages quit END_OF_DATA -$tmp/bareos-ctl-sd start &> /dev/null + +BAREOS_CONFIG_DIR=$BAREOS_SD2_CONF BAREOS_SD_PORT=$BAREOS_SD2_PORT $scripts/bareos-ctl-sd start run_bareos -echo "ficheriro1.txt" >${cwd}/build/po/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/build/po/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @@ -85,7 +96,7 @@ run_bconsole check_for_zombie_jobs storage=File check_for_zombie_jobs storage=tape stop_bareos -$tmp/bareos-ctl-sd stop &> /dev/null +BAREOS_CONFIG_DIR=$BAREOS_SD2_CONF BAREOS_SD_PORT=$BAREOS_SD2_PORT $scripts/bareos-ctl-sd stop check_two_logs check_restore_diff diff --git a/tests/multi2-storage-test b/tests/multi2-storage-test index a23e365..a5c821c 100755 --- a/tests/multi2-storage-test +++ b/tests/multi2-storage-test @@ -22,7 +22,7 @@ for i in 2 3 4; do print; ' $conf/bareos-sd.conf > $conf/bareos-sd$i.conf mkdir -p ${tmp}/$i - sed "s/bareos-sd.conf/bareos-sd${i}.conf/" $scripts/bareos-ctl-sd \ + sed "s/bareos-sd.conf/bareos-sd${i}.conf/" ${scripts}/bareos-ctl-sd \ > $tmp/bareos-ctl-sd$i chmod +x $tmp/bareos-ctl-sd$i mkdir -p $tmp/$i @@ -39,9 +39,21 @@ print; ' $conf/bareos-dir.conf > $tmp/1 cp $tmp/1 $conf/bareos-dir.conf -disable_pluguins +disable_plugins + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -echo "${cwd}/build" >${cwd}/tmp/file-list change_jobname $JobName start_test @@ -71,19 +83,19 @@ label storage=File4 volume=File4-Vol001 Pool=Default run job=$JobName storage=tape yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/fr.po" run job=$JobName storage=File yes wait messages -@exec "touch $cwd/build/po/de.po" +@exec "touch $BackupDirectory/de.po" run job=$JobName storage=File2 yes wait messages -@exec "touch $cwd/build/po/it.po" +@exec "touch $BackupDirectory/it.po" run job=$JobName storage=File3 yes wait messages -@exec "touch $cwd/build/po/es.po" +@exec "touch $BackupDirectory/es.po" run job=$JobName storage=File4 yes wait messages @@ -92,8 +104,8 @@ END_OF_DATA run_bareos -echo "ficheriro1.txt" >${cwd}/build/po/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/build/po/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @@ -101,19 +113,19 @@ cat <${cwd}/tmp/bconcmds messages @$out ${cwd}/tmp/log1.out @# Force Incremental on the second Volume -@exec "touch $cwd/build/po/fi.po" +@exec "touch $BackupDirectory/fi.po" run level=Incremental storage=File job=$JobName yes wait messages -@exec "touch $cwd/build/po/uk.po" +@exec "touch $BackupDirectory/uk.po" run level=Incremental storage=File2 job=$JobName yes wait messages -@exec "touch $cwd/build/po/sv.po $cwd/build/po/test.po" +@exec "touch $BackupDirectory/sv.po $BackupDirectory/test.po" run level=Incremental storage=File3 job=$JobName yes wait messages -@exec "touch $cwd/build/po/README" +@exec "touch $BackupDirectory/README" run level=Incremental storage=File4 job=$JobName yes wait messages @@ -128,14 +140,14 @@ wait messages @$out ${cwd}/tmp/status.out status all -@exec "touch $cwd/build/po/POTFILES" +@exec "touch $BackupDirectory/POTFILES" @$out ${cwd}/tmp/log1.out run level=Incremental storage=File4 job=$JobName yes wait messages @# run a job that will wait for a volume @$out ${cwd}/tmp/log23.out -@exec "touch $cwd/build/po/ChangeLog" +@exec "touch $BackupDirectory/ChangeLog" run level=Incremental pool=Special storage=File3 job=$JobName yes @sleep 5 messages diff --git a/tests/no-chksum-test b/tests/no-chksum-test index e13686d..a1ebaa1 100755 --- a/tests/no-chksum-test +++ b/tests/no-chksum-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory without +# Run a simple backup without # md5 signature then restore it. # TestName="no-chksum-test" @@ -17,8 +17,8 @@ scripts/copy-confs outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" > $outf echo "s% signature =%# signature =%g" >> $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f $outf $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f $outf $tmp/1 >${conf}/bareos-dir.conf change_jobname BackupClient1 $JobName start_test @@ -45,16 +45,16 @@ run_bconsole # # Now do a second backup after making a few changes # -touch ${cwd}/build/po/fr.po +touch ${BackupDirectory}/fr.po # run_bconsole -dd if=/dev/zero of=$cwd/build/bigfile count=500000 > /dev/null +dd if=/dev/zero of=$BackupDirectory/bigfile count=500000 > /dev/null run_bconsole -rm -f $cwd/build/bigfile +rm -f $BackupDirectory/bigfile cat <$tmp/bconcmds @$out /dev/null diff --git a/tests/prune-base-job-test b/tests/prune-base-job-test index 59ccdcf..c04bc55 100755 --- a/tests/prune-base-job-test +++ b/tests/prune-base-job-test @@ -1,13 +1,37 @@ #!/bin/sh + +. scripts/functions + +p() { + echo "##############################################" >> ${cwd}/tmp/log1.out + echo "$*" >> ${cwd}/tmp/log1.out + echo "##############################################" >> ${cwd}/tmp/log2.out + echo "$*" >> ${cwd}/tmp/log2.out +} + # -# Run a basejob backup of the Bareos build directory +# Run a basejob backup # then restore it. # TestName="prune-base-job-test" JobName=backup -. scripts/functions -$rscripts/cleanup + +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz copy_test_confs echo 's/backup_advance/base_backup/' > $tmp/s @@ -25,17 +49,11 @@ dircfg=$conf/bareos-dir.conf $bperl -e "add_attribute('$dircfg', 'AutoPrune', 'No', 'Client')" $bperl -e "add_attribute('$dircfg', 'Job Retention', '1s', 'Client')" $bperl -e "add_attribute('$dircfg', 'File', '<$tmp/lst', 'FileSet', 'FS_TESTJOB_ADVANCE')" -p() { - echo "##############################################" >> ${cwd}/tmp/log1.out - echo "$*" >> ${cwd}/tmp/log1.out - echo "##############################################" >> ${cwd}/tmp/log2.out - echo "$*" >> ${cwd}/tmp/log2.out -} - echo ${cwd}/bin > ${cwd}/tmp/lst echo ${cwd}/bin > ${cwd}/tmp/file-list -echo ${cwd}/build >> ${cwd}/tmp/file-list +echo ${BackupDirectory}/build >> ${cwd}/tmp/file-list +mkdir -p ${BackupDirectory}/build/po start_test @@ -49,8 +67,8 @@ END_OF_DATA run_bareos ################################################################ -p Now do a backup using base backup -################################################################ +p "Now do a backup using base backup" +#ckupDirectory}/build############################################################### cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out @@ -68,7 +86,7 @@ label volume=TestVolume002 storage=File pool=Default run job=backup level=full yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/build/po/fr.po" run job=backup level=incremental yes wait messages @@ -95,13 +113,13 @@ run_bconsole check_for_zombie_jobs storage=File check_two_logs -check_restore_diff +check_restore_diff $BackupDirectory/build || exit 1 export bstat dstat estat cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log4.out -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/build/po/fr.po" run job=backup level=incremental yes wait messages diff --git a/tests/prune-config-test b/tests/prune-config-test index 4048786..32405f2 100755 --- a/tests/prune-config-test +++ b/tests/prune-config-test @@ -10,9 +10,6 @@ JobName=NightlySave scripts/cleanup scripts/copy-test-confs -start_test - -echo $PWD/build/po > tmp/file-list # We want to have pruning only when doing prune command $bperl -e 'add_attribute("$conf/bareos-dir.conf", "AutoPrune", "No", "Client")' @@ -22,7 +19,19 @@ $bperl -e 'add_attribute("$conf/bareos-dir.conf", "Job Retention", "1s", "Client $bperl -e 'print get_resource("$conf/bareos-dir.conf", "Job", "NightlySave")' | \ sed s/NightlySave/DailySave/ | sed 's/Full Set/CompressedSet/' > $tmp/1 -cat $tmp/1 >> $conf/bareos-dir.conf +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + +start_test cat < ${cwd}/tmp/bconcmds @$out /dev/null @@ -32,11 +41,11 @@ label storage=File volume=TestVolume001 run job=$JobName level=full yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/fr.po" run job=$JobName level=incremental yes wait messages -@exec "touch $cwd/build/po/de.po" +@exec "touch $BackupDirectory/de.po" run job=$JobName level=incremental yes wait messages @@ -44,11 +53,11 @@ messages run job=DailySave level=full yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/fr.po" run job=DailySave level=incremental yes wait messages -@exec "touch $cwd/build/po/de.po" +@exec "touch $BackupDirectory/de.po" run job=DailySave level=incremental yes wait messages diff --git a/tests/prune-copy-test b/tests/prune-copy-test index 07224a2..a127c7e 100755 --- a/tests/prune-copy-test +++ b/tests/prune-copy-test @@ -1,7 +1,7 @@ #!/bin/sh # Not yet working # -# Run a simple backup of the Bareos build directory then copy it +# Run a simple backup then copy it # to another device. ## TestName="prune-copy-test" @@ -12,7 +12,19 @@ JobName=CopyJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + sed 's/migrate/copy/g' ${cwd}/bin/bareos-dir.conf > ${cwd}/tmp/1 sed 's/Migrate/Copy/g' ${cwd}/tmp/1 > ${cwd}/bin/bareos-dir.conf @@ -67,7 +79,7 @@ messages @# This final job that runs should be Incremental and @# not upgraded to full. @sleep 2 -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/fr.po" run job=$JobName level=Incremental yes wait messages diff --git a/tests/prune-migration-test b/tests/prune-migration-test index 925ab4c..a01104f 100755 --- a/tests/prune-migration-test +++ b/tests/prune-migration-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then migrate it +# Run a simple backup then migrate it # to another device, then see how prune code handle that # # This script uses the virtual disk autochanger @@ -13,7 +13,19 @@ JobName=MigrationJobSave scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName dircfg=$conf/bareos-dir.conf diff --git a/tests/prune-test b/tests/prune-test index 9766bf7..f2b589d 100755 --- a/tests/prune-test +++ b/tests/prune-test @@ -10,9 +10,22 @@ JobName=NightlySave scripts/cleanup scripts/copy-test-confs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +# po.tgz: build/po/* +setup_data data/po.tgz +echo "test" > ${BackupDirectory}/build/po/test1.txt + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test -echo $PWD/build/po > tmp/file-list # We want to have pruning only when doing prune command $bperl -e 'add_attribute("$conf/bareos-dir.conf", "AutoPrune", "No", "Client")' @@ -26,11 +39,11 @@ label storage=File volume=TestVolume001 run job=$JobName level=full yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch ${BackupDirectory}/build/po/fr.po" run job=$JobName level=incremental yes wait messages -@exec "touch $cwd/build/po/de.po" +@exec "touch ${BackupDirectory}/build/po/de.po" run job=$JobName level=incremental yes wait messages @@ -47,7 +60,7 @@ list jobs run job=$JobName level=differential yes wait messages -@exec "touch $cwd/build/po/es.po" +@exec "touch ${BackupDirectory}/build/po/es.po" run job=$JobName level=incremental yes wait messages diff --git a/tests/query-test b/tests/query-test index 3bc0eaa..7e91007 100755 --- a/tests/query-test +++ b/tests/query-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do a Differental then a bunch of query commands # and finally restore the two files. # @@ -12,15 +12,23 @@ JobName=query scripts/cleanup scripts/copy-test-confs -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -mkdir -p ${cwd}/tmp/build -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 CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + + start_test cat <${cwd}/tmp/bconcmds @@ -39,8 +47,8 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -57,7 +65,7 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${cwd}/tmp/bconcmds @$out /dev/null messages @@ -73,7 +81,7 @@ query ficheriro1.txt query 2 -${cwd}/tmp/build/ +${BackupDirectory} ficheriro1.txt localhost-fd query @@ -110,11 +118,7 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -# -# 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 +check_restore_files_diff `cat ${cwd}/tmp/restore-list` + end_test diff --git a/tests/quota-hardquota-test b/tests/quota-hardquota-test index 19b01b1..c0c7f3c 100755 --- a/tests/quota-hardquota-test +++ b/tests/quota-hardquota-test @@ -14,7 +14,7 @@ rm -f bin/bareos-dir.conf /bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.quota-hardquota-test bin/bareos-dir.conf # create test data -dd if=/dev/zero of=${cwd}/tmp/testdata bs=40000k count=1 +dd if=/dev/zero of=${cwd}/tmp/testdata bs=40000k count=1 >/dev/null echo "${cwd}/tmp/testdata" >${cwd}/tmp/file-list start_test diff --git a/tests/quota-includefailed-test b/tests/quota-includefailed-test index 0343da3..db920a5 100755 --- a/tests/quota-includefailed-test +++ b/tests/quota-includefailed-test @@ -13,13 +13,13 @@ scripts/copy-test-confs rm -f bin/bareos-dir.conf /bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.quota-includefailed-test bin/bareos-dir.conf -# create test data -dd if=/dev/zero of=${cwd}/tmp/testdata bs=40000k count=1 - echo "${cwd}/tmp/testdata" >${cwd}/tmp/file-list -start_test +start_test + +# create test data +dd if=/dev/zero of=${cwd}/tmp/testdata bs=40000k count=1 #@$out /dev/null cat >${cwd}/tmp/bconcmds </dev/null echo "${cwd}/tmp/testdata" >${cwd}/tmp/file-list start_test diff --git a/tests/recycle-test b/tests/recycle-test index b9bae4b..cd358ac 100755 --- a/tests/recycle-test +++ b/tests/recycle-test @@ -1,12 +1,12 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # create three volumes and do six backups causing the # volumes to be recycled, and cycling through the volumes # twice. Tests maxvoljobs and volretention. # # Note, this test is a bit tricky, in that if you get too -# much data in the regress/build directory, the test will +# much backup data, the test will # fail because it will run out of enough volumes to backup # all the data. # @@ -16,7 +16,18 @@ JobName=Recycle scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + change_jobname NightlySave $JobName start_test diff --git a/tests/regexwhere-test b/tests/regexwhere-test index ffb95e2..cd22489 100755 --- a/tests/regexwhere-test +++ b/tests/regexwhere-test @@ -23,7 +23,19 @@ echo "s%, \!restored%%g" >${outf} cp ${cwd}/bin/bareos-fd.conf ${cwd}/tmp/1 sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bareos-fd.conf -echo "${cwd}/build/po" >tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +# po.tgz: build/po/* +setup_data data/po.tgz +echo "test" > ${BackupDirectory}/README.txt + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -38,7 +50,7 @@ messages @$out tmp/RUN_JobA restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 1 @@ -48,10 +60,12 @@ messages @################################## @$out tmp/RUN_JobB restore +@# Select the most recent backup for a client 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done +@# Restore Job: 2: JobB 2 yes wait @@ -60,7 +74,7 @@ messages @$out tmp/RUN_JobC restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 3 @@ -71,7 +85,7 @@ messages @$out tmp/RUN_JobD restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 4 @@ -82,7 +96,7 @@ messages @$out tmp/RUN_JobE restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 5 @@ -93,7 +107,7 @@ messages @$out tmp/RUN_JobF restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 6 @@ -104,7 +118,7 @@ messages @$out tmp/RUN_JobG restore strip_prefix="${cwd}" add_prefix="${tmp}/bareos-restore.$$" 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 7 @@ -115,7 +129,7 @@ messages @$out tmp/RUN_JobH restore add_suffix=.old 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 7 @@ -126,7 +140,7 @@ messages @$out tmp/RUN_JobI restore regexwhere="!Po!old!i,!old!po!,!\$!.old!" 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 7 @@ -137,7 +151,7 @@ messages @$out tmp/RUN_JobJ restore 5 -cd ${cwd}/build/po +cd ${BackupDirectory}/build/po m *.po done 7 @@ -181,10 +195,9 @@ export rstat J=JobA grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/build/po/fr.old.po" tmp/RUN_$J > /dev/null +grep "${BackupDirectory}/build/po/fr.old.po" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -193,21 +206,20 @@ fi J=JobB grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "tmp/bareos-restore${cwd}/po/fr.po.old" tmp/RUN_$J > /dev/null # $cwd begins with / -if [ $? = 0 ] -then +FILE="${tmp}/bareos-restore${BackupDirectory}/po/fr.po.old" +grep "$FILE" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else - echo "$J in error" + echo "$J in error (file $FILE not found)" rstat=1 fi J=JobC grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "tmp/bareos-restore${cwd}/build/po/fr.po" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +grep "tmp/bareos-restore${BackupDirectory}/build/po/fr.po" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -216,8 +228,7 @@ fi J=JobD grep "Restore Error" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -226,20 +237,19 @@ fi J=JobE grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/tmp/fr.po" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +FILE="${BackupDirectory}/tmp/fr.po" +grep "${FILE}" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else - echo "$J in error" + echo "$J in error (file $FILE not found)" rstat=1 fi J=JobF grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/build/po/fr.po" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +grep "${BackupDirectory}/build/po/fr.po" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -248,21 +258,19 @@ fi J=JobG grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "tmp/bareos-restore.$$/build/po/fr.po" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +FILE="tmp/bareos-restore.$$/tmp/data/build/po/fr.po" +grep "${FILE}" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else - echo "$J in error" + echo "$J in error (file $FILE not found)" rstat=1 fi -rm -rf ${tmp}/bareos-restore.$$ J=JobH grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +grep "${BackupDirectory}/build/po/fr.po.old" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -271,9 +279,8 @@ fi J=JobI grep "Restore OK" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +grep "${BackupDirectory}/build/po/fr.po.old" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -285,9 +292,8 @@ J=JobJ grep "Restore OK" tmp/RUN_$J > /dev/null && \ grep "/etc/passwd.old" tmp/RUN_$J > /dev/null && \ grep "Where: *tmp/bareos-restore-it" tmp/RUN_$J > /dev/null && \ -grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null -if [ $? = 0 ] -then +grep "${BackupDirectory}/build/po/fr.po.old" tmp/RUN_$J > /dev/null +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo $J ok else echo "$J in error" @@ -296,14 +302,13 @@ fi # test with bregtest -find ${cwd}/build > tmp/list +find ${BackupDirectory} > tmp/list # thanks to BSD like system for that... sed -e 's/[Rr][Ee][Aa][Dd][Mm][Ee]/readme/' -e 's/\([ch]\)$/.old.\1/' tmp/list > tmp/list.sed -bin/bregtest -s -f tmp/list -e '/readme/readme/i,/([ch])$/.old.$1/' > tmp/list.bsed +${bin}/bregtest -s -f tmp/list -e '/readme/readme/i,/([ch])$/.old.$1/' > tmp/list.bsed diff tmp/list.bsed tmp/list.sed >/dev/null 2>&1 -if [ $? = 0 ] -then +if [ $? = 0 ]; then [ "$debug" = 1 ] && echo bregtest ok else echo "bregtest test in error" diff --git a/tests/relabel-tape b/tests/relabel-tape index 1115f70..a721ab7 100755 --- a/tests/relabel-tape +++ b/tests/relabel-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # @@ -13,9 +13,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/rerun-test b/tests/rerun-test index 195e47f..a915b39 100755 --- a/tests/rerun-test +++ b/tests/rerun-test @@ -12,9 +12,20 @@ scripts/copy-test-confs /bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} bin/bareos-dir.conf -echo "${cwd}/build/src/tests" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/restart-accurate-job-test b/tests/restart-accurate-job-test index 38e18d1..d2284e5 100755 --- a/tests/restart-accurate-job-test +++ b/tests/restart-accurate-job-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the build directory but force it to have +# Run a backup but force it to have # a comm error, and check that it restarts correctly. # TestName="restart-accurate-job-test" @@ -9,20 +9,32 @@ JobName=RestartJob scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName - $bperl -e "add_attribute('$conf/bareos-dir.conf', 'Accurate', 'yes', 'Job', 'RestartJob')" + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz +touch $BackupDirectory/testfile + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + + start_test -touch $cwd/build/po/testfile +# hangup after backing up 5 files cat <${cwd}/tmp/bconcmds @$out /dev/null messages @$out ${cwd}/tmp/log1.out label storage=File volume=TestVolume001 -setdebug level=0 trace=0 hangup=100 client +setdebug level=0 trace=0 hangup=5 client @#setdebug level=20 dir run job=$JobName yes wait @@ -37,13 +49,13 @@ run_bareos scripts/check_for_zombie_jobs storage=File +# backup all files, but have testfile removed before cat <${cwd}/tmp/bconcmds @$out /dev/null @$out ${cwd}/tmp/log1.out -setdebug level=0 trace=0 hangup=50 client -@exec "sh -c 'touch $cwd/build/po/*'" -@exec "sh -c 'touch $cwd/build/src/dird/*'" -@exec "rm $cwd/build/po/testfile" +setdebug level=0 trace=0 hangup=0 client +@exec "sh -c 'touch $cwd/*.c'" +@exec "rm $BackupDirectory/testfile" run job=$JobName yes wait messages @@ -70,19 +82,19 @@ stop_bareos check_two_logs check_restore_diff -nb_F=`awk -F '|' '/RestartJob.+F/ { gsub(/,/, ""); print $7}' $tmp/log3.out` -nb_I=`awk -F '|' '/RestartJob.+I/ { gsub(/,/, ""); print $7}' $tmp/log3.out` -nb1=`ls $cwd/build/po/* $cwd/build/src/dird/* | wc -l` -nb1=`expr $nb1 + 50` +#nb_F=`awk -F '|' '/RestartJob.+F/ { gsub(/,/, ""); print $7}' $tmp/log3.out` +#nb_I=`awk -F '|' '/RestartJob.+I/ { gsub(/,/, ""); print $7}' $tmp/log3.out` +#nb1=`ls $cwd/*.c | wc -l` +#nb1=`expr $nb1 + 50` -if [ "$nb_I" -eq "$nb_F" ]; then - print_debug "ERROR: Incremental saves too much files (nb Incr == nb Full)" - estat=1 -fi +#if [ "$nb_I" -eq "$nb_F" ]; then +# print_debug "ERROR: Incremental saves too much files (nb Incr == nb Full)" +# estat=1 +#fi -if [ "$nb_I" -ge "$nb1" ]; then - print_debug "ERROR: Incremental saves too much files (more than $nb1)" - estat=1 -fi +#if [ "$nb_I" -ge "$nb1" ]; then +# print_debug "ERROR: Incremental saves too much files (more than $nb1)" +# estat=1 +#fi end_test diff --git a/tests/restart-base-job-test b/tests/restart-base-job-test index 740b26e..9c18cfd 100755 --- a/tests/restart-base-job-test +++ b/tests/restart-base-job-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the build directory but force it to have +# Run a backup but force it to have # a comm error, and check that it restarts correctly. # TestName="restart-base-job-test" @@ -9,7 +9,19 @@ JobName=RestartJobWithBase scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName @@ -25,7 +37,7 @@ label storage=File volume=TestVolume001 run job=$JobName level=Base yes wait messages -@exec "touch $cwd/build/po/fr.po" +@exec "touch $BackupDirectory/fr.po" setdebug level=0 trace=0 hangup=100 client setdebug level=200 trace=1 dir run job=$JobName yes diff --git a/tests/restart-job-test b/tests/restart-job-test index 05af193..8fd5ce8 100755 --- a/tests/restart-job-test +++ b/tests/restart-job-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the build directory but force it to have +# Run a backup but force it to have # a comm error, and check that it restarts correctly. # TestName="restart-job-test" @@ -9,7 +9,19 @@ JobName=RestartJob scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/restore-by-file-tape b/tests/restore-by-file-tape index 0983b56..f238f66 100755 --- a/tests/restore-by-file-tape +++ b/tests/restore-by-file-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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 @@ -15,13 +15,27 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist | sort | uniq >${cwd}/tmp/restore2-list cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +number_of_files_to_restore=5 +find "${BackupDirectory}" -type f | head -n ${number_of_files_to_restore} | sort | uniq >${tmp}/restore-list + + start_test cat <${cwd}/tmp/bconcmds @@ -36,7 +50,7 @@ messages @# now do a restore @# @$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bareos-restores storage=tape file=<${cwd}/tmp/restore2-list +restore where=${cwd}/tmp/bareos-restores storage=tape file=<${cwd}/tmp/restore-list yes wait messages @@ -52,12 +66,7 @@ dstat=0 # We need to stop and start Bareos to # test appending to a previously written tape # -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bareos-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done +check_restore_files_diff `cat ${tmp}/restore-list` cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -72,7 +81,7 @@ messages @$out ${cwd}/tmp/log2.out restore where=${cwd}/tmp/bareos-restores 7 -<${cwd}/tmp/restore2-list +<${cwd}/tmp/restore-list yes wait @@ -90,13 +99,6 @@ stop_bareos check_two_logs -scripts/check_for_zombie_jobs storage=tape -stop_bareos -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bareos-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/restore-by-file-test b/tests/restore-by-file-test index 2421921..077073f 100755 --- a/tests/restore-by-file-test +++ b/tests/restore-by-file-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # @@ -10,17 +10,23 @@ JobName=restorebyfile scripts/cleanup scripts/copy-test-confs -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -mkdir -p ${cwd}/tmp/build -cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build -cd ${cwd}/tmp/build -ls >../1 -cd .. -sed s%\^%${cwd}/tmp/build/% 1 | sort | uniq >restore-list -rm -f 1 -cd ${cwd} - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +number_of_files_to_restore=5 +find "${BackupDirectory}" -type f | head -n ${number_of_files_to_restore} | sort | uniq >${tmp}/restore-list + + start_test cat <${cwd}/tmp/bconcmds @@ -110,5 +116,5 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/restore-disk-seek-test b/tests/restore-disk-seek-test index 40aaa87..856f8f4 100755 --- a/tests/restore-disk-seek-test +++ b/tests/restore-disk-seek-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a backup of the full bareos build directory, but with the +# Run a backup, but with the # Maximum File Size set. Then do a restore of a few files to kick in # disk seeking (not yet enabled), and ensure that the restored files # match. Even though disk seeking is not yet enabled, this is a good test, @@ -12,40 +12,43 @@ JobName=restore-disk-seek scripts/cleanup scripts/copy-test-confs -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build + +# +# Enable MaximumFileSize to ensure lots of JobMedia records and thus +# lots of seeking +# +cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf + +change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + # Copy only the .c files (to be restored) # set files to "*.c" for all c files files="ua_tree.c ua_update.c" # files="*.c" +mkdir -p ${BackupDirectory} for i in ${files}; do - cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build + echo "test" > ${BackupDirectory}/$i done -cd ${cwd}/tmp/build -ls >../1 -cd .. -sed s%\^%${cwd}/tmp/build/% 1 | sort | uniq >restore-list # -# At this point restore-list contains the list +# restore-list contains the list # of files we will restore # -rm -f 1 -cd ${cwd} -# -# Now arrange to backup *everything* -# -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build -cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build -# -# Enable MaximumFileSize to ensure lots of JobMedia records and thus -# lots of seeking -# -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf +find "${BackupDirectory}" -type f | sort | uniq >${tmp}/restore-list + +# add more data to be backuped. +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -change_jobname CompressedTest $JobName start_test cat <${cwd}/tmp/bconcmds @@ -80,13 +83,6 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -# Now setup a control directory of only what we *should* restore -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build -for i in ${files}; do - cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build -done - check_two_logs -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/restore-replace-never-test b/tests/restore-replace-never-test index 0a9bbf1..5dba71d 100755 --- a/tests/restore-replace-never-test +++ b/tests/restore-replace-never-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # diff --git a/tests/restore-seek-tape b/tests/restore-seek-tape index 855730f..90e1a69 100755 --- a/tests/restore-seek-tape +++ b/tests/restore-seek-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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. This tests the @@ -12,43 +12,43 @@ JobName=restore-tape-seek require_tape_drive -scripts/copy-tape-confs scripts/cleanup-tape +scripts/copy-tape-confs +# +# Enable MaximumFileSize to ensure lots of JobMedia records and thus +# lots of seeking +# +cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 +sed "s%# Maximum File Size = 1000000% Maximum File Size = 10KB%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf + +change_jobname NightlySave $JobName +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" -echo "${cwd}/tmp/build" >${cwd}/tmp/file-list -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build # Copy only the .c files (to be restored) # set files to "*.c" for all c files files="ua_tree.c ua_update.c" -# files="*.c" +# files="*.c" +mkdir -p ${BackupDirectory} for i in ${files}; do - cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build + echo "test" > ${BackupDirectory}/$i done -cd ${cwd}/tmp/build -ls >../1 -cd .. -sed s%\^%${cwd}/tmp/build/% 1 | sort | uniq >restore-list # -# At this point restore-list contains the list +# restore-list contains the list # of files we will restore # -rm -f 1 -cd ${cwd} -# -# Now arrange to backup *everything* -# -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build -cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build -# -# Enable MaximumFileSize to ensure lots of JobMedia records and thus -# lots of seeking -# -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size = 1000000% Maximum File Size = 10KB%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf +find "${BackupDirectory}" -type f | sort | uniq >${tmp}/restore-list + +# add more data to be backuped. +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + -change_jobname NightlySave $JobName start_test cat <${cwd}/tmp/bconcmds @@ -83,13 +83,6 @@ run_bareos check_for_zombie_jobs storage=tape stop_bareos -# Now setup a control directory of only what we *should* restore -rm -rf ${cwd}/tmp/build -mkdir -p ${cwd}/tmp/build -for i in ${files}; do - cp -p ${cwd}/build/src/dird/${i} ${cwd}/tmp/build -done - check_two_logs -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/restore2-by-file-test b/tests/restore2-by-file-test index 6ad2665..6fe1a57 100755 --- a/tests/restore2-by-file-test +++ b/tests/restore2-by-file-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore a few selected files. # TestName="restore2-by-file-test" @@ -8,10 +8,23 @@ JobName=restore2byfile . scripts/functions copy_test_confs -echo "${cwd}/build" >${cwd}/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist | sort | uniq >${cwd}/tmp/restore2-list - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +number_of_files_to_restore=5 +find "${BackupDirectory}" -type f | head -n ${number_of_files_to_restore} | sort | uniq >${tmp}/restore-list + + start_test cat <${cwd}/tmp/bconcmds @@ -26,7 +39,7 @@ messages @# now do a restore @# @$out ${cwd}/tmp/log2.out -restore where=${cwd}/tmp/bareos-restores storage=File file=<${cwd}/tmp/restore2-list +restore where=${cwd}/tmp/bareos-restores storage=File file=<${cwd}/tmp/restore-list yes wait messages @@ -38,11 +51,7 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -dstat=0 -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bareos-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done + +check_restore_files_diff `cat ${tmp}/restore-list` + end_test diff --git a/tests/runscript-test b/tests/runscript-test index d7f5396..4a02172 100755 --- a/tests/runscript-test +++ b/tests/runscript-test @@ -16,7 +16,17 @@ rm -f ${cwd}/tmp/RUN_FD_FAILED touch ${cwd}/tmp/log1.out /bin/cp -f scripts/bareos-dir.conf.testrunscript bin/bareos-dir.conf -echo "${cwd}/build/po" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/scratch-pool-test b/tests/scratch-pool-test index 93c6220..9160142 100755 --- a/tests/scratch-pool-test +++ b/tests/scratch-pool-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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. One minor wrinkle: we create the two tapes @@ -20,7 +20,19 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + outf="${cwd}/tmp/sed_tmp" echo "s%# Maximum File Size% Maximum File Size%g" >${outf} diff --git a/tests/scratchpool-pool-test b/tests/scratchpool-pool-test index 2a66c5e..b6deec3 100755 --- a/tests/scratchpool-pool-test +++ b/tests/scratchpool-pool-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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. One minor wrinkle: we create the two tapes @@ -22,7 +22,19 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + outf="${cwd}/tmp/sed_tmp" echo "s%# Maximum File Size% Maximum File Size%g" >${outf} diff --git a/tests/scsi-crypto-test b/tests/scsi-crypto-test index 1766178..5d20757 100755 --- a/tests/scsi-crypto-test +++ b/tests/scsi-crypto-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # @@ -13,20 +13,31 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -CRYPTO_CACHE="working/bareos-sd.8103.cryptoc" +CRYPTO_CACHE="working/bareos-sd.${BAREOS_SD_PORT}.cryptoc" rm -f ${CRYPTO_CACHE} # prepare director -KEY_ENCRYPTION_KEY=`bin/bscrypto -g -` -echo "Key Encryption Key = \"$KEY_ENCRYPTION_KEY\"" > bin/scsicrypto-dir.conf +KEY_ENCRYPTION_KEY=`${bin}/bscrypto -g -` +echo "Key Encryption Key = \"$KEY_ENCRYPTION_KEY\"" > ${conf}/scsicrypto-dir.conf -/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} bin/bareos-dir.conf -/bin/cp -f ${rconfigs}/${TestName}/bareos-sd.conf.${TestName} bin/bareos-sd.conf - -echo "${cwd}/build" >${cwd}/tmp/file-list +/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} ${conf}/bareos-dir.conf +/bin/cp -f ${rconfigs}/${TestName}/bareos-sd.conf.${TestName} ${conf}/bareos-sd.conf change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds @@ -44,8 +55,7 @@ scripts/check_for_zombie_jobs storage=tape 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 +change_files # # run a second job @@ -65,8 +75,8 @@ run_bconsole scripts/check_for_zombie_jobs storage=tape echo "Backup 2 done" -touch ${cwd}/build/src/dird/*.c -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +change_files + # # run a third job # @@ -86,7 +96,8 @@ run_bconsole scripts/check_for_zombie_jobs storage=tape echo "Backup 3 done" # make some files for the incremental to pick up -touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o +change_files + # # run a fourth job # @@ -153,7 +164,7 @@ echo "---------------------" echo "Key Encryption Key:" echo -cat bin/scsicrypto-dir.conf +cat ${conf}/scsicrypto-dir.conf echo echo "---------------------" diff --git a/tests/secure-erase-test b/tests/secure-erase-test index 1f023ce..018cf9f 100755 --- a/tests/secure-erase-test +++ b/tests/secure-erase-test @@ -21,8 +21,8 @@ ln bin/wipe.sh bin/wipe-fd.sh # outf="$tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf change_jobname BackupClient1 $JobName start_test diff --git a/tests/sha-test b/tests/sha-test new file mode 100755 index 0000000..8fe8b61 --- /dev/null +++ b/tests/sha-test @@ -0,0 +1,110 @@ +#!/bin/sh + +. scripts/functions + +# +# test backup with sha signatures (SHA512) of files +# + +# Define the Name of the test as "TestName". +# Should be the same as the filename, therefore we use the filename as default. +TestName="`basename $0`" +#TestName="1-example-test" + +# set other test specific variables +Client=bareos-fd +JobName=backup-bareos-fd +Storage=File1 +VolumeName=TestVolume001 + +# Directory to backup. +# This example uses a subdirectory +# that contains some file but isn't to large. +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup + +setup_data data/small.tgz + +# Config files will be copied to required location. +# Base configuration files come from the +# configs/BASE/ directory, see +# configs/BASE/README.txt for an overview of the provides resources. +# Store your additonal resources to +# configs/$TestName. +# It is also possible to overwrite resources from configs/BASE. +# If you define a full config file (instead of config files for individual resources), +# only these will be taken. +copy_configs + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +# start the test +start_test + +# ${tmp}/bconcmds lists the bconsole commands executed by "run_bareos" +cat <${tmp}/bconcmds +messages +@$out ${tmp}/log-config.out +show client=${Client} +@$out ${tmp}/log1.out w +label storage=File1 pool=Default volume=TestVolume001 +run job=$JobName storage=File1 yes +wait +messages +@# +@# now do a restore +@# +@$out ${tmp}/log2.out w +restore client=${Client} where=${tmp}/bareos-restores select storage=File1 +unmark * +mark * +done +yes +wait +messages +quit +END_OF_DATA + +# Start the bareos daemons +# and run the bconsole commands from ${tmp}/bconcmds +# Further bconsole commands can be executed by "run_bconsole". +run_bareos + +# verify that all are terminated +if ! check_for_zombie_jobs storage=File1 client=${Client}; then + set_error "zombie jobs" +fi + +# stop bareos +stop_bareos + +# check log files for common error messages +check_log ${tmp}/log1.out +check_log ${tmp}/log2.out + +# check tmp/log1.out and tmp/log2.out for errors +check_two_logs + +# check for differences between original files and restored files +check_restore_diff ${BackupDirectory} + +# do some manual testing +if [ ! -d ${BackupDirectory} ]; then + set_error "Directory ${BackupDirectory} does not exists any more." +fi + +check_log ${tmp}/log-config.out +if ! grep -qi "TlsRequire = yes" ${tmp}/log-config.out; then + set_error "client is not configured to use TLS." +fi + +if ! bls_files_verbose "${Storage}" "${VolumeName}" | grep -q "SHA512"; then + set_error "no SHA512 signatures found." +fi + +# end tests and check for error codes +end_test + diff --git a/tests/short-incremental-test b/tests/short-incremental-test index 90f315f..abd9d47 100755 --- a/tests/short-incremental-test +++ b/tests/short-incremental-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then create some +# Run a simple backup then create some # new files, do an Incremental and restore those two files. # TestName="short-incremental-test" @@ -9,15 +9,22 @@ JobName=Incremental ${rscripts}/cleanup ${rscripts}/copy-test-confs -echo "${tmpsrc}" >${tmp}/file-list -mkdir -p ${tmpsrc} -cp -p ${src}/src/dird/*.c ${tmpsrc} -cd ${tmp} -echo "${tmpsrc}/ficheriro1.txt" >restore-list -echo "${tmpsrc}/ficheriro2.txt" >>restore-list -cd ${cwd} - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + +echo "${BackupDirectory}/ficheriro1.txt" >${tmp}/restore-list +echo "${BackupDirectory}/ficheriro2.txt" >>${tmp}/restore-list + start_test cat <${tmp}/bconcmds @@ -42,8 +49,8 @@ check_for_zombie_jobs storage=File # Now create two new files to be restored later # sleep 1 -echo "ficheriro1.txt" >${tmpsrc}/ficheriro1.txt -cp -f ${tmpsrc}/dird.c ${tmpsrc}/ficheriro2.txt +echo "ficheriro1.txt" >${BackupDirectory}/ficheriro1.txt +echo "ficheriro2.txt" >${BackupDirectory}/ficheriro2.txt cat <${tmp}/bconcmds @$out /dev/null @@ -86,9 +93,5 @@ check_for_zombie_jobs storage=File stop_bareos check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f ${tmpsrc}/*.c -check_restore_tmp_build_diff +check_restore_files_diff `cat ${tmp}/restore-list` end_test diff --git a/tests/six-vol-test b/tests/six-vol-test index 3fba03f..50b887d 100755 --- a/tests/six-vol-test +++ b/tests/six-vol-test @@ -18,14 +18,19 @@ scripts/copy-testa-confs /bin/cp -f scripts/testb-bareos-dir.conf bin/bareos-dir.conf echo "${cwd}/tmp/largefile" >${cwd}/tmp/file-list -# Create 56MB file with random data -echo "Creating a 56MB file with random data ..." -dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 >/dev/null 2>&1 -echo "largefile created" - change_jobname MultiVol $JobName + + start_test +# Create 56MB file with random data +print_debug "Creating a 56MB file with random data ..." +if dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 >/dev/null 2>&1; then + print_debug "largefile created" +fi + + + cat <${cwd}/tmp/bconcmds @$out /dev/null messages diff --git a/tests/slow-test b/tests/slow-test deleted file mode 100755 index 2a6774a..0000000 --- a/tests/slow-test +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# Create a very slow job so that I can stop jobs cancel -# jobs and restart jobs for testing. -# -TestName="slow-test" -JobName=Incremental -. scripts/functions - -${rscripts}/cleanup -${rscripts}/copy-test-confs -echo "${cwd}/build" >${tmp}/file-list - -change_jobname CompressedTest $JobName -start_test - -cat <${tmp}/bconcmds -@$out /dev/null -messages -@$out ${tmp}/log1.out -@#setdebug level=100 storage=File -@#setdebug level=200 client -@#setdebug level=100 director -label storage=File volume=TestVolume001 -label storage=File volume=TestVolume002 -setbandwidth client=$CLIENT limit=100 -run job=$JobName yes -status client -wait -run job=$JobName yes -messages -quit -END_OF_DATA - -run_bareos - -check_for_zombie_jobs storage=File -#stop_bareos - -check_two_logs -# -# Delete .c files because we will only restored the txt files -# -#rm -f ${tmpsrc}/*.c -#check_restore_tmp_build_diff -#end_test diff --git a/tests/small-file-size-tape b/tests/small-file-size-tape index 9ec2185..3385284 100755 --- a/tests/small-file-size-tape +++ b/tests/small-file-size-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # to a tape where the maximum tape file size is set to 1M # TestName="small-file-size-tape" @@ -12,11 +12,23 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/source-addr-test b/tests/source-addr-test index 4064744..4c4cf0e 100755 --- a/tests/source-addr-test +++ b/tests/source-addr-test @@ -1,26 +1,49 @@ #!/bin/sh + +. scripts/functions + # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # unset LANG TestName="source-addr-test" JobName=backup -. scripts/functions -scripts/cleanup +# Directory to backup. +# This directory will be created by setup_data(). +# If set, $BackupDirectory will be used +# as base directory by check_restore_diff(). +# Don't use a "/" at the end of the directory path, +# as it might cause problems +# (filenames given as parameter to restore must match 100%. "//" are not identical with "/"). +BackupDirectory="${tmp}/data" + +# Remove old configuration, working and tmp files. Setup the database. +cleanup + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data". +setup_data data/small.tgz + scripts/copy-confs +change_jobname BackupClient1FileList $JobName + + + +start_test + # # Zap out any schedule in default conf file so that # it doesn't start during our test # outf="tmp/sed_tmp" echo "s% Schedule =%# Schedule =%g" >${outf} -echo "s%Name = \"BackupClient1\"%Name = \"backup\"; client run after job = \"netstat -tan\"%g" >>${outf} -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} $tmp/1 >$scripts/bareos-dir.conf +echo "s%Name = \"$JobName\"%Name = \"$JobName\"; client run after job = \"netstat -tan\"%g" >>${outf} +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >${conf}/bareos-dir.conf PATH=$PATH:/sbin:/usr/sbin # @@ -42,28 +65,22 @@ if [ "$IP" = '' ]; then # inet 192.168.121.195 netmask 255.255.255.0 broadcast 192.168.121.255 IP=`ifconfig ${INTERFACE} | perl -ne '/inet (.+?) / && print $1'` if [ "$IP" = '' ]; then - echo "Can't detect ip address" - exit 0 + set_error "Can't detect ip address for interface ${INTERFACE}" + exit 1 fi fi outf="tmp/sed_tmp" echo "s/QueryFile/DirSourceAddress=$IP; QueryFile/g" > $outf echo "s/Address =/Address = 127.0.0.1 #/g" >> $outf -cp $scripts/bareos-dir.conf $tmp/1 -sed -f ${outf} ${cwd}/tmp/1 > $scripts/bareos-dir.conf +cp ${conf}/bareos-dir.conf $tmp/1 +sed -f ${outf} ${cwd}/tmp/1 > ${conf}/bareos-dir.conf # Set source address on the FD as well echo "s/Maximum Concurrent Jobs/FDSourceAddress=$IP; Maximum Concurrent Jobs/g" >$outf -cp $scripts/bareos-fd.conf $tmp/2 -sed -f ${outf} ${cwd}/tmp/2 > $scripts/bareos-fd.conf - -DIRPORT=$BASEPORT -FDPORT=$(($BASEPORT + 1)) -SDPORT=$(($BASEPORT + 2)) +cp ${conf}/bareos-fd.conf $tmp/2 +sed -f ${outf} ${cwd}/tmp/2 > ${conf}/bareos-fd.conf -change_jobname BackupClient1 $JobName -start_test cat <${cwd}/tmp/bconcmds @$out /dev/null @@ -104,14 +121,14 @@ stop_bareos # sleep 5 print_debug "Detecting connections to SD sourced from ${IP}" -grep -E "127.0.0.1(.|:)$SDPORT .* ${IP}" $tmp/log1.out > $tmp/log3.out +grep -E "127.0.0.1(.|:)$BAREOS_SD_PORT .* ${IP}" $tmp/log1.out > $tmp/log3.out if [ $? -ne 0 ]; then stat=2 print_debug "Couldn't detect a connection to the SD sourced from SourceAddress ${IP}" fi print_debug "and connections to FD sourced from ${IP}" -grep -E "127.0.0.1(.|:)$FDPORT .* ${IP}" $tmp/log1.out >> $tmp/log3.out +grep -E "127.0.0.1(.|:)$BAREOS_FD_PORT .* ${IP}" $tmp/log1.out >> $tmp/log3.out if [ $? -ne 0 ]; then stat=2 print_debug "Couldn't detect a connection to the FD sourced from SourceAddress ${IP}" diff --git a/tests/span-vol-test b/tests/span-vol-test index f060a71..839f5f7 100755 --- a/tests/span-vol-test +++ b/tests/span-vol-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # split the archive into four volumes, two of which are # totally full. I.e. make sure that bsr selects all tapes # including those fully spanned. @@ -11,7 +11,19 @@ JobName=SpanVol scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/sparse-autoxflate-test b/tests/sparse-autoxflate-test index 977dfa5..9b85d24 100755 --- a/tests/sparse-autoxflate-test +++ b/tests/sparse-autoxflate-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the Sparse option +# Run a simple backup using the Sparse option # then restore it. # TestName="sparse-autoxflate-test" @@ -9,7 +9,19 @@ JobName=SparseTest scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + @@ -28,7 +40,7 @@ sed 's@# Maximum File Size = 10KB@# autoxflate plugin settings\ mv ${cwd}/bin/bareos-sd.conf ${cwd}/bin/bareos-sd.conf.sed # enable autoxflate plugin sed 's@Pid Directory.*@\ -Plugin Directory =\"'"${cwd}"'/bin/plugins\"\ +Plugin Directory =\"'"${plugindir}"'\"\ @g' < ${cwd}/bin/bareos-sd.conf.sed > ${cwd}/bin/bareos-sd.conf start_test diff --git a/tests/sparse-compressed-test b/tests/sparse-compressed-test index e219b89..14a3f11 100755 --- a/tests/sparse-compressed-test +++ b/tests/sparse-compressed-test @@ -1,16 +1,27 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the Sparse option +# Run a simple backup using the Sparse option # then restore it. # TestName="sparse-compressed-test" JobName=Sparse-conpressed . scripts/functions -cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test diff --git a/tests/sparse-encrypt-test b/tests/sparse-encrypt-test index 038b46b..1df69bf 100755 --- a/tests/sparse-encrypt-test +++ b/tests/sparse-encrypt-test @@ -1,25 +1,31 @@ #!/bin/sh + +. scripts/functions + # # Run a simple backup with encryption and a real sparse file. # TestName="sparse-encrypt-test" JobName=SparseTest -. scripts/functions scripts/cleanup scripts/copy-crypto-confs # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list -mkdir -p "${BackupDirectory}" SPARSEFILE="${BackupDirectory}/gigaslam.gif" +start_test + # create a sparse file scripts/create_sparse_file.sh ${SPARSEFILE} 100M if [ $? != 0 ]; then @@ -33,8 +39,6 @@ if [ ! -e "${SPARSEFILE}" ]; then exit 1 fi -start_test - cat >${cwd}/tmp/bconcmds < 120K)" +# TODO: encrypted sparse files are not handled as sparse files. +#elif [ $size -gt 120 ]; then +# set_error "Restored sparse file ${SPARSEFILE} is too big (${size}K > 120K)" fi print_debug "size orig: $size_orig" print_debug "size restored: $size" -check_two_logs -check_restore_diff "${BackupDirectory}" - rm -f ${SPARSEFILE} end_test diff --git a/tests/sparse-file-test b/tests/sparse-file-test index 7287853..0e5c93d 100755 --- a/tests/sparse-file-test +++ b/tests/sparse-file-test @@ -1,29 +1,32 @@ #!/bin/sh + +. scripts/functions + # -# Run a simple backup of the Bareos build directory using the Sparse option +# Run a simple backup using the Sparse option # then restore it. # -TestName="gigaslam-sparse-test" +TestName="sparse-file-test" JobName=SparseTest -#JobName=SparseCompressedTest - -. scripts/functions scripts/cleanup scripts/copy-test-confs # Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list -mkdir -p "${BackupDirectory}" - SPARSEFILE="${BackupDirectory}/gigaslam.gif" +start_test + # create a sparse file scripts/create_sparse_file.sh ${SPARSEFILE} 100M if [ $? != 0 ]; then @@ -37,8 +40,6 @@ if [ ! -e "${SPARSEFILE}" ]; then exit 1 fi -start_test - cat >${cwd}/tmp/bconcmds </dev/null | grep -c liblzo2` -if test ${cnt} -lt 1; then +if ! check_linked_against lzo2; then echo "$TestName skipped: not linked for lzo2 compression" exit 0 fi -cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test diff --git a/tests/sparse-test b/tests/sparse-test index ec30c12..5c12876 100755 --- a/tests/sparse-test +++ b/tests/sparse-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the Sparse option +# Run a simple backup using the Sparse option # then restore it. # TestName="sparse-test" @@ -9,7 +9,19 @@ JobName=SparseTest scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test diff --git a/tests/speed-test b/tests/speed-test index cfd5420..1908b31 100755 --- a/tests/speed-test +++ b/tests/speed-test @@ -1,4 +1,7 @@ #!/bin/sh + +. scripts/functions + # # Run a big test with backup of millions of files then run 100 incremental # modifying 10% each time @@ -10,20 +13,24 @@ # NB_FULL=25 # NB_INCR=25 # NB_FILES=750000 +# +# TODO: this test is not enabled. +# TestName="speed-test" JobName=speed -. scripts/functions ${rscripts}/cleanup + +# Directory to backup. +BackupDirectory="${tmp}/data" +mkdir -p $cwd/files +echo "$BackupDirectory" >${tmp}/file-list + ${rscripts}/copy-test-confs sed 's/Max Run Time/#Max Run Time/' $conf/bareos-dir.conf > $tmp/1 sed 's/SpoolData/#SpoolData/' $tmp/1 > $conf/bareos-dir.conf -echo "${cwd}/files" >${tmp}/file-list -rm -rf ${tmp}/bareos-restores -mkdir -p $cwd/files - change_jobname CompressedTest $JobName if [ a$ACCURATE != a ]; then sed 's/Name = "speed"/Name = "speed"; accurate=yes/' $conf/bareos-dir.conf > $tmp/1 @@ -39,13 +46,12 @@ fi NB_CONCURENT=${NB_CONCURENT:-1} NB_FULL=${NB_FULL:-20} NB_INCR=${NB_INCR:-25} -NB_FILES=${NB_FILES:-750000} +NB_FILES=${NB_FILES:-100000} start_test -# Create X million of files echo "Creating $NB_FILES files" -perl -Mscripts::functions -e "create_many_files('$cwd/files', $NB_FILES);" +perl -Mscripts::functions -e "create_many_files('$BackupDirectory', $NB_FILES);" cat <${tmp}/bconcmds @$out /dev/null @@ -67,8 +73,7 @@ messages @$out ${tmp}/log1.out END_OF_DATA -for j in $(seq 1 $NB_CONCURENT) -do +for j in $(seq 1 $NB_CONCURENT); do cat <>${tmp}/bconcmds @sleep 5 run job=$JobName level=Full yes @@ -82,8 +87,7 @@ quit EOF # insert X million files into File table -for i in $(seq 0 $NB_FULL) -do +for i in $(seq 0 $NB_FULL); do run_bconsole done @@ -91,9 +95,8 @@ done sed 's/Full/Incremental/' ${tmp}/bconcmds > $tmp/1 mv $tmp/1 ${tmp}/bconcmds -for i in $(seq 0 $NB_INCR) -do - perl -Mscripts::functions -e "update_some_files('$cwd/files/'.chr($i+65));" +for i in $(seq 0 $NB_INCR); do + perl -Mscripts::functions -e "update_some_files('$BackupDirectory/'.chr($i+65));" run_bconsole done @@ -128,10 +131,13 @@ rm -rf ${tmp}/bareos-restores if [ x$db_password != x ]; then p="-P $db_password" fi -(time $src/src/tools/bbatch -r 1 -n $db_name -u $db_user $p -w $tmp) >> $working/log 2>&1 -cp $working/log files/log${WHICHDB}-$(date +%F_%H-%M).log -cp $tmp/log2.out files/log2${WHICHDB}-$(date +%F_%H-%M).log +# Disabled, as it is not sure, what bbatch does. +# Also, this test is the only one, using it. +# Without this test, there is no need to compile it at all. +#(time $bin/bbatch -r 1 -n $db_name -u $db_user $p -w $tmp) >> $working/log 2>&1 +cp $working/log files/log-${DBTYPE}-$(date +%F_%H-%M).log +cp $tmp/log2.out files/log2-${DBTYPE}-$(date +%F_%H-%M).log end_test diff --git a/tests/status-schedule-test b/tests/status-schedule-test index 673f365..8249609 100755 --- a/tests/status-schedule-test +++ b/tests/status-schedule-test @@ -7,14 +7,21 @@ JobName=BackupClient1 scripts/cleanup scripts/copy-test-confs +/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} ${conf}/bareos-dir.conf +change_jobname $JobName +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz -/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} bin/bareos-dir.conf +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -echo "${cwd}/build/src/tests" >${cwd}/tmp/file-list -change_jobname $JobName start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/strip-test b/tests/strip-test index f969605..d50dfba 100755 --- a/tests/strip-test +++ b/tests/strip-test @@ -9,17 +9,23 @@ JobName=stripTest scripts/cleanup scripts/copy-strip-confs -# Make a copy of build/src/dird to be backed up -rm -rf ${tmp}/$$-strip -mkdir -p ${tmp}/$$-strip -cp -rpf ${cwd}/build/src/console/ ${tmp}/$$-strip/ -echo "${tmp}/$$-strip" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + # Now, strip the first 4 parts of the path (which is what # the backup will do and put the result in rpath -echo "${tmp}/$$-strip/" >${tmp}/1 -rpath=`cut -f5- -d'/' ${tmp}/1` -#echo "========= $rpath" +rpath="`echo ${BackupDirectory} | cut -f5- -d'/'`" +print_debug "orig path =$BackupDirectory" +print_debug "strip path=$rpath" change_jobname NightlySave $JobName start_test @@ -69,12 +75,10 @@ stop_bareos check_two_logs # if test "$debug" -eq 1 ; then - diff -ur ${tmp}/$$-strip/ ${tmp}/bareos-restores/${rpath} + diff -ur ${BackupDirectory} ${tmp}/bareos-restores/${rpath} else - diff -r ${tmp}/$$-strip/ ${tmp}/bareos-restores/${rpath} 2>&1 >/dev/null + diff -r ${BackupDirectory} ${tmp}/bareos-restores/${rpath} 2>&1 >/dev/null fi dstat=$? -rm -rf ${tmp}/$$-strip - end_test diff --git a/tests/subscription-test b/tests/subscription-test index 229d162..52e4740 100755 --- a/tests/subscription-test +++ b/tests/subscription-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # @@ -10,14 +10,21 @@ JobName=BackupClient1 scripts/cleanup scripts/copy-test-confs +/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} ${conf}/bareos-dir.conf +change_jobname $JobName +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz -/bin/cp -f ${rconfigs}/${TestName}/bareos-dir.conf.${TestName} bin/bareos-dir.conf +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list -echo "${cwd}/build/src/tests" >${cwd}/tmp/file-list -change_jobname $JobName start_test cat <${cwd}/tmp/bconcmds @@ -58,9 +65,9 @@ fi # update subscriptions to 5 -cp ${scripts}/bareos-dir.conf ${scripts}/bareos-dir.conf.tmp -sed 's#Subscriptions = 1#Subscriptions = 5#g' < ${scripts}/bareos-dir.conf.tmp > ${scripts}/bareos-dir.conf -touch ${cwd}/build/src/tests/* +cp ${conf}/bareos-dir.conf ${tmp}/bareos-dir.conf.tmp +sed 's#Subscriptions = 1#Subscriptions = 5#g' < ${tmp}/bareos-dir.conf.tmp > ${conf}/bareos-dir.conf +change_files # # run second backup diff --git a/tests/test-plugin-test b/tests/test-plugin-test index 0256b1e..6b26c64 100755 --- a/tests/test-plugin-test +++ b/tests/test-plugin-test @@ -17,8 +17,18 @@ cd ${cwd} scripts/cleanup scripts/copy-plugin-confs file=encrypt-bug.jpg -rm -rf ${cwd}/tmp/* -echo "${cwd}/build/src" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/three-pool-recycle-test b/tests/three-pool-recycle-test index 2eea72d..67c444b 100755 --- a/tests/three-pool-recycle-test +++ b/tests/three-pool-recycle-test @@ -1,11 +1,10 @@ #!/bin/sh # -# This is Arno's test. It uses three pools, three tapes, and +# This test uses three pools, three tapes, and # an autochanger. Note, the Director has four Pools in its # conf: Default, Full, Inc, and Scratch. 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 Bareos -# source code (i.e. the build directory). +# is in ${cwd}/tmp/file-list. # # Note, we use the virtual disk autochanger. # @@ -22,7 +21,18 @@ scripts/prepare-disk-changer cp ${cwd}/bin/bareos-dir.conf ${cwd}/tmp/1 sed "s%Client Run Before Job%#Client Run Before Job%" ${cwd}/tmp/1 >${cwd}/bin/bareos-dir.conf -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/three-pool-test b/tests/three-pool-test index 3e26830..ab7baf4 100755 --- a/tests/three-pool-test +++ b/tests/three-pool-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory. Create three +# Run a simple backup . Create three # tapes, each in a different pool, then run two jobs both of which # want the tape that is not loaded. Note, they both have # prefers non-mounted tapes. This should expose bug #801 @@ -16,7 +16,19 @@ scripts/copy-2disk-drive-confs scripts/prepare-disk-changer CLIENT=2drive2disk -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/tls-client-initiated-connection-backup-test b/tests/tls-client-initiated-connection-backup-test index c2fdee8..ce24826 100755 --- a/tests/tls-client-initiated-connection-backup-test +++ b/tests/tls-client-initiated-connection-backup-test @@ -3,21 +3,29 @@ . scripts/functions # -# Run a simple backup of the Bareos build directory with TLS +# Run a simple backup with TLS # communications code enabled then restore it. # TestName="tls-client-initiated-connection-backup-test" Client=connectingclient-fd JobName=backup-connectingclient-fd -BackupDirectory="${cwd}/build/autoconf/" cleanup copy_configs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list + start_test cat <tmp/bconcmds diff --git a/tests/tls-duplicate-job-test b/tests/tls-duplicate-job-test index c6d0300..ad9c0dc 100755 --- a/tests/tls-duplicate-job-test +++ b/tests/tls-duplicate-job-test @@ -11,11 +11,6 @@ Client=bareos-fd JobName=backup-bareos-fd when=`perl -Mscripts::functions -e "get_time(300)"` -# Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" - # Remove old configuration, working and tmp files. Setup the database. cleanup @@ -36,10 +31,18 @@ copy_configs #perl -Mscripts::functions -e 'set_maximum_concurrent_jobs("$conf/bareos-fd.conf",100)' +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". -#echo "${cwd}/build/README.NDMP" >${cwd}/tmp/file-list echo "${BackupDirectory}" >${tmp}/file-list + # start the test start_test diff --git a/tests/tls-passive-test b/tests/tls-passive-test index b37203f..5d1c53f 100755 --- a/tests/tls-passive-test +++ b/tests/tls-passive-test @@ -5,17 +5,11 @@ # Define the Name of the test as "TestName". # Should be the same as the filename, therefore we use the filename as default. TestName="`basename $0`" -#TestName="1-example-test" # set other test specific variables Client=tls-passive-fd JobName=backup-bareos-fd -# Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" - # Remove old configuration, working and tmp files. Setup the database. cleanup @@ -30,9 +24,18 @@ cleanup # only these will be taken. copy_configs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list + # start the test start_test diff --git a/tests/tls-test b/tests/tls-test index 2ba37c9..aef2b21 100755 --- a/tests/tls-test +++ b/tests/tls-test @@ -5,17 +5,11 @@ # Define the Name of the test as "TestName". # Should be the same as the filename, therefore we use the filename as default. TestName="`basename $0`" -#TestName="1-example-test" # set other test specific variables Client=bareos-fd JobName=backup-bareos-fd -# Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" - # Remove old configuration, working and tmp files. Setup the database. cleanup @@ -30,6 +24,14 @@ cleanup # only these will be taken. copy_configs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list diff --git a/tests/truncate-bug-tape b/tests/truncate-bug-tape index e969794..7a6beef 100755 --- a/tests/truncate-bug-tape +++ b/tests/truncate-bug-tape @@ -11,9 +11,21 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build/src" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + + start_test cat <tmp/bconcmds @@ -55,7 +67,7 @@ restore where=${cwd}/tmp/bareos-restores storage=tape 3 @# select JobId=4 (i.e. file five on the tape) 4 -cd ${cwd}/build +cd ${BackupDirectory} @# mark a single file mark configure done diff --git a/tests/truncate-command-test b/tests/truncate-command-test index 9dcded3..d3617c1 100755 --- a/tests/truncate-command-test +++ b/tests/truncate-command-test @@ -23,11 +23,6 @@ JobName=backup-bareos-fd MinVolumeSize=65536 VolumeName=TestVolume001 -# Directory to backup. -# This example uses a subdirectory of the bareos source/build directory, -# that contains some file but isn't to large. -BackupDirectory="${cwd}/build/src/tests/" - # Remove old configuration, working and tmp files. Setup the database. cleanup @@ -42,9 +37,18 @@ cleanup # only these will be taken. copy_configs +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + # the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". echo "${BackupDirectory}" >${tmp}/file-list + # start the test start_test diff --git a/tests/two-jobs-test b/tests/two-jobs-test index bf912c4..4d35cc2 100755 --- a/tests/two-jobs-test +++ b/tests/two-jobs-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then backup a second time and finally restore it # TestName="two-jobs-test" @@ -10,9 +10,20 @@ JobName=Two-Jobs cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname CompressedTest $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat >tmp/bconcmds <${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 + + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +# TODO: us a larger data set. +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +# Make a relatively large backup set multiple times the source directory +echo "${BackupDirectory}" >${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list +echo "${BackupDirectory}" >>${tmp}/file-list + start_test diff --git a/tests/two-pool-test b/tests/two-pool-test index 6b391de..e711290 100755 --- a/tests/two-pool-test +++ b/tests/two-pool-test @@ -1,11 +1,10 @@ #!/bin/sh # -# This is Arno's test. It uses two pools, two tapes, and +# This test 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 Bareos -# source code (i.e. the build directory). +# is in ${cwd}/tmp/file-list. # # Note, we use the virtual disk autochanger. # @@ -18,11 +17,17 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -# Make a relatively large backup set 5 x source code directory -# Reduced to 1 for portable -echo "${cwd}/build" >${cwd}/tmp/file-list -echo "${cwd}/build" >${cwd}/tmp/file-list -echo "${cwd}/build" >${cwd}/tmp/file-list +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test diff --git a/tests/two-vol-test b/tests/two-vol-test index 6c879e0..678a222 100755 --- a/tests/two-vol-test +++ b/tests/two-vol-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup but # split the archive into two volumes # TestName="two-vol-test" @@ -10,7 +10,19 @@ JobName=TwoVol cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/two-volume-changer b/tests/two-volume-changer index e978d0e..7406b2c 100755 --- a/tests/two-volume-changer +++ b/tests/two-volume-changer @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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. @@ -16,14 +16,25 @@ 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/bareos-sd.conf ${cwd}/tmp/1 sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # Write out bconsole commands diff --git a/tests/two-volume-test b/tests/two-volume-test index 3bacea5..c74c1f5 100755 --- a/tests/two-volume-test +++ b/tests/two-volume-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # 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. @@ -16,7 +16,19 @@ scripts/cleanup scripts/copy-2disk-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + outf="tmp/sed_tmp" echo "s%# Maximum File Size% Maximum File Size%g" >${outf} diff --git a/tests/verify-cat-test b/tests/verify-cat-test index 40128bc..5f80d5a 100755 --- a/tests/verify-cat-test +++ b/tests/verify-cat-test @@ -9,7 +9,19 @@ JobName=VerifyCatalog cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + #echo "${cwd}/do_all" >${cwd}/tmp/file-list #echo "${cwd}/do_all_tapes" >>${cwd}/tmp/file-list #echo "${cwd}/do_file" >>${cwd}/tmp/file-list @@ -21,7 +33,7 @@ cat <tmp/bconcmds @output /dev/null messages @$out tmp/log1.out -@#exec "sh -c 'touch ${cwd}/build/xxx_new_file'" +@#exec "sh -c 'touch ${BackupDirectory}/xxx_new_file'" run job=VerifyVolume level=InitCatalog yes wait messages @@ -29,7 +41,7 @@ messages @# now do a verify Catalog @# @$out ${cwd}/tmp/original -@#exec "sh -c 'rm -f ${cwd}/build/xxx_new_file'" +@#exec "sh -c 'rm -f ${BackupDirectory}/xxx_new_file'" run job=VerifyVolume level=Catalog yes wait messages diff --git a/tests/verify-vol-tape b/tests/verify-vol-tape index e9772f0..41bc97b 100755 --- a/tests/verify-vol-tape +++ b/tests/verify-vol-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then verify the catalog. # TestName="verify-vol-tape" @@ -12,9 +12,20 @@ require_tape_drive scripts/cleanup-tape scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <tmp/bconcmds diff --git a/tests/verify-vol-test b/tests/verify-vol-test index 3c03bea..4c315a2 100755 --- a/tests/verify-vol-test +++ b/tests/verify-vol-test @@ -1,22 +1,32 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then verify the catalog. # TestName="verify-vol-test" JobName=VerifyVol . scripts/functions -cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list -rm -f ${cwd}/build/sparsefile + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + # # Add this back when verify can handle sparse files # the same way that backup does # -#dd if=${cwd}/build/configure of=${cwd}/build/sparsefile bs=1 count=1 seek=10M +#scripts/create_sparse_file.sh ${BackupDirectory}/sparsefile 10M change_jobname NightlySave $JobName start_test diff --git a/tests/verify-voltocat-test b/tests/verify-voltocat-test index aa62476..bda81cd 100755 --- a/tests/verify-voltocat-test +++ b/tests/verify-voltocat-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then verify the Volume to the catalog. # TestName="verify-voltocat-test" @@ -10,7 +10,19 @@ JobName=VerifyVol cwd=`pwd` scripts/cleanup scripts/copy-test-confs -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + change_jobname NightlySave $JobName start_test diff --git a/tests/virtual-backup-test b/tests/virtual-backup-test index f34e1e1..fd99e34 100755 --- a/tests/virtual-backup-test +++ b/tests/virtual-backup-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then do a +# Run a simple backup then do a # Virtual Full backup to another device. # # This script uses the disk autochanger @@ -13,9 +13,20 @@ JobName=Vbackup scripts/cleanup scripts/copy-migration-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # @@ -34,23 +45,23 @@ label storage=File volume=FileVolume001 Pool=Default label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 @# run several jobs -@exec "sh -c 'date > ${cwd}/build/date'" +@exec "sh -c 'date > ${BackupDirectory}/date'" run job=$JobName level=Full yes wait messages list jobs -@exec "sh -c 'touch ${cwd}/build/src/dird/*.c'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Incremental yes wait messages list jobs -@exec "sh -c 'touch ${cwd}/build/src/dird/*.o'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Differential yes wait messages list jobs -@exec "sh -c 'date > ${cwd}/build/date'" -@exec "sh -c 'touch ${cwd}/build/src/dird/*.o'" +@exec "sh -c 'date > ${BackupDirectory}/date'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Incremental yes wait messages diff --git a/tests/virtual-backup2-test b/tests/virtual-backup2-test index f7d4a3b..a589319 100755 --- a/tests/virtual-backup2-test +++ b/tests/virtual-backup2-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory then do a +# Run a simple backup then do a # Virtual Full backup to another device. # # This script uses the disk autochanger @@ -13,9 +13,20 @@ JobName=Vbackup scripts/cleanup scripts/copy-virtual-confs scripts/prepare-disk-changer -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/flat-c.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test # @@ -37,26 +48,26 @@ label storage=DiskChanger volume=ChangerVolume004 slot=4 Pool=Full drive=0 label storage=DiskChanger volume=ChangerVolume005 slot=5 Pool=Full drive=0 setdebug level=0 storage=DiskChanger @# run several jobs -@exec "sh -c 'date > ${cwd}/build/date'" +@exec "sh -c 'date > ${BackupDirectory}/date'" run job=$JobName level=Full storage=DiskChanger yes wait messages list jobs list volumes -@exec "sh -c 'touch ${cwd}/build/src/dird/*.c'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Incremental storage=DiskChanger yes wait messages list jobs list volumes -@exec "sh -c 'touch ${cwd}/build/src/dird/*.o'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Differential storage=DiskChanger yes wait messages list jobs list volumes -@exec "sh -c 'date > ${cwd}/build/date'" -@exec "sh -c 'touch ${cwd}/build/src/dird/*.o'" +@exec "sh -c 'date > ${BackupDirectory}/date'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" run job=$JobName level=Incremental storage=DiskChanger yes wait messages @@ -101,7 +112,7 @@ Default list jobs list volumes messages -@exec "sh -c 'touch ${cwd}/build/src/dird/*.o'" +@exec "sh -c 'touch ${BackupDirectory}/*.c'" @# @# Do an incremental on top of the Virtual Full @# diff --git a/tests/virtual-changer-test b/tests/virtual-changer-test index 03273a2..ffec39f 100755 --- a/tests/virtual-changer-test +++ b/tests/virtual-changer-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory. Create three +# Run a simple backup . Create three # tapes, each in a different pool, then run two jobs both of which # want the disk that is not loaded. Note, they both have # prefers non-mounted tapes. This should expose bug #801 @@ -28,7 +28,19 @@ scripts/prepare-disk-changer CLIENT=2drive2disk -echo "${cwd}/build" >${cwd}/tmp/file-list + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + #change_jobname Virtual $JobName start_test diff --git a/tests/virtualfull-extreme-concurrency-bug-test b/tests/virtualfull-extreme-concurrency-bug-test index 756f449..1519b59 100755 --- a/tests/virtualfull-extreme-concurrency-bug-test +++ b/tests/virtualfull-extreme-concurrency-bug-test @@ -4,14 +4,16 @@ # deadlock. First create a lot of backups, then run # virtual fulls on them. # +# FIXME: not working +# TestName="virtualfull-extreme-concurrency-bug-test" . scripts/functions # Setup conf files scripts/cleanup scripts/copy-test-confs -cp scripts/virtualfull-extreme-bacula-dir.conf bin/bacula-dir.conf -cp scripts/migrate-bacula-sd.conf bin/bacula-sd.conf +cp scripts/virtualfull-extreme-bacula-dir.conf ${conf}/bareos-dir.conf +#cp scripts/migrate-bacula-sd.conf bin/bacula-sd.conf # we have 20 distinct jobs. Each of those is run once at full level, # then four times incremental, each time adding data so we end up with @@ -19,15 +21,17 @@ cp scripts/migrate-bacula-sd.conf bin/bacula-sd.conf # We should have jobs where several virtual fulls compete for volumes. -# Backup Bacula stored+objects directory -# Backup director -rm -rf ${tmpsrc} -mkdir ${tmpsrc} -echo "${tmpsrc}" >${tmp}/file-list -for i in `ls ${src}/src/stored/*` ; do - cp -p $i ${tmpsrc} -done -# Get path to temp source files to restore +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + start_test @@ -41,7 +45,7 @@ messages END_OF_DATA # Start Bacula and do label -run_bacula +run_bareos cat <${cwd}/tmp/bconcmds @output /dev/null @@ -81,12 +85,11 @@ END_OF_DATA # add more files to backup source, so following incrementals # have something to back up -for a in wx-console filed lib tools ; do - #echo ">>> adding ${a} to backup" - for i in `ls ${src}/src/${a}/*` ; do - cp -p "$i" ${tmpsrc} >/dev/null 2>&1 - done - #echo "now $(ls ${tmpsrc}|wc -l) files to back up" +for a in `seq 11 14`; do + change_files + #echo ">>> adding ${a} to backup" + date > ${BackupDirectory}/run-01-$a.txt + #echo "now $(ls ${BackUpDirectory}|wc -l) files to back up" cat <${cwd}/tmp/bconcmds @$out ${cwd}/tmp/log1.out a @@ -163,7 +166,7 @@ run_bconsole for a in `seq 1 12` ; do #echo ">>> adding files to backup: ${a}" for b in `seq 1 150` ; do - date > "${tmpsrc}/run${a}-${b}.data" + date > "${BackupDirectory}/run${a}-${b}.data" done #echo "now $(ls ${tmpsrc}|wc -l) files to back up" @@ -198,9 +201,6 @@ END_OF_DATA run_bconsole done -# restore file list -ls ${tmpsrc}/* >${tmp}/restore-list - # now do the final virtual full levels. #echo ">>>> Now the 2nd VFull" @@ -251,8 +251,8 @@ END_OF_DATA # Do restore run_bconsole sleep 2 -stop_bacula +stop_bareos check_two_logs -check_restore_tmp_build_diff +check_restore_diff end_test diff --git a/tests/vol-duration-changer b/tests/vol-duration-changer index 2ca40e5..f63c654 100755 --- a/tests/vol-duration-changer +++ b/tests/vol-duration-changer @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory but +# Run a simple backup 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 @@ -20,9 +20,20 @@ scripts/cleanup scripts/copy-2tape-confs scripts/prepare-two-tapes -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname NightlySave $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <${cwd}/tmp/bconcmds diff --git a/tests/weird-files-test b/tests/weird-files-test index 4ea8239..51ca4c9 100755 --- a/tests/weird-files-test +++ b/tests/weird-files-test @@ -1,27 +1,24 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory -# then restore it. +# Run a simple backup then restore it. # TestName="weird-files-test" -JobName=wierd-files +JobName=weird-files . scripts/functions if test ! -d weird-files ; then echo " " - echo "Weird files not configured. Test not run." + echo "weird files not configured. Test not run." exit 0 fi -cwd=`pwd` scripts/cleanup scripts/copy-test-confs change_jobname NightlySave $JobName # # Note, we save the weird-files directory twice on purpose # because this causes problems with hard linked files -# that are only saved once. In 1.33, Bareos now deals -# with this situation. +# that are only saved once. # echo "${cwd}/weird-files" >${cwd}/tmp/file-list echo "${cwd}/weird-files" >>${cwd}/tmp/file-list @@ -37,10 +34,8 @@ cat <tmp/bconcmds @$out /dev/null messages @$out tmp/log1.out -label storage=File -TestVolume001 -run job=$JobName -yes +label storage=File volume=TestVolume001 +run job=$JobName yes wait messages @# @@ -61,19 +56,10 @@ run_bareos check_for_zombie_jobs storage=File stop_bareos -# Note, the Unix domain socket (sock-file) is not restored -# by Bareos so we delete it for the diffs. diff.pl already discards them -# rm -f weird-files/sock-file - -# to have the same mtime after the rm, we need to touch directories -# touch weird-files tmp/bareos-restores${cwd}/weird-files - +check_two_logs -$rscripts/diff.pl -s weird-files -d tmp/bareos-restores${cwd}/weird-files > tmp/diff.out +# use only diff.pl here, because normal diff can't handle some of the files properly. +$rscripts/diff.pl -s ${cwd}/weird-files -d ${tmp}/bareos-restores/${cwd}/weird-files dstat=$? -check_two_logs -if test "$debug" -eq 1; then - cat tmp/diff.out -fi end_test diff --git a/tests/weird-files2-test b/tests/weird-files2-test index d732fc7..9a96830 100755 --- a/tests/weird-files2-test +++ b/tests/weird-files2-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # then restore it. # TestName="weird-files2-test" @@ -12,9 +12,10 @@ if test ! -d weird-files ; then echo "weird files not configured. Test not run." exit 0 fi -cwd=`pwd` scripts/cleanup scripts/copy-test-confs +change_jobname NightlySave $JobName + rm -rf weird-files2 cp -Rp weird-files weird-files2 echo "${cwd}/weird-files2" >${cwd}/tmp/file-list @@ -22,10 +23,9 @@ cd weird-files2 #perl socket.pl # we no longer restore sockets cd .. -change_jobname NightlySave $JobName start_test -bin/testls weird-files2 | sort >${cwd}/tmp/original +${bin}/testls weird-files2 | sort >${cwd}/tmp/original cat <tmp/bconcmds @$out /dev/null @@ -72,7 +72,7 @@ run_bconsole check_for_zombie_jobs storage=File stop_bareos -bin/testls weird-files2 | sort >${cwd}/tmp/restored +${bin}/testls weird-files2 | sort >${cwd}/tmp/restored check_two_logs diff -u ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null diff --git a/tests/win32-backup-tape b/tests/win32-backup-tape index e7fe2f2..88c3fc8 100755 --- a/tests/win32-backup-tape +++ b/tests/win32-backup-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # to a tape then restore it, we do that twice to ensure that # we can correctly append to a tape. # @@ -13,9 +13,20 @@ require_tape_drive scripts/copy-win32-confs scripts/cleanup-tape -echo "${cwd}/build" >${cwd}/tmp/file-list - change_jobname $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <tmp/bconcmds diff --git a/tests/win32-test b/tests/win32-test index f3fcf2b..35015d5 100755 --- a/tests/win32-test +++ b/tests/win32-test @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory using the compressed option +# Run a simple backup using the compressed option # then restore it. # TestName="win32-test" diff --git a/tests/win32-to-linux-tape b/tests/win32-to-linux-tape index fc05259..99562ae 100755 --- a/tests/win32-to-linux-tape +++ b/tests/win32-to-linux-tape @@ -1,6 +1,6 @@ #!/bin/sh # -# Run a simple backup of the Bareos build directory +# Run a simple backup # to a tape then restore it, we do that twice to ensure that # we can correctly append to a tape. # @@ -13,9 +13,20 @@ require_tape_drive scripts/copy-win32-confs scripts/cleanup-tape -echo "${cwd}/build" >${cwd}/tmp/file-list - change_job $JobName + +# Directory to backup. +# This directory will be created by setup_data(). +BackupDirectory="${tmp}/data" + +# Use a tgz to setup data to be backuped. +# Data will be placed at "${tmp}/data/". +setup_data data/small.tgz + +# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list". +echo "${BackupDirectory}" >${tmp}/file-list + + start_test cat <tmp/bconcmds diff --git a/win32/README.txt b/win32/README.txt deleted file mode 100644 index b29350c..0000000 --- a/win32/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -In order to use the win32 bareos regression scripts, it is important to have -some unix tools (such as sed, grep, and diff). To make things simple, download -UnxUtils from http://sourceforge.net/projects/unxutils - -Extract UnxUtils somewhere and add the the files in usr\local\wbin to $PATH. - -Copy regress/win32 to a local directory on your system. - -Set your sources directory in prototype.conf to a mapped drive or a local copy -of the bareos sources including windows binaries. - -Run "config.cmd prototype.conf" from a command prompt in your regress/win32 -directory followed by "make setup". - -Tests are executed with "make test". diff --git a/win32/all-non-root-2tape-tests.cmd b/win32/all-non-root-2tape-tests.cmd deleted file mode 100644 index e23bbaa..0000000 --- a/win32/all-non-root-2tape-tests.cmd +++ /dev/null @@ -1,9 +0,0 @@ -REM -REM Run all tape tests -REM -ECHO Start two tape tests -ECHO Start two tape tests >>test.out -CALL tests\two-volume-tape -CALL tests\incremental-2tape -ECHO End two tape tests -ECHO End two tape tests >>test.out diff --git a/win32/all-non-root-tape-tests.cmd b/win32/all-non-root-tape-tests.cmd deleted file mode 100644 index 10b1508..0000000 --- a/win32/all-non-root-tape-tests.cmd +++ /dev/null @@ -1,26 +0,0 @@ -REM -REM Run all tape tests -REM -CALL config_var -IF NOT "%AUTOCHANGER%" == "nul" mtx -f %AUTOCHANGER% load 1 >nul 2>&1 -ECHO. -ECHO. >>test.out -ECHO Start all non-root tape tests -ECHO Start all non-root tape tests >>test.out -REM CALL tests\ansi-label-tape -CALL tests\backup-bareos-tape -CALL tests\btape-fill-tape -CALL tests\fixed-block-size-tape -CALL tests\four-concurrent-jobs-tape -CALL tests\four-jobs-tape -CALL tests\incremental-tape -CALL tests\relabel-tape -CALL tests\restore-by-file-tape -CALL tests\small-file-size-tape -CALL tests\truncate-bug-tape -CALL tests\two-pool-tape -CALL tests\2drive-incremental-2tape -CALL tests\bscan-tape -CALL tests\verify-vol-tape -ECHO End all non-root tape tests -ECHO End all non-root tape tests >>test.out diff --git a/win32/all-non-root-tests.cmd b/win32/all-non-root-tests.cmd deleted file mode 100644 index 3e85620..0000000 --- a/win32/all-non-root-tests.cmd +++ /dev/null @@ -1,74 +0,0 @@ -REM -REM Run all tests -REM -ECHO. -ECHO. >>test.out -ECHO Start non-root disk tests -ECHO Start non-root disk tests >>test.out -CALL tests\auto-label-test -CALL tests\backup-bareos-test -CALL tests\bextract-test -REM CALL tests\big-vol-test -CALL tests\bscan-test -CALL tests\bsr-opt-test -CALL tests\compressed-test -REM CALL tests\compress-encrypt-test -CALL tests\concurrent-jobs-test -CALL tests\data-encrypt-test -REM CALL tests\encrypt-bug-test -REM CALL tests\fifo-test -REM CALL tests\backup-to-null -REM CALL tests\regexwhere-test -REM The following two can uses *lots* of disk space -REM so they are normally turned off, but if you have -REM at least two GB free, you can run them -REM CALL tests\sparse-encrypt-test -REM CALL tests\gigaslam-sparse-test -CALL tests\differential-test -CALL tests\four-concurrent-jobs-test -CALL tests\four-jobs-test -CALL tests\incremental-test -CALL tests\query-test -CALL tests\recycle-test -CALL tests\restore2-by-file-test -CALL tests\restore-by-file-test -CALL tests\restore-disk-seek-test -REM CALL tests\runscript-test -CALL tests\six-vol-test -CALL tests\span-vol-test -REM CALL tests\maxvol-test -REM CALL tests\maxvol2-test -CALL tests\sparse-compressed-test -CALL tests\sparse-test -CALL tests\two-jobs-test -CALL tests\two-vol-test -CALL tests\verify-vol-test -REM CALL tests\weird-files2-test -REM CALL tests\weird-files-test -CALL tests\migration-job-test -CALL tests\migration-jobspan-test -CALL tests\migration-volume-test -CALL tests\migration-time-test -REM CALL tests\hardlink-test -REM CALL tests\tls-test -ECHO End non-root disk tests -ECHO End non-root disk tests >>test.out - -REM -REM 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 -REM CALL tests\three-pool-recycle-test -CALL tests\two-pool-test -REM CALL tests\fast-two-pool-test -CALL tests\two-volume-test -CALL tests\incremental-2disk -CALL tests\2drive-incremental-2disk -CALL tests\scratch-pool-test -CALL tests\2drive-concurrent-test.cmd -REM CALL tests\incremental-2media -REM CALL tests\three-pool-test -ECHO End non-root virtual disk autochanger tests -ECHO End non-root virtual disk autochanger tests >>test.out diff --git a/win32/all-root-tests.cmd b/win32/all-root-tests.cmd deleted file mode 100644 index 829d9f4..0000000 --- a/win32/all-root-tests.cmd +++ /dev/null @@ -1,13 +0,0 @@ -REM -REM Run all root tests -REM -ECHO. -ECHO. >>test.out -ECHO Start root tests -ECHO Start root tests >>test.out -CALL tests\dev-test-root -CALL tests\etc-test-root -CALL tests\lib-test-root -CALL tests\usr-tape-root -ECHO End root tests -ECHO End root tests >>test.out diff --git a/win32/all-tape-and-file-tests.cmd b/win32/all-tape-and-file-tests.cmd deleted file mode 100644 index cbbebf2..0000000 --- a/win32/all-tape-and-file-tests.cmd +++ /dev/null @@ -1,5 +0,0 @@ -REM -REM Run all tests -REM -CALL all-non-root-tests -CALL all-non-root-tape-tests diff --git a/win32/all-tests.cmd b/win32/all-tests.cmd deleted file mode 100644 index 9aac351..0000000 --- a/win32/all-tests.cmd +++ /dev/null @@ -1,5 +0,0 @@ -REM -REM Run all tests -REM -CALL all-non-root-tests -CALL all-root-tests diff --git a/win32/config.cmd b/win32/config.cmd deleted file mode 100644 index 95a4113..0000000 --- a/win32/config.cmd +++ /dev/null @@ -1,10 +0,0 @@ -@ECHO off -REM -REM First argument is expected to be a user's configuration file -REM -IF "%1" == "" ( - ECHO Arg1 must specify a config file ^(e.g. prototype.conf^) - EXIT /b 1 -) - -COPY %1 config_var.cmd diff --git a/win32/do_all.cmd b/win32/do_all.cmd deleted file mode 100644 index 20001d4..0000000 --- a/win32/do_all.cmd +++ /dev/null @@ -1,2 +0,0 @@ -CALL make setup -CALL do_all_tests diff --git a/win32/do_all_tapes.cmd b/win32/do_all_tapes.cmd deleted file mode 100644 index 1a18230..0000000 --- a/win32/do_all_tapes.cmd +++ /dev/null @@ -1,2 +0,0 @@ -CALL make setup -CALL all-non-root-tape-tests diff --git a/win32/do_all_tests.cmd b/win32/do_all_tests.cmd deleted file mode 100644 index 660eaff..0000000 --- a/win32/do_all_tests.cmd +++ /dev/null @@ -1,17 +0,0 @@ -python starttime.py -IF NOT EXIST bin\tape_options touch bin/tape_options -ECHO. >test.out -TYPE build/config.out >>test.out -ECHO. >>test.out -ECHO Test results >>test.out -ECHO. >>test.out -python starttime.py -CALL all-non-root-tests -CALL all-non-root-tape-tests -CALL all-non-root-2tape-tests -ECHO. -ECHO End do_all tests -ECHO End do_all tests >>test.out -CALL scripts/cleanup -TYPE test.out -python endtime.py diff --git a/win32/do_file.cmd b/win32/do_file.cmd deleted file mode 100644 index 3f929dc..0000000 --- a/win32/do_file.cmd +++ /dev/null @@ -1,15 +0,0 @@ -REM /home/kern/bareos/bin/startmysql -CALL make setup -ECHO. >test.out -TYPE build/config.out >>test.out -ECHO. >>test.out -ECHO Test results >>test.out -ECHO. >>test.out -python starttime.py -CALL all-non-root-tests -ECHO. -ECHO End do_file tests -ECHO End do_file tests >>test.out -CALL scripts/cleanup -TYPE test.out -python endtime.py diff --git a/win32/encrypt-bug.jpg b/win32/encrypt-bug.jpg deleted file mode 100644 index 18825f97ba7a8e52c41d68b270f15b56aff00ab6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327681 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℘VO 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 z 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 diff --git a/win32/encrypt-bug.txt b/win32/encrypt-bug.txt deleted file mode 100644 index 242da52..0000000 --- a/win32/encrypt-bug.txt +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN PGP MESSAGE----- -Charset: ISO-8859-1 -Version: GnuPG v1.4.2 (FreeBSD) -Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org - -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 -+spDOiRKBUg= -=W5Nc ------END PGP MESSAGE----- \ No newline at end of file diff --git a/win32/encrypt-bug2.txt b/win32/encrypt-bug2.txt deleted file mode 100644 index 88d2efc..0000000 --- a/win32/encrypt-bug2.txt +++ /dev/null @@ -1,74 +0,0 @@ -From: "Michel Meyers" -To: "bareos-users" -Subject: [Bareos-users] Script for pushing new clients to Windows boxes -Date: Mon, 2 Feb 2004 16:10:48 +0100 - -Hello, - -Some of you may remember my document on how to remotely push a Win32 bareos -client onto a WinNT/2k/XP box. Well, I've written a script to do it for me -and thought I'd share it with you: -- ---------------------------------------------------------------- -#!/bin/bash -# -# Remote Win32 client upgrade script -# written by Michel Meyers (last update 2006-09-25 11:34) -# -# WARNING: Make sure that no bareos-fd.conf exists in the source directory! -# You will destroy/overwrite all your client's configs if you don't -# be careful with this. -# -# The upgrade function does the following: -# - Shutdown Bareos service on remote machine -# - Wait 30 seconds (to allow proper shutdown) -# - Mount C: drive of remote box -# - Copy new client to remote machine -# - Unmount C; -# - Startup the new Bareos service -# -# To upgrade a machine append the following at the bottom of this file: -# -# SERVERNAME= -# USERNAME= -# PASSWORD= -# upgrade - -upgrade() { -net rpc -S $SERVERNAME -U $USERNAME%"$PASSWORD" service stop bareos -sleep 30 -smbmount //$SERVERNAME/c$ /mnt -o username=$USERNAME,password="$PASSWORD" -cp /home/michel/winbareos/bin/* /mnt/bareos/bin -umount /mnt -net rpc -S $SERVERNAME -U $USERNAME%"$PASSWORD" service start bareos -} - -SERVERNAME=xerxes -USERNAME=administrator -PASSWORD=secret -upgrade - -SERVERNAME=shodan -USERNAME=teh_one -PASSWORD="" -upgrade -- ---------------------------------------------------------------- - -It should be pretty self-explanatory. I'm not good at shell programming and -I don't know whether there's any notion of arrays or 'for' loops that could -make it cleaner so I simply wrote a function which references some variables -and then call that repeatedly (once per machine). You can of course change -the values according to your system and liking (if 30 secs seem to much for -you, just reduce the value after sleep, make sure to check on the paths and -mountpoint /mnt may not be usable on your system, ...) - -Note: The requirements are the same as described in my other document -(Samba-TNG clients among others, otherwise you'll be missing rpcclient). - -Update 2006-09-25: Samba-TNG is no longer required, the 'net' command from -Samba 3 works for starting and stopping services. Paths may need to be -updated with quotation marks as the new Bareos Win32 Installer no longer -installs into C:\bareos but into 'C:\Program Files\bareos' (on English -Windows versions). - - -Enjoy! diff --git a/win32/endtime.py b/win32/endtime.py deleted file mode 100644 index fac5e7b..0000000 --- a/win32/endtime.py +++ /dev/null @@ -1,11 +0,0 @@ -from time import time as now - -t = now() -fn = open('time.out', 'r') -s = fn.readline() -fn.close() -diff = t - float(s) -h = int(diff / 3600) -m = int((diff - h * 3600) / 60) -sec = diff - h * 3600 - m * 60 -print 'Total time = %d:%02d:%02d or %d secs' % (h, m, sec, t - float(s)) diff --git a/win32/file.cmd b/win32/file.cmd deleted file mode 100644 index 93929c2..0000000 --- a/win32/file.cmd +++ /dev/null @@ -1 +0,0 @@ -CALL all-non-root-tests diff --git a/win32/make.cmd b/win32/make.cmd deleted file mode 100644 index 698179c..0000000 --- a/win32/make.cmd +++ /dev/null @@ -1,111 +0,0 @@ -@ECHO off -REM -REM Makefile for Bareos regression testing -REM -REM Note, Makefile is built from Makefile.in, which you should not really -REM need to change, by invoking: -REM -REM config -REM -REM e.g. -REM config kern.conf -REM - -SETLOCAL - -IF EXIST config_var.cmd GOTO :already_configured -ECHO You must run config first and supply the name of your conf file. -ECHO Use prototype.conf as a template. -EXIT /B 1 - -:already_configured - -SET PATH=%PATH%;%CD%\bin;%CD%\tools - -REM suck in user's configuration -CALL config_var.cmd - -IF EXIST "%BAREOS_SOURCE%\configure" GOTO :source_ok -ECHO Unable to access the Bareos source in %BAREOS_SOURCE%. Update -ECHO BAREOS_SOURCE in your configuration file and rerun config. -EXIT /B 1 - -:source_ok -IF "%1" == "setup" GOTO :setup -IF "%1" == "bareos" GOTO :bareos -IF "%1" == "sed" GOTO :sed -IF "%1" == "test" GOTO :test -IF "%1" == "full_test" GOTO :full_test -IF "%1" == "root_test" GOTO :root_test -IF "%1" == "clean" GOTO :clean -IF "%1" == "reset" GOTO :reset -IF "%1" == "distclean" GOTO :distclean - -IF EXIST "%1" ( - %1 -) ELSE IF EXIST "%1.cmd" ( - %1 -) ELSE IF EXIST tests\%1 ( - tests\%1 -) ELSE IF EXIST tests\%1.cmd ( - tests\%1 -) ELSE ( - ECHO Unsupported option: %1 - ECHO Valid options are: - ECHO setup, bareos, sed, test, full_test, root_test, clean, reset, distclean - EXIT /b 1 -) - -:setup -CALL :bareos %2 -CALL :sed -GOTO :EOF - -:bareos -RD /s /q build bin weird-files tmp working 2>nul -MKDIR tmp working -SET BUILD_TYPE=%1 -IF "%BUILD_TYPE%"=="" SET BUILD_TYPE=release -ECHO Doing: scripts\setup "%BAREOS_SOURCE%" %BUILD_TYPE% %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1% -CALL scripts\setup "%BAREOS_SOURCE%" %BUILD_TYPE% %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1% -GOTO :EOF - -:sed -ECHO Doing: scripts\do_sed %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1% -CALL scripts\do_sed %EMAIL% %SMTP_HOST% %TAPE_DRIVE% %AUTOCHANGER% %AUTOCHANGER_PATH% %TAPE_DRIVE1% -GOTO :EOF - -:test -REM Run all non-root userid tests -CALL all-non-root-tests -GOTO :EOF - -:full_test -REM run all file and tape tests -CALL all-tape-and-file-tests -GOTO :EOF - -:root_test -REM These tests require you to run as root -CALL all-root-tests -GOTO :EOF - -:clean -CALL scripts\cleanup -DEL \tmp\file-list tmp\* working\* test.out diff >nul 2>&1 -DEL 1 2 3 scripts\1 scripts\2 scripts\3 tests\1 tests\2 tests\3 >nul 2>&1 -DEL .#* /s >nul 2>&1 -GOTO :EOF - -:reset -REM Reset our userid after running as root -CALL scripts\cleanup -DEL \tmp\file-list tmp\file-list -DEL tmp\* working\* -GOTO :EOF - -:distclean -RD /s /q bin build weird-files weird-files weird-files2 tmp working 2>nul -DEL scripts\*.conf -CALL :clean -GOTO :EOF diff --git a/win32/misc-tests.cmd b/win32/misc-tests.cmd deleted file mode 100644 index d1f2088..0000000 --- a/win32/misc-tests.cmd +++ /dev/null @@ -1,2 +0,0 @@ -CALL tests\btape-fill-full-tape -CALL tests\eot-fail-tape diff --git a/win32/prototype.conf b/win32/prototype.conf deleted file mode 100644 index 8db56e5..0000000 --- a/win32/prototype.conf +++ /dev/null @@ -1,31 +0,0 @@ -REM -REM Prototype personal configuration file for the regression -REM scripts. Either edit this file directly, or better copy -REM it elsewhere so it won't get overwritten. -REM - -REM -REM Put the full path to the Bareos source code to be tested -REM -SET BAREOS_SOURCE= - -REM Where to send email messages -REM -SET EMAIL= -SET SMTP_HOST=localhost - -REM -REM The device name of your tape drive if you have one -REM -SET TAPE_DRIVE=tape0 -SET TAPE_DRIVE1=nul - -REM -REM if you don't have an autochanger set AUTOCHANGER to nul -REM -SET AUTOCHANGER=changer0 - -REM -REM This must be the path to the autochanger including its name -REM -SET AUTOCHANGER_PATH=%CD%\bin\mtx diff --git a/win32/run.cmd b/win32/run.cmd deleted file mode 100644 index 780483f..0000000 --- a/win32/run.cmd +++ /dev/null @@ -1,2 +0,0 @@ -bin\bareos start -bin\bacuula -c bin\bconsole.conf diff --git a/win32/scripts/bareos-dir-migration.conf.in b/win32/scripts/bareos-dir-migration.conf.in deleted file mode 100644 index be7b074..0000000 --- a/win32/scripts/bareos-dir-migration.conf.in +++ /dev/null @@ -1,229 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.39 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - Messages = Daemon -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -# Prefer Mounted Volumes = no -} - -Job { - Name = "migrate-job" - Type = Migrate - Level = Full - Client=@hostname@-fd - FileSet="Full Set" - Messages = Standard - Storage = DiskChanger - Write Bootstrap = "@working_dir@/migratejob.bsr" - Pool = Default - Maximum Concurrent Jobs = 4 - Selection Type = Job - Selection Pattern = ".*Save" -} - -Job { - Name = "migrate-volume" - Type = Migrate - Level = Full - Client=@hostname@-fd - FileSet="Full Set" - Messages = Standard - Storage = DiskChanger - Write Bootstrap = "@working_dir@/migratevol.bsr" - Pool = Default - Maximum Concurrent Jobs = 4 - Selection Type = Volume - Selection Pattern = "File*" -} - -Job { - Name = "migrate-occupancy" - Type = Migrate - Level = Full - Client=@hostname@-fd - FileSet="Full Set" - Messages = Standard - Storage = DiskChanger - Write Bootstrap = "@working_dir@/migratejob.bsr" - Pool = Default - Maximum Concurrent Jobs = 4 - Selection Type = PoolOccupancy -} - -Job { - Name = "migrate-time" - Type = Migrate - Level = Full - Client=@hostname@-fd - FileSet="Full Set" - Messages = Standard - Storage = DiskChanger - Write Bootstrap = "@working_dir@/migratejob.bsr" - Pool = Default - Maximum Concurrent Jobs = 4 - Selection Type = PoolTime -} - - - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include { Options { signature=MD5 } - File = <@tmpdir@/file-list - } -} - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definition of DDS Virtual tape disk storage device -Storage { - Name = DiskChanger - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon - Device = DiskChanger # must be same as Device in Storage daemon - Media Type = DiskChanger # must be same as MediaType in Storage daemon - Maximum Concurrent Jobs = 4 - Autochanger = yes -} - -# Definition of file storage device -Storage { - Name = File - Address = @hostname@ - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon - Device = FileStorage - Media Type = File - Maximum Concurrent Jobs = 5 -} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -# -# Message delivery for daemon messages (no job). -Messages { - Name = Daemon - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos\) %r\" -s \"Bareos daemon message\" %r" - mail = @job_email@ = all, !skipped - console = all, !skipped, !saved - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year - NextPool = Full - Storage = File - Migration High Bytes = 40M - Migration Low Bytes = 20M - Migration Time = 60 -} - -Pool { - Name = Full - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year - Storage = DiskChanger -} diff --git a/win32/scripts/bareos-dir-tape.conf.in b/win32/scripts/bareos-dir-tape.conf.in deleted file mode 100644 index a7dbfc3..0000000 --- a/win32/scripts/bareos-dir-tape.conf.in +++ /dev/null @@ -1,226 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.33 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - Messages = Daemon -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -# Prefer Mounted Volumes = no -} - -Job { - Name = "NightlySave1" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -# Prefer Mounted Volumes = no - Client Run Before Job = "@sbindir@/bsleep 120" -} - -Job { - Name = "NightlySave2" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -# Prefer Mounted Volumes = no -} - -Job { - Name = "VerifyTape" - Type = Verify - Level = VolumeToCatalog - Client=@hostname@-fd - FileSet="Verify Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -# Prefer Mounted Volumes = no -} - - - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include { Options { signature=MD5 } - File = <@tmpdir@/file-list - } -} - -FileSet { - Name = "Verify Set" - Include { - Options { - signature=MD5 - verify=pins1 - } - File = <@tmpdir@/file-list - } -} - - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definition of DDS tape storage device -Storage { - Name = DDS-4 - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon - Device = DDS-4 # must be same as Device in Storage daemon - Media Type = DDS-4 # must be same as MediaType in Storage daemon - Maximum Concurrent Jobs = 4 -# Autochanger = yes -} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -# -# Message delivery for daemon messages (no job). -Messages { - Name = Daemon - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos\) %r\" -s \"Bareos daemon message\" %r" - mail = @job_email@ = all, !skipped - console = all, !skipped, !saved - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} - -Pool { - Name = Full - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} - -Pool { - Name = Inc - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} - -Pool { - Name = Scratch - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} diff --git a/win32/scripts/bareos-dir-win32-tape.conf.in b/win32/scripts/bareos-dir-win32-tape.conf.in deleted file mode 100644 index 0e2cfac..0000000 --- a/win32/scripts/bareos-dir-win32-tape.conf.in +++ /dev/null @@ -1,144 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.33 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - Messages = Daemon -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=Tibs - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -} - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=Tibs - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Enable VSS = yes - Include { Options { signature=MD5 } - File = "c:" - } -} - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# Client (File Services) to backup -Client { - Name = Tibs - Address = tibs - FDPort = 9102 - Catalog = MyCatalog - Password = "xBzFq+a9llZyGyfMaNO9e3outP86/1AUAT8P34RoT62G" - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definition of DDS tape storage device -Storage { - Name = DDS-4 - Address = 192.168.68.112 # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon - Device = DDS-4 # must be same as Device in Storage daemon - Media Type = DDS-4 # must be same as MediaType in Storage daemon - AutoChanger = yes - Maximum Concurrent Jobs = 4 -} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression Job %j\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -# -# Message delivery for daemon messages (no job). -Messages { - Name = Daemon - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos\) %r\" -s \"Bareos daemon message\" %r" - mail = @job_email@ = all, !skipped - console = all, !skipped, !saved - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} diff --git a/win32/scripts/bareos-dir.conf.testrunscript.in b/win32/scripts/bareos-dir.conf.testrunscript.in deleted file mode 100644 index 42d9fc4..0000000 --- a/win32/scripts/bareos-dir.conf.testrunscript.in +++ /dev/null @@ -1,158 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.39.27 (24 October 2006) -- debian testing/unstable -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password - Messages = Standard -} - -JobDefs { - Name = "DefaultJob" - Type = Backup - Level = Incremental - Client = @hostname@-fd - FileSet = FS_TESTJOB - Storage = File - Messages = Standard - Pool = Default - Priority = 10 - Maximum Concurrent Jobs = 16 -} - -FileSet { - Name = FS_TESTJOB - Include { - File=<@tmpdir@/file-list - } -} - -#dir: BeforeJob: run command "/bin/echo RunBeforeJob" -#fd: ClientRunBeforeJob: ClientRunBeforeJob -#fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob" -#dir: AfterJob: run command "/bin/echo RunAfterJob" - -Job { - Name = "RUN_ALL_OK" - JobDefs = DefaultJob - FileSet = FS_TESTJOB - RunBeforeJob = "/bin/echo RunBeforeJob" - ClientRunBeforeJob = "/bin/echo ClientRunBeforeJob" - Run After Job = "/bin/echo RunAfterJob" - ClientRunAfterJob = "/bin/echo ClientRunAfterJob" -} - -#After job are after before job -Job { - Name = "RUN_DIR_FAILED_BUG" - FileSet = FS_TESTJOB - JobDefs = DefaultJob - Run After Failed Job = "/bin/echo RunAfterFailedJob" - RunBeforeJob = "/bin/false" -} - -#@hostname@-dir: BeforeJob: run command "/bin/false" -#@hostname@-dir: BeforeJob: RunAfterFailedJob -Job { - Name = "RUN_DIR_FAILED" - FileSet = FS_TESTJOB - JobDefs = DefaultJob - RunBeforeJob = "/bin/false RUN_DIR_FAILED" - Run After Failed Job = "/bin/echo RunAfterFailedJob" -} - -#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1" -#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2" -#@hostname@-dir: AfterJob: run command "/bin/echo RunAfterFailedJob" -Job { - Name = "RUN_FD_FAILED" - FileSet = FS_TESTJOB - JobDefs = DefaultJob - RunScript { - Command = "/bin/false RUN_FD_FAILED1" - abortjobonerror = no - RunsWhen = Before - } - RunScript { - Command = "/bin/false RUN_FD_FAILED2" - abortjobonerror = yes - RunsWhen = Before - } - - Run After Failed Job = "/bin/echo RunAfterFailedJob" -} - -#@hostname@-fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING" -#Backup OK -- with warnings -Job { - Name = "RUN_FD_WARNING" - FileSet = FS_TESTJOB - JobDefs = DefaultJob - RunScript { - Command = "/bin/false RUN_FD_WARNING" - abortjobonerror = no - RunsWhen = Before - } - Run After Failed Job = "/bin/echo RunAfterFailedJob" -} - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definiton of file storage device -Storage { - Name = File - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage - Media Type = File - Maximum Concurrent Jobs = 4 -} - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - - -Messages { - Name = Standard - stdout = all, !skipped -} - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} diff --git a/win32/scripts/bareos-sd-2disk-drive.conf.in b/win32/scripts/bareos-sd-2disk-drive.conf.in deleted file mode 100644 index a1b5e7e..0000000 --- a/win32/scripts/bareos-sd-2disk-drive.conf.in +++ /dev/null @@ -1,74 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.39 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# -Autochanger { - Name = DDS-4 - Changer Device = @disk_drive@/conf - Changer Command ="\"@scriptdir@\\disk-changer\" %c %o %S %a %d" - Device = Drive-0, Drive-1 -} - -Device { - Name = Drive-0 - Device Type = File - Media Type = DDS-4 - Archive Device = @disk_drive@/drive0 - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 0 - AlwaysOpen = yes; - RemovableMedia = yes; -# Maximum File Size = 1000000 -} - -Device { - Name = Drive-1 - Device Type = File - Media Type = DDS-4 - Archive Device = @disk_drive@/drive1 - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 1 - AlwaysOpen = yes; - RemovableMedia = yes; -# Maximum File Size = 1000000 -} - - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd-2disk.conf.in b/win32/scripts/bareos-sd-2disk.conf.in deleted file mode 100644 index ee7eb2b..0000000 --- a/win32/scripts/bareos-sd-2disk.conf.in +++ /dev/null @@ -1,61 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.39 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# -Autochanger { - Name = DDS-4 - Changer Device = "@disk_drive@\\conf" - Changer Command ="\"@scriptdir@\\disk-changer\" %c %o %S %a %d" - Device = Drive-0 -} - -Device { - Name = Drive-0 # - Device Type = File - Media Type = DDS-4 - Archive Device = "@disk_drive@\\drive0" - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 0 - AlwaysOpen = yes; - RemovableMedia = yes; -# Maximum File Size = 1000000 -} - - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd-2drive.conf.in b/win32/scripts/bareos-sd-2drive.conf.in deleted file mode 100644 index e000cda..0000000 --- a/win32/scripts/bareos-sd-2drive.conf.in +++ /dev/null @@ -1,74 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.33 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# -Autochanger { - Name = DDS-4 - Changer Device = @autochanger@ - Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d" - Device = Drive-0, Drive-1 -} - -Device { - Name = Drive-0 - Media Type = DDS-4 - Archive Device = @tape_drive@ - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 0 - AlwaysOpen = yes; - RemovableMedia = yes; - @@sbindir@/tape_options -# Maximum File Size = 1000000 -} - -Device { - Name = Drive-1 - Media Type = DDS-4 - Archive Device = @tape_drive1@ - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 1 - AlwaysOpen = yes; - RemovableMedia = yes; - @@sbindir@/tape_options -# Maximum File Size = 1000000 -} - - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd-2tape.conf.in b/win32/scripts/bareos-sd-2tape.conf.in deleted file mode 100644 index afc2d52..0000000 --- a/win32/scripts/bareos-sd-2tape.conf.in +++ /dev/null @@ -1,60 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.33 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# -Autochanger { - Name = DDS-4 - Changer Device = @autochanger@ - Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d" - Device = Drive-0 -} - -Device { - Name = Drive-0 # - Media Type = DDS-4 - Archive Device = @tape_drive@ - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 0 - AlwaysOpen = yes; - RemovableMedia = yes; - @@sbindir@/tape_options -# Maximum File Size = 1000000 -} - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd-migration.conf.in b/win32/scripts/bareos-sd-migration.conf.in deleted file mode 100644 index 14a5c3d..0000000 --- a/win32/scripts/bareos-sd-migration.conf.in +++ /dev/null @@ -1,71 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.39 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# -Autochanger { - Name = DiskChanger - Changer Device = @disk_drive@/conf - Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d" - Device = Drive-0 -} - -Device { - Name = Drive-0 # - Device Type = File - Media Type = DiskChanger - Archive Device = @disk_drive@/drive0 - AutomaticMount = yes; # when device opened, read it - Autochanger = yes - Drive Index = 0 - AlwaysOpen = yes; - RemovableMedia = yes; -# Maximum File Size = 1000000 -} - -Device { - Name = FileStorage - Media Type = File - Archive Device = @tmpdir@ - LabelMedia = yes; # lets Bareos label unlabeled media - Random Access = Yes; - AutomaticMount = yes; # when device opened, read it - RemovableMedia = no; - AlwaysOpen = no; -} - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd-tape.conf.in b/win32/scripts/bareos-sd-tape.conf.in deleted file mode 100644 index bebb4b5..0000000 --- a/win32/scripts/bareos-sd-tape.conf.in +++ /dev/null @@ -1,53 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.33 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# - -Device { - Name = DDS-4 # - Media Type = DDS-4 - Archive Device = @tape_drive@ - AutomaticMount = yes; # when device opened, read it - AlwaysOpen = yes; - RemovableMedia = yes; - @@sbindir@/tape_options -# Maximum File Size = 1000000 -# MaximumVolumeSize = 400M -} - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/bareos-sd.conf.in b/win32/scripts/bareos-sd.conf.in deleted file mode 100644 index 1d8defc..0000000 --- a/win32/scripts/bareos-sd.conf.in +++ /dev/null @@ -1,74 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.33 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = rufus-sd - SDPort = 8103 # Director's port - WorkingDirectory = "/home/kern/bareos/regress/working" - Pid Directory = "/home/kern/bareos/regress/working" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = rufus-dir - Password = "BzlEl8haeFmnv/Lv8V6zDzUBgFFQNsUtny6VkmccQpOy" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# - -Device { - Name = FileStorage - Media Type = File - Archive Device = @tmpdir@ - LabelMedia = yes; # lets Bareos label unlabeled media - Random Access = Yes; - AutomaticMount = yes; # when device opened, read it - RemovableMedia = no; - AlwaysOpen = no; -} - -#Device { -# Name = DDS-4 # -# Media Type = DDS-4 -# Archive Device = /dev/nst0 -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = yes; -# RemovableMedia = yes; -#} - -# -# A very old Exabyte with no end of media detection -# -#Device { -# Name = "Exabyte 8mm" -# Media Type = "8mm" -# Archive Device = /dev/nst0 -# Hardware end of medium = No; -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = Yes; -# RemovableMedia = yes; -#} - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = rufus-dir = all, !terminate -} diff --git a/win32/scripts/bareos.cmd b/win32/scripts/bareos.cmd deleted file mode 100644 index 8ca38c3..0000000 --- a/win32/scripts/bareos.cmd +++ /dev/null @@ -1,18 +0,0 @@ -@ECHO off -IF "%1" == "start" ( - net start bareos-dir - net start bareos-sd - net start bareos-fd -) ELSE IF "%1" == "stop" ( - net stop bareos-dir - net stop bareos-sd - net stop bareos-fd -) ELSE IF "%1" == "install" ( - bareos-dir /install -c %2\bareos-dir.conf - bareos-sd /install -c %2\bareos-sd.conf - bareos-fd /install -c %2\bareos-fd.conf -) ELSE IF "%1" == "uninstall" ( - bareos-dir /remove - bareos-sd /remove - bareos-fd /remove -) diff --git a/win32/scripts/check_for_zombie_jobs.bscr b/win32/scripts/check_for_zombie_jobs.bscr deleted file mode 100644 index fd8c5a3..0000000 --- a/win32/scripts/check_for_zombie_jobs.bscr +++ /dev/null @@ -1,8 +0,0 @@ -@output tmp/dir.out -status dir -@output tmp/fd.out -status client -@output tmp/sd.out -status @storage@ -@output -quit diff --git a/win32/scripts/check_for_zombie_jobs.cmd b/win32/scripts/check_for_zombie_jobs.cmd deleted file mode 100644 index 22c9cae..0000000 --- a/win32/scripts/check_for_zombie_jobs.cmd +++ /dev/null @@ -1,41 +0,0 @@ -REM -REM Check for zombie jobs (not terminated). -REM Also scan logs for ERROR messages - -sed -e "s;@storage@;%1=%2;" scripts\check_for_zombie_jobs.bscr >tmp\bconcmds -CALL scripts\functions run_bconsole -grep "No Jobs running." tmp\dir.out >nul 2>&1 -IF %ERRORLEVEL% NEQ 0 ( - ECHO. - ECHO !!!! Zombie Jobs in Director !!!! - ECHO !!!! Zombie Jobs in Director !!!! >>test.out - ECHO. -) -grep "No Jobs running." tmp\fd.out >nul 2>&1 -IF %ERRORLEVEL% NEQ 0 ( - ECHO. - ECHO !!!! Zombie Jobs in File daemon !!!! - ECHO !!!! Zombie Jobs in File daemon !!!! >>test.out - ECHO. -) -grep "No Jobs running." tmp\sd.out >nul 2>&1 -IF %ERRORLEVEL% NEQ 0 ( - ECHO. - ECHO !!!! Zombie Jobs in Storage daemon !!!! - ECHO !!!! Zombie Jobs in Storage daemon !!!! >>test.out - ECHO. -) -grep "ERROR" tmp/log*.out >nul 2>&1 -IF %ERRORLEVEL% EQU 0 ( - ECHO. - ECHO !!!! ERROR in log output !!!! - ECHO !!!! ERROR in log output !!!! >>test.out - ECHO. -) -grep "Fatal Error" tmp\log*.out >nul 2>&1 -IF %ERRORLEVEL% EQU 0 ( - ECHO. - ECHO !!!! Fatal Error in log output !!!! - ECHO !!!! Fatal Error in log output !!!! >>test.out - ECHO. -) diff --git a/win32/scripts/cleanup-2drive.cmd.in b/win32/scripts/cleanup-2drive.cmd.in deleted file mode 100644 index c49d6db..0000000 --- a/win32/scripts/cleanup-2drive.cmd.in +++ /dev/null @@ -1,43 +0,0 @@ -REM -REM Cleanup left over files -- both before and after test run -REM -CALL scripts\cleanup - -IF NOT "@autochanger@" == "nul" ( - SET slot=0 - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1' ) DO SET slot=%%i - ECHO Slot %slot% in drive 1 - IF !slot! NEQ 0 ( - ECHO unload slot !slot! in drive 1 - bin\mtx-changer @autochanger@ unload !slot! @tape_drive1@ 1 - ) - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive@ 0' ) DO SET slot=%%i - ECHO Slot !slot! in drive 0 - IF !slot! NEQ 0 ( - echo "unload slot !slot! in drive 0" - bin\mtx-changer @autochanger@ unload !slot! @tape_drive@ 0 - ) - - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1' ) DO SET slot=%%i - IF !slot! NEQ 2 ( - ECHO load slot 2 in drive 1 - bin\mtx-changer @autochanger@ load 2 @tape_drive1@ 1 - ) - ECHO WEOF drive 1 - mt -f @tape_drive1@ rewind - mt -f @tape_drive1@ weof - ECHO unload slot 2 in drive 1 - bin\mtx-changer @autochanger@ unload 2 @tape_drive1@ 1 - - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 @tape_drive@ 0' ) DO SET slot=%%i - ECHO Slot !slot! in drive 0 - IF !slot! NEQ 1 ( - ECHO load slot 1 in drive 0 - bin\mtx-changer @autochanger@ load 1 @tape_drive@ 0 - ) - ECHO WEOF drive 0 - mt -f @tape_drive@ rewind - mt -f @tape_drive@ weof - ECHO unload slot 1 from drive 0 - bin\mtx-changer @autochanger@ unload 1 @tape_drive@ 0 -) diff --git a/win32/scripts/cleanup-2tape.cmd.in b/win32/scripts/cleanup-2tape.cmd.in deleted file mode 100644 index a572d7f..0000000 --- a/win32/scripts/cleanup-2tape.cmd.in +++ /dev/null @@ -1,29 +0,0 @@ -REM -REM Cleanup left over files -- both before and after test run -REM - -setlocal ENABLEDELAYEDEXPANSION - -CALL scripts\cleanup - -IF NOT "@autochanger@" == "nul" ( - SET slot=0 - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 dummy 0' ) DO SET slot=%%i - IF !slot! NEQ 2 ( - bin\mtx-changer @autochanger@ unload 0 @tape_drive@ 0 - bin\mtx-changer @autochanger@ load 2 @tape_drive@ 0 - ) - mt -f @tape_drive@ rewind - mt -f @tape_drive@ weof - - REM - REM If we have an autochanger always load tape in slot 1 - REM - FOR /f %%i in ( 'bin\mtx-changer @autochanger@ loaded 0 dummy 0' ) DO SET slot=%%i - IF !slot! NEQ 1 ( - bin\mtx-changer @autochanger@ unload 0 @tape_drive@ 0 - bin\mtx-changer @autochanger@ load 1 @tape_drive@ 0 - ) -) -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof diff --git a/win32/scripts/cleanup-tape.cmd.in b/win32/scripts/cleanup-tape.cmd.in deleted file mode 100644 index 46ce41a..0000000 --- a/win32/scripts/cleanup-tape.cmd.in +++ /dev/null @@ -1,7 +0,0 @@ -REM -REM Cleanup left over files -- both before and after test run -REM -CALL scripts\cleanup - -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof diff --git a/win32/scripts/cleanup.cmd b/win32/scripts/cleanup.cmd deleted file mode 100644 index 1743b2f..0000000 --- a/win32/scripts/cleanup.cmd +++ /dev/null @@ -1,23 +0,0 @@ -@ECHO off -REM -REM Cleanup left over files -- both before and after test run -REM - -CALL scripts\bareos stop >nul 2>&1 - -DEL /q /f \tmp\FileVolume* tmp\FileVolume* >nul 2>&1 -DEL /q /f \tmp\TestVolume001 \tmp\Small* >nul 2>&1 -RD /s /q \tmp\bareos-restores tmp\bareos-restores >nul 2>&1 -DEL /q /f tmp\original tmp\Small* tmp\TestVolume* >nul 2>&1 -DEL /q /f tmp\restored tmp\largefile tmp\bscan.bsr tmp\log*.out >nul 2>&1 -DEL /q /f \tmp\sed_tmp \tmp\file-list >nul 2>&1 -RD /s /q tmp\build >nul 2>&1 -DEL /q /f tmp\restore-list tmp\restore2-list >nul 2>&1 -DEL /q /f tmp\fd.out tmp\dir.out tmp\sd.out >nul 2>&1 -DEL /q /f working\log tmp\TEST-* >nul 2>&1 -DEL /q /f working\*.bsr >nul 2>&1 -DEL /q /f tmp\disk-changer.cmd \tmp\disk-changer.cmd >nul 2>&1 - -CALL bin\drop_bareos_tables >nul 2>&1 -CALL bin\make_bareos_tables >nul 2>&1 -CALL bin\grant_bareos_privileges >nul 2>&1 diff --git a/win32/scripts/copy-2disk-confs.cmd b/win32/scripts/copy-2disk-confs.cmd deleted file mode 100644 index 7a03811..0000000 --- a/win32/scripts/copy-2disk-confs.cmd +++ /dev/null @@ -1,9 +0,0 @@ -REM -REM Setup for using the Virtual Disk Changer (simulates tape changer) -REM -COPY scripts\bareos-dir-tape.conf bin\bareos-dir.conf -COPY scripts\bareos-sd-2disk.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf -COPY bin\bareos-dir.conf tmp\1 -sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bareos-dir.conf diff --git a/win32/scripts/copy-2disk-drive-confs.cmd b/win32/scripts/copy-2disk-drive-confs.cmd deleted file mode 100644 index 698fb7c..0000000 --- a/win32/scripts/copy-2disk-drive-confs.cmd +++ /dev/null @@ -1,6 +0,0 @@ -COPY scripts\bareos-dir-tape.conf bin\bareos-dir.conf -COPY scripts\bareos-sd-2disk-drive.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf -COPY bin\bareos-dir.conf tmp\1 -sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bareos-dir.conf diff --git a/win32/scripts/copy-2drive-confs.cmd b/win32/scripts/copy-2drive-confs.cmd deleted file mode 100644 index 0f89839..0000000 --- a/win32/scripts/copy-2drive-confs.cmd +++ /dev/null @@ -1,10 +0,0 @@ -COPY scripts\bareos-dir-tape.conf bin\bareos-dir.conf -COPY scripts\bareos-sd-2drive.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf - -COPY bin\bareos-dir.conf tmp\1 -sed -e "s;# Autochanger = yes; Autochanger = yes;g" >bin\bareos-dir.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-2tape-confs.cmd b/win32/scripts/copy-2tape-confs.cmd deleted file mode 100644 index eae6eda..0000000 --- a/win32/scripts/copy-2tape-confs.cmd +++ /dev/null @@ -1,10 +0,0 @@ -COPY scripts\bareos-dir-tape.conf bin\bareos-dir.conf -COPY scripts\bareos-sd-2tape.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf - -COPY bin\bareos-dir.conf tmp\1 -sed -e "s;# Autochanger = yes; Autochanger = yes;g" tmp\1 >bin\bareos-dir.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-confs.cmd b/win32/scripts/copy-confs.cmd deleted file mode 100644 index 01462a8..0000000 --- a/win32/scripts/copy-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -COPY scripts\bareos-dir.conf bin\bareos-dir.conf -COPY scripts\bareos-sd.conf bin\bareos-sd.conf -COPY scripts\bareos-fd.conf bin\bareos-fd.conf -COPY scripts\bconsole.conf bin\bconsole.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-crypto-confs.cmd b/win32/scripts/copy-crypto-confs.cmd deleted file mode 100644 index a5cfbd8..0000000 --- a/win32/scripts/copy-crypto-confs.cmd +++ /dev/null @@ -1,5 +0,0 @@ -COPY scripts\new-test-bareos-dir.conf bin\bareos-dir.conf -COPY scripts\test-bareos-sd.conf bin\bareos-sd.conf -COPY scripts\crypto-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf -COPY scripts\cryptokeypair.pem bin\cryptokeypair.pem diff --git a/win32/scripts/copy-migration-confs.cmd b/win32/scripts/copy-migration-confs.cmd deleted file mode 100644 index 0527785..0000000 --- a/win32/scripts/copy-migration-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -REM -REM Setup for migration tests -REM -COPY scripts\bareos-dir-migration.conf bin\bareos-dir.conf -COPY scripts\bareos-sd-migration.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf diff --git a/win32/scripts/copy-tape-confs.cmd b/win32/scripts/copy-tape-confs.cmd deleted file mode 100644 index 4509444..0000000 --- a/win32/scripts/copy-tape-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -copy scripts\bareos-dir-tape.conf bin\bareos-dir.conf -copy scripts\bareos-sd-tape.conf bin\bareos-sd.conf -copy scripts\test-bareos-fd.conf bin\bareos-fd.conf -copy scripts\test-console.conf bin\bconsole.conf - -REM get proper SD tape definitions -copy scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-test-confs.cmd b/win32/scripts/copy-test-confs.cmd deleted file mode 100644 index 33bb152..0000000 --- a/win32/scripts/copy-test-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -COPY scripts\new-test-bareos-dir.conf bin\bareos-dir.conf -COPY scripts\test-bareos-sd.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-testa-confs.cmd b/win32/scripts/copy-testa-confs.cmd deleted file mode 100644 index 2c94e8c..0000000 --- a/win32/scripts/copy-testa-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -COPY scripts\testa-bareos-dir.conf bin\bareos-dir.conf -COPY scripts\test-bareos-sd.conf bin\bareos-sd.conf -COPY scripts\test-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/copy-win32-confs.cmd b/win32/scripts/copy-win32-confs.cmd deleted file mode 100644 index e472ec2..0000000 --- a/win32/scripts/copy-win32-confs.cmd +++ /dev/null @@ -1,7 +0,0 @@ -COPY scripts\win32-bareos-dir-tape.conf bin\bareos-dir.conf -COPY scripts\win32-bareos-sd-tape.conf bin\bareos-sd.conf -COPY scripts\win32-bareos-fd.conf bin\bareos-fd.conf -COPY scripts\test-console.conf bin\bconsole.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options diff --git a/win32/scripts/crypto-bareos-fd.conf.in b/win32/scripts/crypto-bareos-fd.conf.in deleted file mode 100644 index 2a4be31..0000000 --- a/win32/scripts/crypto-bareos-fd.conf.in +++ /dev/null @@ -1,35 +0,0 @@ -# -# Default Bareos File Daemon Configuration file -# -# For Bareos release 1.33 -# -# There is not much to change here except perhaps the -# File daemon Name to -# - -# -# List Directors who are permitted to contact this File daemon -# -Director { - Name = @hostname@-dir - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" -} - -# -# "Global" File daemon configuration specifications -# -FileDaemon { # this is me - Name = @hostname@-fd - FDport = 8102 # where we listen for the director - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" - PKI Signatures = Yes - PKI Encryption = Yes - PKI Keypair = "@scriptdir@/cryptokeypair.pem" -} - -# Send all messages except skipped files back to Director -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/cryptokeypair.pem b/win32/scripts/cryptokeypair.pem deleted file mode 100644 index 440dcce..0000000 --- a/win32/scripts/cryptokeypair.pem +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIBOgIBAAJBAKIc649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCi -PNaj/FzPhTIgBBRFEP0ZU5DfVv6CoXKbpr8CAwEAAQJAQbvUUFvzpi5pnxPmw+Jv -+zlmjIy1Icdv47UHFN3Dl3V0+X05g12xUlnyNKzo2jlSwkBi1w8AJCMV6/TnnLiI -AQIhAM4SH9cb01DUH+1O5gk90GgNYW1Aq2vL1vygm02kppi/AiEAyWQ9eAILPXhX -H3a7mEj8z1bCTBiVrhe73NUjim4QcgECIEC3hHRj8ruBwv0eODRSy27CNQTAuJVE -ESKJtfxuZzu1AiEAotXYFbahW/x3hUs9d25ca1EdHOYr8G3kSjRT3lQMHAECIHBl -uX+Ywc1jjWhc+vN2ZrLWkKMVbrd+SWOPUQGroM0j ------END RSA PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIICKzCCAdWgAwIBAgIJAO4x/m+tHX8HMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV -BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX -aWRnaXRzIFB0eSBMdGQwHhcNMDYxMjA0MDMxMzUwWhcNMDcwMTAzMDMxMzUwWjBF -MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 -ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKIc -649Amif6weq+c8rVtS7jyn7E9oZ9Irrl9WviQZi0+J2OLgCiPNaj/FzPhTIgBBRF -EP0ZU5DfVv6CoXKbpr8CAwEAAaOBpzCBpDAdBgNVHQ4EFgQUiGz2I+bks0nCHyCI -IwuV3DpDPMwwdQYDVR0jBG4wbIAUiGz2I+bks0nCHyCIIwuV3DpDPMyhSaRHMEUx -CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRl -cm5ldCBXaWRnaXRzIFB0eSBMdGSCCQDuMf5vrR1/BzAMBgNVHRMEBTADAQH/MA0G -CSqGSIb3DQEBBQUAA0EAkjFYcs9rrpdURlBaNlbud68VlA5rU+Bv4keYx41DUmqo -sXtkQZENR9iYYYhOUso1/1dwQgrt3egjTZTtq7o5zw== ------END CERTIFICATE----- diff --git a/win32/scripts/disk-changer.cmd b/win32/scripts/disk-changer.cmd deleted file mode 100644 index 28c2d3b..0000000 --- a/win32/scripts/disk-changer.cmd +++ /dev/null @@ -1,201 +0,0 @@ -@ECHO off -setlocal ENABLEDELAYEDEXPANSION -REM -REM -REM Bareos interface to virtual autoloader using disk storage -REM -REM $Id$ -REM -REM If you set in your Device resource -REM -REM Changer Command = "disk-changer %c %o %S %a %d" -REM you will have the following input to this script: -REM -REM So Bareos will always call with all the following arguments, even though -REM in some cases, not all are used. -REM -REM disk-changer "changer-device" "command" "slot" "archive-device" "drive-index" -REM %1 %2 %3 %4 %5 -REM -REM By default the autochanger has 10 Volumes and 1 Drive. -REM -REM Note: For this script to work, you *must" specify -REM Device Type = File -REM in each of the Devices associated with your AutoChanger resource. -REM -REM changer-device is the name of a file that overrides the default -REM volumes and drives. It may have: -REM maxslot=n where n is one based (default 10) -REM maxdrive=m where m is zero based (default 1 -- i.e. 2 drives) -REM -REM This code can also simulate barcodes. You simply put -REM a list of the slots and barcodes in the "base" directory/barcodes. -REM See below for the base directory definition. Example of a -REM barcodes file: -REM C:\TEMP\bareos\barcodes -REM 1:Vol001 -REM 2:Vol002 -REM ... -REM -REM archive-device is the name of the base directory where you want the -REM Volumes stored appended with \drive0 for the first drive; \drive1 -REM for the second drive, ... For example, you might use -REM C:\Temp\bareos\drive0 Note: you must not have a trailing slash, and -REM the string (e.g. \drive0) must be unique, and it must not match -REM any other part of the directory name. These restrictions could be -REM easily removed by any clever script jockey. -REM -REM Full example: disk-changer C:\Temp\bareos\conf load 1 C:\Temp\bareos\drive0 0 -REM -REM The Volumes will be created with names slot1, slot2, slot3, ... maxslot in the -REM base directory. In the above example the base directory is C:\Temp\bareos. -REM However, as with tapes, their Bareos Volume names will be stored inside the -REM Volume label. In addition to the Volumes (e.g. C:\Temp\bareos\slot1, -REM C:\Temp\bareos\slot3, ...) this script will create a C:\Temp\bareos\loadedn -REM file to keep track of what Slot is loaded. You should not change this file. -REM - -SET dbgfile=disk-changer.log - -REM to turn on logging, uncomment the following line -IF NOT EXIST %dbgfile% COPY nul %dbgfile% >nul - -REM -REM check parameter count on commandline -REM -REM Check for special cases where only 2 arguments are needed, -REM all others are a minimum of 5 -REM -IF "%1" EQU "" goto :param_count_invalid -IF "%2" EQU "" goto :param_count_invalid -IF "%2" EQU "list" goto :param_count_valid -IF "%2" EQU "slots" goto :param_count_valid -IF "%3" EQU "" goto :param_count_invalid -IF "%4" EQU "" goto :param_count_invalid -IF "%5" EQU "" goto :param_count_invalid -GOTO :param_count_valid - -:param_count_invalid - echo Insufficient number of arguments given. - IF "%2" EQU "" ( - echo At least two arguments must be specified. - ) else echo Command expected 5 arguments. -:usage - ECHO. - ECHO usage: disk-changer ctl-device command [slot archive-device drive-index] - ECHO Valid commands are: unload, load, list, loaded, and slots. - EXIT /B 1 - -:param_count_valid - -REM Setup arguments -SET ctl=%1 -SET cmd=%2 -SET slot=%3 -SET device=%4 -SET drive=%5 - -REM set defaults -SET maxdrive=1 -SET maxslot=10 - -SET ctl=%ctl:/=\% -SET ctl=%ctl:\\=\% - -SET device=%device:/=\% -SET device=%device:\\=\% - -REM Pull in conf file -IF EXIST %ctl% CALL %ctl% - -FOR %%i IN ( %ctl% ) DO SET dirname=%%~dpi -IF NOT EXIST %dirname%nul ( - ECHO ERROR: Autochanger directory "%dirname%" does not exist. - ECHO You must create it. - EXIT /b 1 -) - -CALL :debug "Parms: %ctl% %cmd% %slot% %device% %drive%" -IF "%cmd%" EQU "unload" GOTO :cmdUnload -IF "%cmd%" EQU "load" GOTO :cmdLoad -IF "%cmd%" EQU "list" GOTO :cmdList -IF "%cmd%" EQU "loaded" GOTO :cmdLoaded -IF "%cmd%" EQU "slots" GOTO :cmdSlots -GOTO :cmdUnknown - -:cmdUnload - CALL :debug "Doing disk -f %ctl% unload %slot% %device% %drive%" - IF NOT EXIST %dirname%loaded%drive% ECHO 0 >%dirname%loaded%drive% - FOR /f %%i IN ( %dirname%loaded%drive% ) DO SET ld=%%i - - IF "%slot%" EQU "%ld%" ( - CALL :debug "Unloaded slot %ld% from drive %drive%" - ECHO 0 >%dirname%loaded%drive% - DEL %dirname%%device% >nul 2>nul - SET rtn=0 - ) ELSE ( - ECHO Storage Element %slot% is Already Full - CALL :debug "Storage Element %slot% is Already Full" - SET rtn=1 - ) - GOTO :cmdExit - -:cmdLoad - CALL :debug "Doing disk -f %ctl% load %slot% %device% %drive%" - SET ld=0 - IF NOT EXIST %dirname%loaded%drive% ECHO 0 >%dirname%loaded%drive% - FOR /f %%i IN ( %dirname%loaded%drive% ) DO SET ld=%%i - IF %ld% EQU 0 ( - IF NOT EXIST %dirname%slot%slot% COPY nul %dirname%slot%slot% >nul - DEL %device% - fsutil hardlink create %device% %dirname%slot%slot% >nul 2>&1 - SET rtn=%ERRORLEVEL% - IF !rtn! EQU 0 ( - ECHO %slot% >%dirname%loaded%drive% - CALL :debug "Loaded slot %slot% into drive %drive%" - ) ELSE ( - CALL :debug "Create hardlink failed, return = !rtn!" - ) - ) ELSE ( - ECHO Drive %drive% Full - Storage element %ld% loaded - CALL :debug "Drive %drive% Full - Storage element %ld% loaded" - ) - GOTO :cmdExit - -:cmdList - CALL :debug "Doing disk -f %ctl% -- to list volumes" - IF EXIST %dirname%barcodes ( - TYPE %dirname%barcodes - ) ELSE ( - FOR /l %%i IN ( 1, 1, %maxslot% ) DO ECHO %%i: - ) - SET rtn=0 - GOTO :cmdExit - -:cmdLoaded - CALL :debug "Doing disk -f %ctl% %drive% -- to find what is loaded" - IF EXIST %dirname%loaded%drive% ( TYPE %dirname%loaded%drive% ) ELSE ECHO 0 - SET rtn=0 - GOTO :cmdExit - -:cmdSlots - CALL :debug "Doing disk -f %ctl% -- to get count of slots" - ECHO %maxslot% - SET rtn=0 - GOTO :cmdExit - -:cmdExit - EXIT /b %rtn% - -:cmdUnknown - ECHO '%cmd%' is an invalid command. - GOTO :usage - -REM -REM log whats done -REM -:debug - IF NOT EXIST %dbgfile% GOTO :EOF - FOR /f "usebackq tokens=2-4,5-7 delims=/:. " %%i IN ( '%DATE% %TIME%' ) do SET TIMESTAMP=%%k%%i%%j-%%l:%%m:%%n - ECHO %TIMESTAMP% %* >> %dbgfile% - GOTO :EOF diff --git a/win32/scripts/do_sed.cmd b/win32/scripts/do_sed.cmd deleted file mode 100644 index bc86703..0000000 --- a/win32/scripts/do_sed.cmd +++ /dev/null @@ -1,72 +0,0 @@ -IF "%1" == "" GOTO :usage -IF "%2" == "" GOTO :usage -IF "%3" == "" GOTO :usage -IF "%4" == "" GOTO :usage -IF "%5" == "" GOTO :usage -IF "%6" == "" GOTO :usage -GOTO :args_ok - -:usage -ECHO First arg must be email name -ECHO and the second must be the smtp or email host -ECHO and the third must be a tape drive -ECHO and the fourth must be a tape control name or nul -ECHO and the fifth must be the full path to the mtx program -ECHO and the sixth must be tape drive 1 or nul -EXIT /b 1 - -:args_ok -SET out=tmp\sed_tmp - -REM Create sed command script - -ECHO s;@sbindir@;%CD:\=/%/bin;g >%out% -ECHO s;@scriptdir@;%CD:\=/%/scripts;g >>%out% -ECHO s;@working_dir@;%CD:\=/%/working;g >>%out% -ECHO s;@piddir@;%CD:\=/%/working;g >>%out% -ECHO s;@job_email@;%1;g >>%out% -ECHO s;@smtp_host@;%2;g >>%out% -ECHO s;@tape_drive@;%3;g >>%out% -ECHO s;@autochanger@;%4;g >>%out% -ECHO s;@tmpdir@;%CD:\=/%/tmp;g >>%out% -ECHO s;@hostname@;localhost;g >>%out% -ECHO s;@changer_path@;%5;g >>%out% -ECHO s;@tape_drive1@;%6;g >>%out% -ECHO s;@disk_drive@;%CD:\=/%/tmp/disk-changer;g >>%out% -ECHO s;@smtp_program@;%CD:\=/%/bin/bsmtp;g >>%out% - -ECHO SET AUTOCHANGER=%4 >config_out.cmd -ECHO SET AUTOCHANGER_PATH=%5 >>config_out.cmd -ECHO SET TAPE_DRIVE1=%6 >>config_out.cmd - -REM process .in files with sed script -sed -f %out% scripts\test-bareos-dir.conf.in >scripts\test-bareos-dir.conf -sed -f %out% scripts\new-test-bareos-dir.conf.in >scripts\new-test-bareos-dir.conf -sed -f %out% scripts\testa-bareos-dir.conf.in >scripts\testa-bareos-dir.conf -sed -f %out% scripts\test-bareos-fd.conf.in >scripts\test-bareos-fd.conf -sed -f %out% scripts\test-bareos-sd.conf.in >scripts\test-bareos-sd.conf -sed -f %out% scripts\test-console.conf.in >scripts\test-console.conf -sed -f %out% scripts\crypto-bareos-fd.conf.in >scripts\crypto-bareos-fd.conf -sed -f %out% scripts\bareos-dir-tape.conf.in >scripts\bareos-dir-tape.conf -sed -f %out% scripts\bareos-dir-migration.conf.in >scripts\bareos-dir-migration.conf -sed -f %out% scripts\win32-bareos-dir-tape.conf.in >scripts\win32-bareos-dir-tape.conf -sed -f %out% scripts\bareos-sd-tape.conf.in >scripts\bareos-sd-tape.conf -sed -f %out% scripts\bareos-sd-2tape.conf.in >scripts\bareos-sd-2tape.conf -sed -f %out% scripts\bareos-sd-migration.conf.in >scripts\bareos-sd-migration.conf -sed -f %out% scripts\bareos-sd-2disk.conf.in >scripts\bareos-sd-2disk.conf -sed -f %out% scripts\bareos-sd-2drive.conf.in >scripts\bareos-sd-2drive.conf -sed -f %out% scripts\bareos-sd-2disk-drive.conf.in >scripts\bareos-sd-2disk-drive.conf -sed -f %out% scripts\cleanup-tape.cmd.in >scripts\cleanup-tape.cmd -sed -f %out% scripts\cleanup-2tape.cmd.in >scripts\cleanup-2tape.cmd -sed -f %out% scripts\cleanup-2drive.cmd.in >scripts\cleanup-2drive.cmd -sed -f %out% scripts\prepare-two-tapes.cmd.in >scripts\prepare-two-tapes.cmd -sed -f %out% scripts\bareos-dir.conf.testrunscript.in >scripts\bareos-dir.conf.testrunscript - -COPY bin\bareos-sd.conf tmp\bareos-sd.tmp >nul -sed -e "s;C:\\Temp;%CD:\=/%/tmp;g" tmp\bareos-sd.tmp >bin\bareos-sd.conf - -REM get proper SD tape definitions -COPY scripts\win32_tape_options bin\tape_options >nul - -DEL %out% -DEL tmp\*.tmp diff --git a/win32/scripts/exclude-dev-test b/win32/scripts/exclude-dev-test deleted file mode 100644 index 4165ea1..0000000 --- a/win32/scripts/exclude-dev-test +++ /dev/null @@ -1,5 +0,0 @@ -dev/ptmx -dev/pts -dev/rd/c5d2 -dev/rd -dev/shm diff --git a/win32/scripts/exclude-etc-test b/win32/scripts/exclude-etc-test deleted file mode 100644 index f59ca8d..0000000 --- a/win32/scripts/exclude-etc-test +++ /dev/null @@ -1 +0,0 @@ -etc/mail/statistics diff --git a/win32/scripts/exclude-lib-test b/win32/scripts/exclude-lib-test deleted file mode 100644 index 5be32f4..0000000 --- a/win32/scripts/exclude-lib-test +++ /dev/null @@ -1,5 +0,0 @@ -lib/ld-2.2.5.so -lib/libtermcap.so.2.0.8 -lib/libc-2.2.5.so -lib/libnsl-2.2.5.so -lib/libnss_files-2.2.5.so diff --git a/win32/scripts/flist b/win32/scripts/flist deleted file mode 100644 index 8557ce2..0000000 --- a/win32/scripts/flist +++ /dev/null @@ -1,23 +0,0 @@ -/build/configure -/build/src/stored/bextract -/build/src/tools/testfind -/build/Makefile.in -/build/src/dird/bareos-dir -/build/src/console/bconsole -/build/src/filed/bareos-fd -/build/src/findlib/find_one.c -/build/src/include/jcr.h -/build/platforms/Makefile.in -/build/platforms/redhat/Makefile.in -/build/scripts/Makefile.in -/build/src/win32/filed/winservice.cpp -/build/src/filed/restore.c -/build/autoconf/configure.in -/build/examples/afs-bareos -/build/src/win32/Makefile.inc.in -/build/src/win32/installer/winbareos.nsi -/build/autoconf/configure.in -/build/src/include/version.h -/build/src/lib/message.c -/build/src/lib/bnet_server_tcp.c -/build/src/lib/libbac.a diff --git a/win32/scripts/functions.cmd b/win32/scripts/functions.cmd deleted file mode 100644 index 184752b..0000000 --- a/win32/scripts/functions.cmd +++ /dev/null @@ -1,131 +0,0 @@ -REM -REM A set of useful functions to be sourced in each test -REM - -SET routine=%1 -SHIFT - -GOTO %routine% - -:start_test - ECHO. - ECHO. - ECHO === Starting %TestName% at %TIME% === - ECHO === Starting %TestName% at %TIME% === >>working\log - ECHO. - GOTO :EOF - -:set_debug - SET debug=%1 - IF "%debug%" EQU 1 ( - SET out=tee - ) ELSE ( - SET out=output - ) - GOTO :EOF - -:run_bareos - IF %debug% EQU 1 ( - CALL scripts\bareos start - bin\bconsole -c bin\bconsole.conf nul 2>&1 - bin\bconsole -c bin\bconsole.conf nul 2>&1 - ) - GOTO :EOF - -:run_bconsole - IF %debug% EQU 1 ( - bin\bconsole -c bin\bconsole.conf nul 2>&1 - ) - GOTO :EOF - -:run_btape - IF %debug% EQU 1 ( - bin\btape -c bin\bareos-sd.conf DDS-4 tmp\log1.out 2>&1 - ) - GOTO :EOF - -:run_bscan - IF %debug% EQU 1 ( - bin\bscan %1 %2 %3 %4 %5 %6 %7 %8 %9 | tee tmp\log.out - ) ELSE ( - bin\bscan %1 %2 %3 %4 %5 %6 %7 %8 %9 >nul 2>&1 - ) - GOTO :EOF - -:stop_bareos - CALL scripts\bareos stop >nul 2>&1 - GOTO :EOF - -:check_for_zombie_jobs - CALL scripts\check_for_zombie_jobs %1 %2 - GOTO :EOF - -:change_jobname - IF "%2" == "" ( - SET oldname=NightlySave - SET newname=%1 - ) ELSE ( - SET oldname=%1 - SET newname=%2 - ) - IF EXIST bin\1 DEL /f bin\1 - REN bin\bareos-dir.conf 1 - sed -e "s;%oldname%;%newname%;g" bin\1 >bin\bareos-dir.conf -REM ECHO Job %oldname% changed to %newname% - GOTO :EOF - -:check_two_logs - grep "^ Termination: *Backup OK" tmp\log1.out >nul 2>&1 - SET bstat=%ERRORLEVEL% - grep "^ Termination: *Restore OK" tmp\log2.out >nul 2>&1 - SET rstat=%ERRORLEVEL% - GOTO :EOF - -:check_restore_diff - diff -r build tmp\bareos-restores\%CD::=%\build >nul 2>&1 - SET dstat=%ERRORLEVEL% - GOTO :EOF - -:check_restore_tmp_build_diff - diff -r tmp\build tmp\bareos-restores\%CD::=%\tmp\build >nul 2>&1 - SET dstat=%ERRORLEVEL% - GOTO :EOF - -:end_test - SET /a errcount=%bstat% + %rstat% + %dstat% - IF %errcount% NEQ 0 ( - ECHO. - ECHO. - ECHO !!!!! %TestName% Bareos source failed!!! !!!!! - ECHO !!!!! %TestName% failed!!! !!!!! >>test.out - IF %dstat% NEQ 0 ( - ECHO !!!!! Restored files differ !!!!! - ECHO !!!!! Restored files differ !!!!! >>test.out - ) ELSE ( - ECHO !!!!! Bad Job termination status !!!!! - ECHO !!!!! Bad Job termination status !!!!! >>test.out - ) - ECHO. - ) ELSE ( - ECHO ===== %TestName% Bareos source OK %TIME% ===== - ECHO ===== %TestName% OK %TIME% ===== >>test.out - IF %debug% EQU 0 scripts\cleanup - ) - SET errcount= - GOTO :EOF - -:copy_tape_confs - CALL scripts\copy-tape-confs >nul 2>&1 - CALL scripts\cleanup-tape - GOTO :EOF - -:copy_test_confs - CALL scripts\copy-test-confs >nul 2>&1 - CALL scripts\cleanup - GOTO :EOF diff --git a/win32/scripts/install_bareos.cmd b/win32/scripts/install_bareos.cmd deleted file mode 100644 index 2a6f958..0000000 --- a/win32/scripts/install_bareos.cmd +++ /dev/null @@ -1,76 +0,0 @@ -REM Arguments: -REM 1 = Debug or Release -REM 2 = email address -REM 3 = mail server -REM 4 = tape device -REM 5 = changer device or nul -REM 6 = tape1 device or nul - -SETLOCAL ENABLEDELAYEDEXPANSION - -SET CATS=create_sqlite3_database.cmd drop_sqlite3_database.cmd drop_sqlite3_tables.cmd grant_sqlite3_privileges.cmd make_sqlite3_catalog_backup.cmd make_sqlite3_tables.cmd - -SET CONFS=bareos-dir.conf.in bareos-fd.conf.in bareos-sd.conf.in bconsole.conf.in - -CALL scripts\bareos stop - -IF NOT EXIST bin MKDIR bin - -COPY build\src\win32\installer\%1\*.exe bin >nul -COPY build\src\win32\installer\%1\*.dll bin >nul -COPY build\src\win32\installer\%1\*.manifest bin >nul -COPY build\src\win32\%1\*.pdb bin >nul -COPY build\src\win32\installer\%1\query.sql bin >nul - -COPY bin\cats_sqlite3.dll bin\bareos_cats.dll >nul - -FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET CLIENT_PASSWORD=%%i -FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET STORAGE_PASSWORD=%%i -FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET DIRECTOR_PASSWORD=%%i -FOR /f %%i IN ( 'cmd /c openssl.exe rand -base64 33 2^>nul' ) DO SET MONITOR_PASSWORD=%%i - -ECHO s;@director_name@;localhost-dir;g >install.sed -ECHO s;@director_port@;8101;g >>install.sed -ECHO s;@storage_name@;localhost-sd;g >>install.sed -ECHO s;@storage_port@;8103;g >>install.sed -ECHO s;@client_name@;localhost-fd;g >>install.sed -ECHO s;@client_port@;8102;g >>install.sed - -REM ECHO s;@DISTVER@;$R2; - -ECHO s;@working_dir@;%CD:\=\\\\%\\\\working;g >>install.sed -ECHO s;@working_dir_cmd@;%CD:\=\\%\\working;g >>install.sed -ECHO s;@bin_dir@;%CD:\=\\\\%\\\\bin;g >>install.sed; -ECHO s;@bin_dir_cmd@;%CD:\=\\%\\bin;g >>install.sed -ECHO s;@BUILD_DIR@;%CD:\=/%/build;g >>install.sed -ECHO s;@director_address@;localhost;g >>install.sed -ECHO s;@client_address@;localhost;g >>install.sed -ECHO s;@storage_address@;localhost;g >>install.sed -ECHO s;@client_maxjobs@;2;g >>install.sed -ECHO s;@client_password@;%CLIENT_PASSWORD%;g >>install.sed -ECHO s;@storage_maxjobs@;10;g >>install.sed -ECHO s;@storage_password@;%STORAGE_PASSWORD%;g >>install.sed -ECHO s;@director_maxjobs@;1;g >>install.sed -ECHO s;@director_password@;%DIRECTOR_PASSWORD%;g >>install.sed -ECHO s;@job_email@;%2;g >>install.sed -ECHO s;@smtp_host@;%3;g >>install.sed -ECHO s;@monitor_name@;localhost-mon;g >>install.sed -ECHO s;@monitor_password@;%MONITOR_PASSWORD%;g >>install.sed -ECHO s;@tape_drive@;%4;g >>install.sed -ECHO s;@autochanger@;%5;g >>install.sed -ECHO s;@changer_path@;%6;g >>install.sed -ECHO s;@tape_drive1@;%7;g >>install.sed - -FOR %%i in ( %CATS% ) DO ( - SET NAME=%%i - SET TARGET=bin\!NAME:sqlite3=bareos! - sed -f install.sed build\src\win32\installer\%1\!NAME! > !TARGET! -) - -FOR %%i in ( %CONFS% ) DO sed -f install.sed build\src\win32\installer\%%i > bin\%%~ni - -sed -f install.sed build\src\win32\installer\%1\make_sqlite3_tables.sql > bin\make_sqlite3_tables.sql -sed -f install.sed build\src\win32\installer\%1\mtx-changer.cmd > bin\mtx-changer.cmd - -CALL scripts\bareos uninstall -CALL scripts\bareos install %CD%\bin diff --git a/win32/scripts/new-test-bareos-dir.conf.in b/win32/scripts/new-test-bareos-dir.conf.in deleted file mode 100644 index d04ece7..0000000 --- a/win32/scripts/new-test-bareos-dir.conf.in +++ /dev/null @@ -1,325 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.39 or later -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password - Messages = Standard -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData=yes -} - -Job { - Name = "Crypto" - Type = Backup - Client=@hostname@-fd - FileSet="SparseCompressedSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData=yes -} - - -Job { - Name = "MonsterSave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File1 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "VerifyVolume" - Type = Verify - Level = VolumeToCatalog - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "SparseTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - -Job { - Name = "CompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="CompressedSet" - Storage = File - Messages = Standard - Pool = Default - Maximum Concurrent Jobs = 4 - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - -Job { - Name = "SparseCompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseCompressedSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -# Backup the catalog database (after the nightly save) -Job { - Name = "BackupCatalog" - Type = Backup - Client=@hostname@-fd - FileSet="Catalog" -# Schedule = "WeeklyCycleAfterBackup" - Storage = File - Messages = Standard - Pool = Default - # This creates an ASCII copy of the catalog - RunBeforeJob = "@sbindir@/make_catalog_backup -u bareos" - # This deletes the copy of the catalog - RunAfterJob = "@sbindir@/delete_catalog_backup" - Write Bootstrap = "@working_dir@/BackupCatalog.bsr" -} - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include { Options { signature=MD5 } - File = <@tmpdir@/file-list - } -} - -FileSet { - Name = "SparseSet" - Include { - Options { - signature=MD5 sparse=yes - } - File = <@tmpdir@/file-list - } -} - -FileSet { - Name = "CompressedSet" - Include { - Options { - signature=MD5 compression=GZIP - } - File = <@tmpdir@/file-list - } -} - -FileSet { - Name = "SparseCompressedSet" - Include { - Options { - signature=MD5 compression=GZIP - sparse=yes - } - File = <@tmpdir@/file-list - } -} - - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# This schedule does the catalog. It starts after the WeeklyCycle -Schedule { - Name = "WeeklyCycleAfterBackup" - Run = Full sun-sat at 1:10 -} - -# This is the backup of the catalog -FileSet { - Name = "Catalog" - Include { - Options { - signature=MD5 - } - File = /home/kern/bareos/regress/bin/working/bareos.sql - } -} - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definiton of file storage device -Storage { - Name = File - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage - Media Type = File - Maximum Concurrent Jobs = 4 -} - -Storage { - Name = File1 - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage1 - Media Type = File1 - Maximum Concurrent Jobs = 4 -} - - -# Definition of DLT tape storage device -#Storage { -# Name = DLTDrive -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon -# Device = "HP DLT 80" # must be same as Device in Storage daemon -# Media Type = DLT8000 # must be same as MediaType in Storage daemon -#} - -# Definition of DDS tape storage device -#Storage { -# Name = SDT-10000 -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon -# Device = SDT-10000 # must be same as Device in Storage daemon -# Media Type = DDS-4 # must be same as MediaType in Storage daemon -#} - -# Definition of 8mm tape storage device -#Storage { -# Name = "8mmDrive" -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -# Device = "Exabyte 8mm" -# MediaType = "8mm" -#} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -Messages { - Name = NoEmail - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - console = all, !skipped, !terminate -# -# WARNING! the following will create a file that you must cycle from -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -# Label Format = "TEST-${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}:${NumVols}" -} diff --git a/win32/scripts/prepare-two-disks.cmd b/win32/scripts/prepare-two-disks.cmd deleted file mode 100644 index fb570e4..0000000 --- a/win32/scripts/prepare-two-disks.cmd +++ /dev/null @@ -1,5 +0,0 @@ -REM -REM Create fresh virtual disk changer directory -REM -RD /s /q tmp\disk-changer >nul 2>&1 -MKDIR tmp\disk-changer diff --git a/win32/scripts/prepare-two-tapes.cmd.in b/win32/scripts/prepare-two-tapes.cmd.in deleted file mode 100644 index 1bcd818..0000000 --- a/win32/scripts/prepare-two-tapes.cmd.in +++ /dev/null @@ -1,13 +0,0 @@ -REM -REM Create two blank tapes -REM -REM mt -f @tape_drive@ offline -@changer_path@ -f @autochanger@ unload -@changer_path@ -f @autochanger@ load 1 -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof -@changer_path@ -f @autochanger@ unload -@changer_path@ -f @autochanger@ load 2 -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof -REM @changer_path@ -f @autochanger@ unload diff --git a/win32/scripts/setup.cmd b/win32/scripts/setup.cmd deleted file mode 100644 index 9101c33..0000000 --- a/win32/scripts/setup.cmd +++ /dev/null @@ -1,55 +0,0 @@ -REM -REM Script to setup running Bareos regression tests -REM - -IF "%1" == "" GOTO :usage -IF "%2" == "" GOTO :usage -IF "%3" == "" GOTO :usage -IF "%4" == "" GOTO :usage -IF "%5" == "" GOTO :usage -IF "%6" == "" GOTO :usage -IF "%7" == "" GOTO :usage -GOTO :param_count_ok - -:usage -ECHO Incorrect number of arguments. -ECHO setup bareos-src build-type email-address smtp-host tape-device changer-device tape1-device -ECHO. -EXIT /b 1 - -:param_count_ok -RD /s /q build bin tmp working >nul 2>&1 -MKDIR tmp - -REM Copy new source -ECHO Copying source from %1 -SET SRC=%1 -FOR /r %1 %%i in ( debug release ) do IF EXIST %%i ECHO %%i | sed -e "s;%SRC:\=\\%\\;;" -e "/installer\\%2/d" -e "/win32\\%2/d" >>tmp\exclude_list -ECHO .bsc >>tmp\exclude_list -ECHO .ncb >>tmp\exclude_list - -XCOPY %1 build\ /EXCLUDE:tmp\exclude_list /e /q - -DEL build\src\win32\%2\winbareos*.exe - -CALL scripts\install_bareos %2 %3 %4 %5 %6 %7 - -CALL scripts\bareos stop >nul 2>&1 - -IF NOT EXIST working MKDIR working -ECHO Running database creation scripts -CALL bin\create_bareos_database -CALL bin\drop_bareos_tables -CALL bin\make_bareos_tables -CALL bin\grant_bareos_privileges - -REM Start and stop Bareos to ensure conf files are OK - -CALL scripts\bareos start -CALL scripts\bareos stop >nul 2>&1 - -REM -REM Save Bareos default conf files for later use -REM -COPY bin\*.conf scripts >nul -GOTO :EOF diff --git a/win32/scripts/test-bareos-dir.conf.in b/win32/scripts/test-bareos-dir.conf.in deleted file mode 100644 index 9120c57..0000000 --- a/win32/scripts/test-bareos-dir.conf.in +++ /dev/null @@ -1,311 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.33 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password - Messages = Daemon -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData=yes -} - -Job { - Name = "MonsterSave" - Type = Backup - Client=@hostname@-fd - FileSet="Full Set" - Storage = File1 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "VerifyVolume" - Type = Verify - Level = VolumeToCatalog - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -Job { - Name = "SparseTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - -Job { - Name = "CompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="CompressedSet" - Storage = File - Messages = Standard - Pool = Default - Maximum Concurrent Jobs = 4 - Write Bootstrap = "@working_dir@/NightlySave.bsr" -# Max Run Time = 15 seconds -} - -Job { - Name = "SparseCompressedTest" - Type = Backup - Client=@hostname@-fd - FileSet="SparseCompressedSet" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - -# Backup the catalog database (after the nightly save) -Job { - Name = "BackupCatalog" - Type = Backup - Client=@hostname@-fd - FileSet="Catalog" -# Schedule = "WeeklyCycleAfterBackup" - Storage = File - Messages = Standard - Pool = Default - # This creates an ASCII copy of the catalog - RunBeforeJob = "@sbindir@/make_catalog_backup -u bareos" - # This deletes the copy of the catalog - RunAfterJob = "@sbindir@/delete_catalog_backup" - Write Bootstrap = "@working_dir@/BackupCatalog.bsr" -} - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include { Options { signature=MD5 } - File = <@tmpdir@/file-list - } -} - -FileSet { - Name = "SparseSet" - Include { Options { signature=MD5; sparse=yes } - File=<@tmpdir@/file-list - } -} - -FileSet { - Name = "CompressedSet" - Include { - Options { signature=MD5; compression=GZIP } - File =<@tmpdir@/file-list - } -} - -FileSet { - Name = "SparseCompressedSet" - Include { - Options { - signature=MD5; compression=GZIP - } - File= <@tmpdir@/file-list - } -} - - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# This schedule does the catalog. It starts after the WeeklyCycle -Schedule { - Name = "WeeklyCycleAfterBackup" - Run = Full sun-sat at 1:10 -} - -# This is the backup of the catalog -FileSet { - Name = "Catalog" - Include { Options { signature=MD5 } - File=/home/kern/bareos/regress/bin/working/bareos.sql - } -} - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -# Definiton of file storage device -Storage { - Name = File - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage - Media Type = File - Maximum Concurrent Jobs = 4 -} - -Storage { - Name = File1 - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage1 - Media Type = File1 - Maximum Concurrent Jobs = 4 -} - - -# Definition of DLT tape storage device -#Storage { -# Name = DLTDrive -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon -# Device = "HP DLT 80" # must be same as Device in Storage daemon -# Media Type = DLT8000 # must be same as MediaType in Storage daemon -#} - -# Definition of DDS tape storage device -#Storage { -# Name = SDT-10000 -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon -# Device = SDT-10000 # must be same as Device in Storage daemon -# Media Type = DDS-4 # must be same as MediaType in Storage daemon -#} - -# Definition of 8mm tape storage device -#Storage { -# Name = "8mmDrive" -# Address = @hostname@ # N.B. Use a fully qualified name here -# SDPort = 8103 -# Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -# Device = "Exabyte 8mm" -# MediaType = "8mm" -#} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -Messages { - Name = NoEmail - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - console = all, !skipped, !terminate -# -# WARNING! the following will create a file that you must cycle from -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -# -# Message delivery for daemon messages (no job). -Messages { - Name = Daemon - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos\) %r\" -s \"Bareos daemon message\" %r" - mail = @job_email@ = all, !skipped - console = all, !skipped, !saved - append = "@working_dir@/log" = all, !skipped -} - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} diff --git a/win32/scripts/test-bareos-fd.conf.in b/win32/scripts/test-bareos-fd.conf.in deleted file mode 100644 index ca25b46..0000000 --- a/win32/scripts/test-bareos-fd.conf.in +++ /dev/null @@ -1,32 +0,0 @@ -# -# Default Bareos File Daemon Configuration file -# -# For Bareos release 1.33 -# -# There is not much to change here except perhaps the -# File daemon Name to -# - -# -# List Directors who are permitted to contact this File daemon -# -Director { - Name = @hostname@-dir - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" -} - -# -# "Global" File daemon configuration specifications -# -FileDaemon { # this is me - Name = @hostname@-fd - FDport = 8102 # where we listen for the director - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# Send all messages except skipped files back to Director -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/test-bareos-sd.conf.in b/win32/scripts/test-bareos-sd.conf.in deleted file mode 100644 index 5386e66..0000000 --- a/win32/scripts/test-bareos-sd.conf.in +++ /dev/null @@ -1,106 +0,0 @@ -# -# Default Bareos Storage Daemon Configuration file -# -# For Bareos release 1.33 -# -# You may need to change the name of your tape drive -# on the "Archive Device" directive in the Device -# resource. If you change the Name and/or the -# "Media Type" in the Device resource, please ensure -# that dird.conf has corresponding changes. -# - -Storage { # definition of myself - Name = @hostname@-sd - SDPort = 8103 # Director's port - WorkingDirectory = "@working_dir@" - Pid Directory = "@piddir@" -} - -# -# List Directors who are permitted to contact Storage daemon -# -Director { - Name = @hostname@-dir - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" -} - -# -# Devices supported by this Storage daemon -# To connect, the Director's bareos-dir.conf must have the -# same Name and MediaType. -# - -Device { - Name = FileStorage - Media Type = File - Archive Device = @tmpdir@ - LabelMedia = yes; # lets Bareos label unlabelled media - Random Access = Yes; - AutomaticMount = yes; # when device opened, read it - RemovableMedia = no; - AlwaysOpen = no; -# Maximum File Size = 10KB -} - -Device { - Name = FileStorage1 - Media Type = File1 - Archive Device = @tmpdir@ - LabelMedia = yes; # lets Bareos label unlabelled media - Random Access = Yes; - AutomaticMount = yes; # when device opened, read it - RemovableMedia = no; - AlwaysOpen = no; -} - - -#Device { -# Name = "HP DLT 80" -# Media Type = DLT8000 -# Archive Device = /dev/nst0 -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = yes; -# RemovableMedia = yes; -#} - -#Device { -# Name = SDT-7000 # -# Media Type = DDS-2 -# Archive Device = /dev/nst0 -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = yes; -# RemovableMedia = yes; -#} - -#Device { -# Name = Floppy -# Media Type = Floppy -# Archive Device = /mnt/floppy -# RemovableMedia = yes; -# Random Access = Yes; -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = no; -#} - -# -# A very old Exabyte with no end of media detection -# -#Device { -# Name = "Exabyte 8mm" -# Media Type = "8mm" -# Archive Device = /dev/nst0 -# Hardware end of medium = No; -# AutomaticMount = yes; # when device opened, read it -# AlwaysOpen = Yes; -# RemovableMedia = yes; -#} - -# -# Send all messages to the Director, -# mount messages also are sent to the email address -# -Messages { - Name = Standard - director = @hostname@-dir = all, !terminate -} diff --git a/win32/scripts/test-console.conf.in b/win32/scripts/test-console.conf.in deleted file mode 100644 index b725555..0000000 --- a/win32/scripts/test-console.conf.in +++ /dev/null @@ -1,10 +0,0 @@ -# -# Bareos User Agent (or Console) Configuration File -# - -Director { - Name = @hostname@-dir - DIRport = 8101 - address = @hostname@ - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" -} diff --git a/win32/scripts/testa-bareos-dir.conf.in b/win32/scripts/testa-bareos-dir.conf.in deleted file mode 100644 index c84a44c..0000000 --- a/win32/scripts/testa-bareos-dir.conf.in +++ /dev/null @@ -1,146 +0,0 @@ -# -# TestA Bareos Director Configuration file -# -# For Bareos release 1.30 (12 April 2003) -- redhat 7.3 -# - -Director { # define myself - Name = @hostname@-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 1 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password - Messages = Standard -} - - -Job { - Name = "MultiVol" - Type = Backup - Client=@hostname@-fd - Level = Full - FileSet="Full Set" - Storage = File - Messages = Standard - Write Bootstrap = "@working_dir@/SmallVols.bsr" - Pool = SmallVols - SpoolData = yes -} - - -Job { - Name = "VerifyVolume" - Type = Verify - Level = VolumeToCatalog - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" -} - - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=@hostname@-fd - FileSet="Full Set" - Storage = File - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Include { Options { signature=SHA1 } - File =<@tmpdir@/file-list - } -} - - -# Client (File Services) to backup -Client { - Name = @hostname@-fd - Address = @hostname@ - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files -} - -# Definiton of file storage device -Storage { - Name = File - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage - Media Type = File -} - -Storage { - Name = File1 - Address = @hostname@ # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" - Device = FileStorage1 - Media Type = File1 -} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: Intervention needed for %j\" %r" - MailOnError = @job_email@ = all, !terminate - operator = @job_email@ = mount - console = all, !skipped, !terminate - - append = "@working_dir@/log" = all, !skipped -} - -Messages { - Name = NoEmail - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - console = all, !skipped, !terminate, !restored - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} - -Pool { - Name = SmallVols - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year - Maximum Volumes = 10 - MaximumVolumeBytes = 10M - LabelFormat = Small -} diff --git a/win32/scripts/win32-bareos-dir-tape.conf.in b/win32/scripts/win32-bareos-dir-tape.conf.in deleted file mode 100644 index 9f73fe4..0000000 --- a/win32/scripts/win32-bareos-dir-tape.conf.in +++ /dev/null @@ -1,159 +0,0 @@ -# -# Default Bareos Director Configuration file -# -# The only thing that MUST be changed is to add one or more -# file or directory names in the Include directive of the -# FileSet resource. -# -# For Bareos release 1.39.23 -# -# You might also want to change the default email address -# from root to your address. See the "mail" and "operator" -# directives in the Messages resource. -# - -Director { # define myself - Name = localhost-dir - DIRport = 8101 # where we listen for UA connections - QueryFile = "@scriptdir@/query.sql" - WorkingDirectory = "@working_dir@" - PidDirectory = "@piddir@" - Maximum Concurrent Jobs = 4 - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - Messages = Daemon -} - -# -# Define the main nightly save backup job -# By default, this job will back up to disk in @tmpdir@ -Job { - Name = "NightlySave" - Type = Backup - Client=Tibs - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Write Bootstrap = "@working_dir@/NightlySave.bsr" - Maximum Concurrent Jobs = 4 - SpoolData = yes -} - - -# Standard Restore template, to be changed by Console program -Job { - Name = "RestoreFiles" - Type = Restore - Client=Tibs - FileSet="Full Set" - Storage = DDS-4 - Messages = Standard - Pool = Default - Where = @tmpdir@/bareos-restores -} - - -# List of files to be backed up -FileSet { - Name = "Full Set" - Enable VSS = yes - Include { Options { signature=MD5; portable=no - compression=GZIP } -# File = "c:/cygwin" # big - File = "c:/cygwin/home/kern/bareos/k" - } -} - - -# -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - Run = Full 1st sun at 1:05 - Run = Differential 2nd-5th sun at 1:05 - Run = Incremental mon-sat at 1:05 -} - -# Client (File Services) to backup -Client { - Name = Tibs - Address = tibs - FDPort = 9102 - Catalog = MyCatalog - Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - -Client { - Name = localhost-fd - Address = localhost - FDPort = 8102 - Catalog = MyCatalog - Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" - File Retention = 30d # 30 days - Job Retention = 180d # six months - AutoPrune = yes # Prune expired Jobs/Files - Maximum Concurrent Jobs = 4 -} - - -# Definition of DDS tape storage device -Storage { - Name = DDS-4 - Address = 192.168.68.112 # N.B. Use a fully qualified name here - SDPort = 8103 - Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon - Device = DDS-4 # must be same as Device in Storage daemon - Media Type = DDS-4 # must be same as MediaType in Storage daemon - AutoChanger = yes - Maximum Concurrent Jobs = 4 -} - - -# Generic catalog service -Catalog { - Name = MyCatalog - dbname = bareos; user = bareos; password = "" -} - -# Reasonable message delivery -- send most everything to email address -# and to the console -Messages { - Name = Standard - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: %t %e of %c %l\" %r" - operatorcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos Regression\) %r\" -s \"Bareos: 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 -# time to time as it will grow indefinitely. However, it will -# also keep all your messages if the scroll off the console. -# - append = "@working_dir@/log" = all, !skipped -} - -# -# Message delivery for daemon messages (no job). -Messages { - Name = Daemon - mailcommand = "@smtp_program@ -h @smtp_host@ -f \"\(Bareos\) %r\" -s \"Bareos daemon message\" %r" - mail = @job_email@ = all, !skipped - console = all, !skipped, !saved - append = "@working_dir@/log" = all, !skipped -} - - -# Default pool definition -Pool { - Name = Default - Pool Type = Backup - Recycle = yes # Bareos can automatically recycle Volumes - AutoPrune = yes # Prune expired volumes - Volume Retention = 365d # one year -} diff --git a/win32/scripts/win32_tape_options b/win32/scripts/win32_tape_options deleted file mode 100644 index 601eb82..0000000 --- a/win32/scripts/win32_tape_options +++ /dev/null @@ -1 +0,0 @@ -# nothing needed for Linux diff --git a/win32/starttime.py b/win32/starttime.py deleted file mode 100644 index 5e57632..0000000 --- a/win32/starttime.py +++ /dev/null @@ -1,5 +0,0 @@ -from time import time as now - -fn = open('time.out', 'w+') -fn.write('%s' % now()) -fn.close() diff --git a/win32/tape.cmd b/win32/tape.cmd deleted file mode 100644 index 9002f73..0000000 --- a/win32/tape.cmd +++ /dev/null @@ -1 +0,0 @@ -CALL all-non-root-tape-tests diff --git a/win32/tests/2drive-3pool-test.1.bscr b/win32/tests/2drive-3pool-test.1.bscr deleted file mode 100644 index 79e9e4f..0000000 --- a/win32/tests/2drive-3pool-test.1.bscr +++ /dev/null @@ -1,23 +0,0 @@ -@output nul -messages -@@out@ @topdir@/tmp/log1.out -setdebug level=51 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Full drive=1 -@#label storage=DDS-4 volume=TestVolume003 slot=3 Pool=Inc drive=2 -status storage=DDS-4 -@#run job=@JobName@ level=Full Pool=Inc yes -run job=@JobName@ level=Full Pool=Full yes -run job=@JobName@ level=Full Pool=Default yes -setdebug level=200 storage=DDS-4 -run job=@JobName@ level=Full Pool=Default yes -run job=@JobName@ level=Full Pool=Default yes -@sleep 10 -status storage=DDS-4 -list volumes -wait -list volumes -list jobs -status storage=DDS-4 -messages -quit diff --git a/win32/tests/2drive-3pool-test.2.bscr b/win32/tests/2drive-3pool-test.2.bscr deleted file mode 100644 index 300ccc7..0000000 --- a/win32/tests/2drive-3pool-test.2.bscr +++ /dev/null @@ -1,12 +0,0 @@ -@@out@ @topdir@/tmp/log1.out -messages -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/2drive-3pool-test.cmd b/win32/tests/2drive-3pool-test.cmd deleted file mode 100644 index e98333d..0000000 --- a/win32/tests/2drive-3pool-test.cmd +++ /dev/null @@ -1,42 +0,0 @@ -REM Run a simple backup of the Bareos build directory. Create three -REM tapes, each in a different pool, then run some jobs asking for the -REM volume on drive three. It should find it without moving the -REM volume. -REM -REM This script uses the virtual disk autochanger and two drives -REM -SET TestName="2drive-3pool-disk" -SET JobName="2dr3pooldisk" - -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-2disk-drive-confs -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM Turn off Prefer Mounted Volumes so we use 2 drives -REM outf="tmp/sed_tmp" -REM ECHO "s%REM Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} -REM cp bin/bareos-dir.conf tmp/1 -REM Comment the next line out to write everything to one drive -REM otherwise, it writes the two jobs to different drives -REM sed -f ${outf} tmp/1 >bin/bareos-dir.conf - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-3pool-test.1.bscr >tmp\bconcmds -CALL scripts\functions run_bareos - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-3pool-test.2.bscr >tmp\bconcmds -CALL scripts\functions run_bconsole - -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff - -CALL scripts\functions end_test diff --git a/win32/tests/2drive-concurrent-test.bscr b/win32/tests/2drive-concurrent-test.bscr deleted file mode 100644 index ff9a558..0000000 --- a/win32/tests/2drive-concurrent-test.bscr +++ /dev/null @@ -1,64 +0,0 @@ -@output nul -messages -@@out@ @topdir@/tmp/log1.out -label pool=Default storage=DDS-4 volume=TestVolume001 slot=1 drive=0 -label pool=Default storage=DDS-4 volume=TestVolume002 slot=2 drive=1 -update Volume=TestVolume001 MaxVolBytes=100000000 -@#50000000 -@#12 -setdebug level=001 Storage=DDS-4 -status storage=DDS-4 -llist volume=TestVolume001 -llist volume=TestVolume002 -run job=@JobName@ level=Full Storage=DDS-4 -yes -reload -llist volume=TestVolume001 -llist volume=TestVolume002 -run job=@JobName@ level=Full Storage=DDS-4 -yes -reload -llist volume=TestVolume001 -llist volume=TestVolume002 -run job=@JobName@ level=Full Storage=DDS-4 -yes -reload -llist volume=TestVolume001 -llist volume=TestVolume002 -status storage=DDS-4 -run job=@JobName@ level=Full Storage=DDS-4 -yes -status storage=DDS-4 -reload -reload -reload -reload -@sleep 2 -status dir -status storage=DDS-4 -llist volume=TestVolume001 -llist volume=TestVolume002 -reload -@sleep 5 -messages -reload -reload -wait -status storage=DDS-4 -reload -messages -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -reload -reload -messages -@output -quit diff --git a/win32/tests/2drive-concurrent-test.cmd b/win32/tests/2drive-concurrent-test.cmd deleted file mode 100644 index bbfec31..0000000 --- a/win32/tests/2drive-concurrent-test.cmd +++ /dev/null @@ -1,26 +0,0 @@ -REM Run four jobs at the same time, with two Volumes. -REM Set max Vol bytes of first volume -REM to less than total backup to force Bareos to use the second -REM Volume. -REM -SET TestName="2drive-concurrent-test" -SET JobName=Four-concurrent-jobs -CALL CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-2disk-drive-confs -CALL scripts\prepare-two-disks -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-concurrent-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/2drive-incremental-2disk.1.bscr b/win32/tests/2drive-incremental-2disk.1.bscr deleted file mode 100644 index 64f7792..0000000 --- a/win32/tests/2drive-incremental-2disk.1.bscr +++ /dev/null @@ -1,20 +0,0 @@ -@output nul -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=1 -status storage=DDS-4 -@#setdebug level=120 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 diff --git a/win32/tests/2drive-incremental-2disk.2.bscr b/win32/tests/2drive-incremental-2disk.2.bscr deleted file mode 100644 index 4cb171d..0000000 --- a/win32/tests/2drive-incremental-2disk.2.bscr +++ /dev/null @@ -1,25 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -@# Force Incremental on the second Volume -update volume=TestVolume001 VolStatus=Used -status storage=DDS-4 -@#setdebug level=120 storage=DDS-4 -run level=Incremental job=NightlySave yes -wait -list volumes -status storage=DDS-4 -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores -7 -<@topdir@/tmp/restore-list - -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/2drive-incremental-2disk.cmd b/win32/tests/2drive-incremental-2disk.cmd deleted file mode 100644 index 4d2254e..0000000 --- a/win32/tests/2drive-incremental-2disk.cmd +++ /dev/null @@ -1,57 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do an Incremental and restore those two files. -REM -REM This script uses the virtual disk autochanger and two drives -REM -SET TestName=2drive-incremental-2disk -SET JobName=2drive2disk - -CALL config_out -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-2disk-drive-confs >nul 2>&1 -CALL scripts\prepare-two-disks - -CALL scripts\functions change_jobname localhost-fd %JobName% -CALL scripts\functions start_test - -ECHO %CD:\=/%/tmp/build >tmp\file-list -IF NOT EXIST tmp\build MKDIR tmp\build -COPY build\src\dird\*.c tmp\build >nul 2>&1 - -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -REM Turn off Prefer Mounted Volumes so we use2 drives -COPY bin\bareos-dir.conf tmp\1 >nul 2>&1 -REM Comment the next line out to write everything to one drive -REM otherwise, it writes the two jobs to different drives -sed -e "s;# Prefer Mounted Volumes; Prefer Mounted Volumes;g" tmp\1 >bin\bareos-dir.conf - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-incremental-2disk.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\2drive-incremental-2disk.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -REM The restore should read from TestVolume002, which was on drive 1 -grep TestVolume002 tmp\log2.out >nul 2>&1 -IF %ERRORLEVEL% NEQ 0 SET rstat=%ERRORLEVEL% - -REM -REM Delete .c files because we will only restored the txt files -REM -DEL tmp\build\*.c -CALL scripts\functions check_restore_tmp_build_diff - -CALL scripts\functions end_test diff --git a/win32/tests/2drive-incremental-2tape b/win32/tests/2drive-incremental-2tape deleted file mode 100644 index 6ae00f3..0000000 --- a/win32/tests/2drive-incremental-2tape +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory then create some -# new files, do an Incremental and restore those two files. -# -# This script uses the autochanger and two tapes -# -. config.out -if test x${TAPE_DRIVE1} = x/dev/null ; then - echo "Skipping 2drive-incremenatal-2tape test. No second drive." - exit -fi -TestName="2drive-incremental-2tape" -JobName="2drive2tape" -. scripts/functions -set_debug 0 - -cwd=`pwd` - -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="tmp/sed_tmp" -echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} -cp ${cwd}/bin/bareos-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/bareos-dir.conf - -start_test - -# Write out bconsole commands -cat <tmp/bconcmds -@output /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=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_bareos - -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out 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 tmp/log2.out -restore where=${cwd}/tmp/bareos-restores -7 -<${cwd}/tmp/restore-list - -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c -check_restore_tmp_build_diff - -end_test diff --git a/win32/tests/auto-label-test.bscr b/win32/tests/auto-label-test.bscr deleted file mode 100644 index da74e30..0000000 --- a/win32/tests/auto-label-test.bscr +++ /dev/null @@ -1,35 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -status all -status all -list pools -messages -@#setdebug level=110 storage=File -run job=@JobName@ storage=File yes -list pools -list volumes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -count -ls * -dir * -find Makefile -pwd -lsmark -estimate -? -help -done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/auto-label-test.cmd b/win32/tests/auto-label-test.cmd deleted file mode 100644 index f90e2d5..0000000 --- a/win32/tests/auto-label-test.cmd +++ /dev/null @@ -1,27 +0,0 @@ -REM -REM Test if Bareos can automatically create a Volume label. -REM - -SET TestName=auto-label-test -SET JobName=AutoLabel - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -COPY bin\bareos-dir.conf tmp\1 -sed -e "s;# Label Format; Label Format;" tmp\1 >bin\bareos-dir.conf - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\auto-label-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/backup-bareos-tape b/win32/tests/backup-bareos-tape deleted file mode 100644 index 530d6a6..0000000 --- a/win32/tests/backup-bareos-tape +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-bareos-tape" -JobName=backuptape -. scripts/functions -set_debug 0 - -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 <tmp/bconcmds -@output /dev/null -messages -@$out 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 tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -# -# 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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -list volumes -run job=$JobName yes -wait -list volumes -messages -@# -@# now do a second restore -@# -@$out tmp/log2.out -list volumes -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -list volumes -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/backup-bareos-test.bscr b/win32/tests/backup-bareos-test.bscr deleted file mode 100644 index 8e8aa8f..0000000 --- a/win32/tests/backup-bareos-test.bscr +++ /dev/null @@ -1,37 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label volume=TestVolume001 -1 -@#setdebug level=100 storage=File -run job=@JobName@ yes -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -@sleep 1 -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -@sleep 1 -status storage=File -status storage=File -status storage=File -status storage=File -status storage=File -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/backup-bareos-test.cmd b/win32/tests/backup-bareos-test.cmd deleted file mode 100644 index e6a58e6..0000000 --- a/win32/tests/backup-bareos-test.cmd +++ /dev/null @@ -1,24 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory -REM then restore it. -REM - -SET TestName=backup-bareos-test -SET JobName=backup -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-confs >nul 2>&1 - -CALL scripts\functions change_jobname Client1 %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\backup-bareos-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/backup-win32-tape b/win32/tests/backup-win32-tape deleted file mode 100644 index 361415d..0000000 --- a/win32/tests/backup-win32-tape +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# -TestName="backup-win32-tape" -JobName=backupwintape -. scripts/functions -set_debug 0 - -scripts/cleanup-tape -scripts/copy-win32-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=NightlySave yes -@sleep 10 -status storage=DDS-4 -@sleep 30 -messages -wait -messages -@# -@# now do a restore -@# -@$outt tmp/log2.out -@#restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -@#yes -@#wait -@#messages -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/bextract-test.bscr b/win32/tests/bextract-test.bscr deleted file mode 100644 index d022a8c..0000000 --- a/win32/tests/bextract-test.bscr +++ /dev/null @@ -1,21 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File1 volume=TestVolume001 -label storage=File1 volume=TestVolume002 -update Volume=TestVolume001 MaxVolBytes=3000000 -@#setdebug level=400 dir -@#setdebug level=400 storage=File1 -run job=@JobName@ storage=File1 yes -wait -messages -@# -@# now build the bsr file -@# -@@out@ tmp/log2.out -restore bootstrap=@topdir@/working/restore.bsr where=@topdir@/tmp/bareos-restores select all storage=File1 done -no -wait -messages -@@out@ -quit diff --git a/win32/tests/bextract-test.cmd b/win32/tests/bextract-test.cmd deleted file mode 100644 index ddd92a9..0000000 --- a/win32/tests/bextract-test.cmd +++ /dev/null @@ -1,29 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM split the archive into two volumes, then build a BSR with -REM the restore command and use bextract to restore the files. -REM -SET TestName=bextract-test -SET JobName=bextract - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bextract-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -MKDIR tmp\bareos-restores -bin\bextract -b working/restore.bsr -c bin/bareos-sd.conf %CD:\=/%/tmp %CD:\=/%/tmp/bareos-restores 2>&1 >nul -SET rstat=%ERRORLEVEL% -grep "^ Termination: *Backup OK" tmp\log1.out 2>&1 >nul -SET bstat=%ERRORLEVEL% -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/big-vol-test.1.bscr b/win32/tests/big-vol-test.1.bscr deleted file mode 100644 index c1c1123..0000000 --- a/win32/tests/big-vol-test.1.bscr +++ /dev/null @@ -1,24 +0,0 @@ -@output nul -messages -@@out@ @topdir@/tmp/log1.out -sql -UPDATE Media SET Volbytes=@size@ WHERE VolumeName='TestVolume001'; - -llist volume=TestVolume001 -@# Now do another full save with big Volume -run level=Full job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -sql -SELECT * FROM JobMedia; - -@output @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File select all done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/big-vol-test.2.bscr b/win32/tests/big-vol-test.2.bscr deleted file mode 100644 index ae3ceb4..0000000 --- a/win32/tests/big-vol-test.2.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@output nul -messages -@@out@ @topdir@/tmp/log1.out -@#setdebug level=100 storage=File -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/big-vol-test.cmd b/win32/tests/big-vol-test.cmd deleted file mode 100644 index 76f8ea3..0000000 --- a/win32/tests/big-vol-test.cmd +++ /dev/null @@ -1,44 +0,0 @@ -REM Create a big Volume > 5 GB and backup to it to test disk -REM seeking on big volumes. We cheat and artifically grow -REM the volume. -SET TestName="big-vol-test" -SET JobName=bigvol - -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-test-confs -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\big-vol-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -REM -REM Now increase the size of the Volume using gigaslam -REM -CD %CD%\tmp -REM make big file -SET size=5200000000 -%CD%/build/src/tools/grow TestVolume001 %size% -IF NOT ERRORLEVEL 0 GOTO ERROR -CD %CD% - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" -e "s;@size@;%size%;g" tests\big-vol-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test -REM Get rid of big files -DEL /F %CD%\tmp\TestVolume001 - -:ERROR -ECHO Execute of %CD%\build\src\tools\grow failed. diff --git a/win32/tests/bscan-fast-tape b/win32/tests/bscan-fast-tape deleted file mode 100644 index d3cea34..0000000 --- a/win32/tests/bscan-fast-tape +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-tape" -JobName=bscantape -. scripts/functions -set_debug 1 - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -# sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -change_jobname NightlySave $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -setdebug level=2 storage=DDS-4 -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -quit -END_OF_DATA - -echo "Starting Bareos tape writing" -#bin/btape -c bin/bareos-sd.conf /dev/nst0 </dev/null 2>&1 -./make_bareos_tables >/dev/null 2>&1 -./grant_bareos_privileges 2>&1 >/dev/null -cd .. - -echo "Begin attempt to read tape that crashes the system" -echo "volume=TestVolume001" >tmp/bscan.bsr -strace -o strace.new bin/bscan -d200 -w working -m -s -v -b tmp/bscan.bsr -c bin/bareos-sd.conf DDS-4 -exit -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log2.out -@# -@# now do a restore -@# -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos -rm -f ${cwd}/build/src/lib/dummy - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/bscan-tape b/win32/tests/bscan-tape deleted file mode 100644 index 5dc7d58..0000000 --- a/win32/tests/bscan-tape +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-tape" -JobName=bscantape -. scripts/functions -set_debug 0 - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -change_jobname NightlySave $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -estimate job=$JobName listing -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 yes -wait -run job=$JobName level=Full yes -wait -run job=$JobName level=Full yes -wait -messages -quit -END_OF_DATA - -run_bareos -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_bareos -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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA - -run_bareos -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 -# -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA - -run_bareos - -scripts/check_for_zombie_jobs storage=DDS-4 -stop_bareos - -echo "Backup 4 done" -# -# now drop and recreate the database -# -cd bin -./drop_bareos_tables >/dev/null 2>&1 -./make_bareos_tables >/dev/null 2>&1 -./grant_bareos_privileges 2>&1 >/dev/null -cd .. - -echo "volume=TestVolume001" >tmp/bscan.bsr -bin/bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bareos-sd.conf DDS-4 2>&1 >/dev/null - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log2.out -@# -@# now do a restore -@# -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos -rm -f ${cwd}/build/src/lib/dummy - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/bscan-test.1.bscr b/win32/tests/bscan-test.1.bscr deleted file mode 100644 index 2ed6803..0000000 --- a/win32/tests/bscan-test.1.bscr +++ /dev/null @@ -1,24 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=File1 -TestVolume001 -label storage=File1 -TestVolume002 -update Volume=TestVolume001 MaxVolBytes=3000000 -run job=@JobName@ storage=File1 -yes -wait -messages -@@out@ nul -@# -@# now purge the Volume -@# -purge volume=TestVolume001 -purge volume=TestVolume002 -delete volume=TestVolume001 -yes -delete volume=TestVolume002 -yes -messages -quit diff --git a/win32/tests/bscan-test.2.bscr b/win32/tests/bscan-test.2.bscr deleted file mode 100644 index cabd6ee..0000000 --- a/win32/tests/bscan-test.2.bscr +++ /dev/null @@ -1,13 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log2.out -@# -@# now do a restore -@# -@#setdebug level=400 storage=File1 -restore bootstrap=@topdir@/tmp/bscan.bsr where=@topdir@/tmp/bareos-restores select all storage=File1 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/bscan-test.cmd b/win32/tests/bscan-test.cmd deleted file mode 100644 index 3a6755a..0000000 --- a/win32/tests/bscan-test.cmd +++ /dev/null @@ -1,42 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM split the archive into two volumes then bscan it -REM into the catalog after the backup. It also to a limited -REM extent tests the purge volume and delete volume commands. -REM - -SET TestName=bscan-test -SET JobName=bscan - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bscan-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -ECHO volume=TestVolume001^|TestVolume002 >tmp\bscan.bsr - -IF %debug% EQU 1 ( - bin\bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bareos-sd.conf %CD:\=/%/tmp | tee tmp\log.out -) ELSE ( - bin\bscan -w working -m -s -v -b tmp/bscan.bsr -c bin/bareos-sd.conf %CD:\=/%/tmp >nul 2>&1 -) - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bscan-test.2.bscr >tmp\bconcmds - -REM now run restore -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/bsr-opt-test.bscr b/win32/tests/bsr-opt-test.bscr deleted file mode 100644 index cafdcdd..0000000 --- a/win32/tests/bsr-opt-test.bscr +++ /dev/null @@ -1,24 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=File1 volume=TestVolume001 -label storage=File1 volume=TestVolume002 -update Volume=TestVolume001 MaxVolBytes=3000000 -run job=@JobName@ storage=File1 yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore bootstrap=@topdir@/working/restore.bsr where=@topdir@/tmp/bareos-restores select storage=File1 -unmark * -cd @topdir@/build/src/cats -mark * -ls -done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/bsr-opt-test.cmd b/win32/tests/bsr-opt-test.cmd deleted file mode 100644 index f6675d0..0000000 --- a/win32/tests/bsr-opt-test.cmd +++ /dev/null @@ -1,57 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM split the archive into two volumes, then restore -REM files on only one of the volumes and ensure that -REM the other volume is not used. I.e. bsr optimization -REM works. -REM -SET TestName=bsr-opt-test -SET JobName=bsr-opt - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\bsr-opt-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos -REM -REM This test is not really reliable. What we want to do is -REM to select files on only one Volume, then insure here -REM that only one Volume is chosen. -REM -grep TestVolume002 working\restore.bsr >nul 2>&1 -SET bsrstat=%ERRORLEVEL% -CALL scripts\functions check_two_logs - -diff -r build\src\cats tmp\bareos-restores\%CD::=%\build\src\cats >nul 2>&1 -SET /A errcount = %bsrstat% + %bstat% + %rstat% -IF %errcount% NEQ 0 ( - ECHO. - ECHO. - ECHO !!!!! bsr-opt-test Bareos source failed!!! !!!!! - ECHO !!!!! bsr-opt-test failed!!! !!!!! >>test.out - - SET /A errcount = %bstat% + %rstat% - IF %errcount% NEQ 0 ( - ECHO !!!!! Bad Job termination status !!!!! - ECHO !!!!! Bad Job termination status !!!!! >>test.out - ) ELSE IF %bsrstat% NEQ 0 ( - ECHO !!!!! Volume selection error !!!!! - ECHO !!!!! Volume selection error !!!!! >>test.out - ) ELSE ( - ECHO !!!!! Restored files differ !!!!! - ECHO !!!!! Restored files differ !!!!! >>test.out - ) - ECHO. -) ELSE ( - ECHO ===== bsr-opt-test Bareos source OK %TIME% ===== - ECHO ===== bsr-opt-test OK %TIME% ===== >>test.out - CALL scripts\cleanup -) diff --git a/win32/tests/btape-fill-full-tape b/win32/tests/btape-fill-full-tape deleted file mode 100644 index b321c71..0000000 --- a/win32/tests/btape-fill-full-tape +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# -# Test the fill command in btape -# -TestName="btape-fill-full-tape" -JobName=AutoLabel -. scripts/functions -set_debug 0 - -scripts/copy-tape-confs -scripts/cleanup-tape - -change_jobname $JobName -start_test - -bin/btape -c bin/bareos-sd.conf DDS-4 <&1 >tmp/log1.out -fill -s - -quit -END_OF_DATA - - -grep "^The last block on the tape matches\. Test succeeded\." 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/win32/tests/btape-fill-tape b/win32/tests/btape-fill-tape deleted file mode 100644 index 8c1213a..0000000 --- a/win32/tests/btape-fill-tape +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# -# Test the fill command in btape -# -TestName="btape-fill-tape" -JobName=filltape -. scripts/functions -set_debug 0 - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# MaximumVolumeSize% MaximumVolumeSize%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -start_test - -cat <tmp/bconcmds -fill -s -quit -END_OF_DATA - -run_btape DDS-4 - -grep "^The last block on the tape matches\. Test succeeded\." 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/win32/tests/compressed-test.bscr b/win32/tests/compressed-test.bscr deleted file mode 100644 index b099fc5..0000000 --- a/win32/tests/compressed-test.bscr +++ /dev/null @@ -1,23 +0,0 @@ -@output -messages -@@out@ tmp/log1.out -status all -status all -messages -label storage=File volume=TestVolume001 -run job=@JobName@ storage=File yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/compressed-test.cmd b/win32/tests/compressed-test.cmd deleted file mode 100644 index 8ee9390..0000000 --- a/win32/tests/compressed-test.cmd +++ /dev/null @@ -1,24 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the compressed option -REM then restore it. -REM -SET TestName=compressed-test -SET JobName=compressed - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\compressed-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/concurrent-jobs-test.bscr b/win32/tests/concurrent-jobs-test.bscr deleted file mode 100644 index e8f850b..0000000 --- a/win32/tests/concurrent-jobs-test.bscr +++ /dev/null @@ -1,23 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ level=Full yes -run job=@JobName@ level=Full yes -run job=@JobName@ level=Full yes -run job=@JobName@ level=Full yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/concurrent-jobs-test.cmd b/win32/tests/concurrent-jobs-test.cmd deleted file mode 100644 index 308402f..0000000 --- a/win32/tests/concurrent-jobs-test.cmd +++ /dev/null @@ -1,35 +0,0 @@ -REM -REM Run two jobs at the same time -REM - -SET TestName=concurrent-jobs-test -SET JobName=concurrent-jobs - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/largefile >tmp\file-list -ECHO Creating a 50MB file with bareos-dir data ... -dd if=bin/bareos-dir.exe of=%CD:\=/%/tmp/1 bs=1024 count=512 >nul 2>&1 -COPY /b tmp\1+tmp\1+tmp\1+tmp\1 tmp\2 >nul 2>&1 -DEL tmp\1 -COPY /b tmp\2+tmp\2+tmp\2+tmp\2+tmp\2 tmp\3 >nul 2>&1 -DEL tmp\2 -COPY /b tmp\3+tmp\3+tmp\3+tmp\3+tmp\3 tmp\largefile >nul 2>&1 -DEL tmp\3 - -ECHO largefile created - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\concurrent-jobs-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -diff tmp\largefile tmp\bareos-restores\%CD::=%\tmp\largefile >nul 2>&1 -SET dstat=%ERRORLEVEL% -CALL scripts\functions end_test diff --git a/win32/tests/dev-test-root b/win32/tests/dev-test-root deleted file mode 100644 index 50734cd..0000000 --- a/win32/tests/dev-test-root +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== !!!! dev-test-root not run !!!! ===== " - echo " ===== !!!! dev-test-root not run !!!! ===== " >>test.out - echo " " - exit 1 -fi -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -echo "/dev" >${cwd}/tmp/file-list - -echo " " -echo " " -echo " === Starting dev-test-root test ===" -echo " " -echo " === Note, this test can fail for trivial ===" -echo " === reasons on non-Linux systems. ===" -echo " " -echo " " - -bin/bareos start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/original -cd ${cwd}/tmp/bareos-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test dev >${cwd}/tmp/restored -cd ${cwd}/tmp -# -# Use sed to cut out parts that *always* change -# -cat >sed.scr <1 -sed -f sed.scr 1 | sort >original -# -mv -f restored 1 -sed -f sed.scr 1 | sort >restored -rm -f sed.scr -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== !!!! dev-test-root failed !!!! ===== " - echo " ===== !!!! dev-test-root failed !!!! ===== " >>test.out - echo " " -else - echo " ===== dev-test-root OK ===== " - echo " ===== dev-test-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/win32/tests/differential-test.1.bscr b/win32/tests/differential-test.1.bscr deleted file mode 100644 index 5b23122..0000000 --- a/win32/tests/differential-test.1.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume002 -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/differential-test.2.bscr b/win32/tests/differential-test.2.bscr deleted file mode 100644 index c8ddb49..0000000 --- a/win32/tests/differential-test.2.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -@# Force differential on the second Volume -update volume=TestVolume002 VolStatus=Used -run level=differential job=@JobName@ yes -wait -messages -@@out@ diff --git a/win32/tests/differential-test.3.bscr b/win32/tests/differential-test.3.bscr deleted file mode 100644 index b8455a5..0000000 --- a/win32/tests/differential-test.3.bscr +++ /dev/null @@ -1,16 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -run level=incremental job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File file=<@topdir@/tmp/restore-list -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/differential-test.cmd b/win32/tests/differential-test.cmd deleted file mode 100644 index 9baef62..0000000 --- a/win32/tests/differential-test.cmd +++ /dev/null @@ -1,48 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do a differential and restore those two files. -REM -SET TestName=differential-test -SET JobName=differential - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/build >tmp\file-list -MKDIR tmp\build -COPY build\src\dird\*.c tmp\build >nul 2>&1 - -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -CALL scripts\functions check_for_zombie_jobs storage=File -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\differential-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -REM -REM Delete .c files because we will only restore the txt files -REM -DEL tmp\build\*.c -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/encrypt-bug-test.bscr b/win32/tests/encrypt-bug-test.bscr deleted file mode 100644 index ace61e5..0000000 --- a/win32/tests/encrypt-bug-test.bscr +++ /dev/null @@ -1,22 +0,0 @@ -@@out@ nul -messages -@@out@ @topdir@/tmp/log1.out -label storage=File volume=TestVolume001 -setdebug level=100 fd -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -setdebug level=100 fd -restore where=@topdir@/tmp/bareos-restores storage=File -5 -mark * -done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/encrypt-bug-test.cmd b/win32/tests/encrypt-bug-test.cmd deleted file mode 100644 index 9580338..0000000 --- a/win32/tests/encrypt-bug-test.cmd +++ /dev/null @@ -1,33 +0,0 @@ -REM Run a simple backup of untitled15.jpg that fails to -REM restore properly in bug REM763 -REM -SET TestName="encrypt-bug-test" -SET JobName=Crypto-bug -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-crypto-confs -ECHO %CD%/encrypt-bug.jpg >tmp/file-list -ECHO %CD%/encrypt-bug.jpg >tmp/restore-list -ECHO %CD%/encrypt-bug.txt >>tmp/file-list -ECHO %CD%/encrypt-bug.txt >>tmp/restore-list -ECHO %CD%/encrypt-bug2.txt >>tmp/file-list -ECHO %CD%/encrypt-bug2.txt >>tmp/restore-list -SET files="encrypt-bug.jpg encrypt-bug.txt encrypt-bug2.txt" -mkdir -p %CD%\tmp\build -for i in %files% do XCOPY /k %CD%\encrypt-bug*.* %CD%\tmp\build - -CALL scripts\functions change_jobname NightlySave @JobName@ -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\encrypt-bug-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -sleep 2 -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -diff %CD%\tmp\build %CD%\tmp\bareos-restores\%CD% -SET dstat=%ERRORLEVEL% -CALL scripts\functions end_test diff --git a/win32/tests/eot-fail-tape b/win32/tests/eot-fail-tape deleted file mode 100644 index 7359a84..0000000 --- a/win32/tests/eot-fail-tape +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to two tapes where the maximum tape file size is set to 1M -# -TestName="eot-fail-tape" -JobName=eotfailtape -. scripts/functions -set_debug 0 - -scripts/cleanup-tape -scripts/copy-tape-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -out="tmp/sed_tmp" -echo "s%# Maximum File Size% Maximum File Size%g" >${out} -cp -f ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed -f ${out} ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -change_jobname $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -update Volume=TestVolume001 MaxVolBytes=3000000 -run job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@tee -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/etc-test-root b/win32/tests/etc-test-root deleted file mode 100644 index 2ebeb91..0000000 --- a/win32/tests/etc-test-root +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== !!!! etc-test-root not run !!!! ===== " - echo " ===== !!!! etc-test-root not run !!!! ===== " >>test.out - echo " " - exit 1 -fi -echo " " -echo " " -echo " === Starting /etc save/restore test ===" -echo " " -echo " " -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -echo "/etc" >${cwd}/tmp/file-list - -bin/bareos start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/1 -cd ${cwd}/tmp/bareos-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-etc-test etc >${cwd}/tmp/2 -sort <${cwd}/tmp/1 >${cwd}/tmp/original -sort <${cwd}/tmp/2 >${cwd}/tmp/restored -rm -f ${cwd}/tmp/1 ${cwd}/tmp/2 -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/null -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== !!!! etc-test-root failed !!!! ===== " - echo " ===== !!!! etc-test-root failed !!!! ===== " >>test.out - echo " " -else - echo " ===== etc-test-root OK ===== " - echo " ===== etc-test-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/win32/tests/fixed-block-size-tape b/win32/tests/fixed-block-size-tape deleted file mode 100644 index 16406f8..0000000 --- a/win32/tests/fixed-block-size-tape +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to a tape where we set the minimum and maximum block -# sizes. -# -TestName="fixed-block-size-tape" -JobName=fixedblocksize -. scripts/functions -set_debug 0 - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -cp ${cwd}/bin/bareos-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/bareos-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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/four-concurrent-jobs-tape b/win32/tests/four-concurrent-jobs-tape deleted file mode 100644 index 133e419..0000000 --- a/win32/tests/four-concurrent-jobs-tape +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# Run four jobs at the same time -# -TestName="four-concurrent-jobs-tape" -JobName=FourConcurrentJobs -. scripts/functions -set_debug 0 - -scripts/cleanup-tape -scripts/copy-tape-confs - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out 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 tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/four-concurrent-jobs-test.bscr b/win32/tests/four-concurrent-jobs-test.bscr deleted file mode 100644 index 161dbda..0000000 --- a/win32/tests/four-concurrent-jobs-test.bscr +++ /dev/null @@ -1,50 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File1 -TestVolume001 -label storage=File1 -TestVolume002 -update Volume=TestVolume001 MaxVolBytes=100000000 -@#50000000 -@#12 -run job=@JobName@ level=Full Storage=File1 -yes -reload -run job=@JobName@ level=Full Storage=File1 -yes -reload -run job=@JobName@ level=Full Storage=File1 -yes -reload -run job=@JobName@ level=Full Storage=File1 -yes -reload -reload -reload -reload -@sleep 2 -status dir -reload -@sleep 5 -messages -reload -reload -wait -reload -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File1 -unmark * -mark * -done -yes -wait -reload -reload -messages -@output -quit diff --git a/win32/tests/four-concurrent-jobs-test.cmd b/win32/tests/four-concurrent-jobs-test.cmd deleted file mode 100644 index 5a774f1..0000000 --- a/win32/tests/four-concurrent-jobs-test.cmd +++ /dev/null @@ -1,23 +0,0 @@ -REM -REM Run two jobs at the same time -REM -SET TestName=four-concurrent-jobs-test -SET JobName=Four-concurrent-jobs - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-concurrent-jobs-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/four-jobs-tape b/win32/tests/four-jobs-tape deleted file mode 100644 index 7b1bae9..0000000 --- a/win32/tests/four-jobs-tape +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-tape" -JobName=fourjobstape -. scripts/functions -set_debug 0 - -scripts/cleanup-tape -scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <tmp/bconcmds -@$out /dev/null -estimate job=$JobName listing -estimate job=$JobName listing -estimate job=$JobName listing -messages -@$out 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/bareos start - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bareos start 2>&1 >/dev/null - cat 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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bareos start - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bareos start 2>&1 >/dev/null - cat 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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bareos start - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bareos start 2>&1 >/dev/null - cat 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 <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Incremental yes -wait -messages -quit -END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bareos start - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bareos start 2>&1 >/dev/null - cat 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 <tmp/bconcmds -@$out /dev/null -restore where=${cwd}/tmp/bareos-restores select all done -yes -wait -restore where=${cwd}/tmp/bareos-restores select all done -yes -wait -@$out tmp/log2.out -@# -@# now unmount the tape and start two restores -@# at the same time -@# -unmount storage=DDS-4 -restore where=${cwd}/tmp/bareos-restores select all done -yes -restore where=${cwd}/tmp/bareos-restores select -unmark * -mark * -done -yes -mount storage=DDS-4 -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/four-jobs-test.1.bscr b/win32/tests/four-jobs-test.1.bscr deleted file mode 100644 index 462c254..0000000 --- a/win32/tests/four-jobs-test.1.bscr +++ /dev/null @@ -1,11 +0,0 @@ -@output nul -estimate job=@JobName@ listing -estimate job=@JobName@ listing -estimate job=@JobName@ listing -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/four-jobs-test.2.bscr b/win32/tests/four-jobs-test.2.bscr deleted file mode 100644 index 9d5113e..0000000 --- a/win32/tests/four-jobs-test.2.bscr +++ /dev/null @@ -1,7 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/four-jobs-test.3.bscr b/win32/tests/four-jobs-test.3.bscr deleted file mode 100644 index 79c1d7a..0000000 --- a/win32/tests/four-jobs-test.3.bscr +++ /dev/null @@ -1,7 +0,0 @@ -@output nul -messages -@output tmp/log1.out -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/four-jobs-test.4.bscr b/win32/tests/four-jobs-test.4.bscr deleted file mode 100644 index 79c1d7a..0000000 --- a/win32/tests/four-jobs-test.4.bscr +++ /dev/null @@ -1,7 +0,0 @@ -@output nul -messages -@output tmp/log1.out -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/four-jobs-test.5.bscr b/win32/tests/four-jobs-test.5.bscr deleted file mode 100644 index f85bd37..0000000 --- a/win32/tests/four-jobs-test.5.bscr +++ /dev/null @@ -1,17 +0,0 @@ -@output nul -restore where=@topdir@/tmp/bareos-restores select all storage=File done -yes -wait -restore where=@topdir@/tmp/bareos-restores select all storage=File done -yes -wait -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/four-jobs-test.cmd b/win32/tests/four-jobs-test.cmd deleted file mode 100644 index 31cbeca..0000000 --- a/win32/tests/four-jobs-test.cmd +++ /dev/null @@ -1,74 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the compressed option -REM then backup four times, each with incremental then finally restore. -REM It should require at least 4 different bsrs. -REM -SET TestName=four-jobs-test -SET JobName=SpanVol - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp/file-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO Backup 1 done - -REM make some files for the incremental to pick up -touch %CD:\=/%/build/src/dird/*.c -touch %CD:\=/%/build/src/lib/*.c - -REM -REM run a second job -REM -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO Backup 2 done - -touch %CD:\=/%/build/src/dird/*.c -touch %CD:\=/%/build/src/lib/*.c - -REM -REM run a third job -REM -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO Backup 3 done - -REM make some files for the incremental to pick up -touch %CD:\=/%/build/src/lib/*.c - -REM -REM run a fourth job -REM -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.4.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO Backup 4 done -REM -REM now do several restores to ensure we cleanup between jobs -REM -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\four-jobs-test.5.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/hardlink-test b/win32/tests/hardlink-test deleted file mode 100644 index 987f5b5..0000000 --- a/win32/tests/hardlink-test +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -TestName="hardlink-test" -JobName=hardlink -. scripts/functions -set_debug 0 - -if test ! -d weird-files ; then - echo " " - echo "Weird files not configured. Test not run." - exit 0 -fi - -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -change_jobname NightlySave $JobName -# -# Note, we save the weird-files directory twice on purpose -# because this causes problems with hard linked files -# that are only saved once. In 1.33, Bareos now deals -# with this situation. -# -echo "${cwd}/weird-files" >${cwd}/tmp/file-list -echo "${cwd}/weird-files" >>${cwd}/tmp/file-list - -start_test - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -label storage=File -TestVolume001 -run job=$JobName -yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores storage=File -5 -cd ${cwd}/weird-files/subdir -mark another-hardlink -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=File -stop_bareos - -check_two_logs -diff ${cwd}/weird-files/subdir/another-hardlink \ - ${cwd}/tmp/bareos-restores/${cwd}/weird-files/subdir/another-hardlink 2>&1 >/dev/null -dstat=$? -end_test diff --git a/win32/tests/incremental-2disk.1.bscr b/win32/tests/incremental-2disk.1.bscr deleted file mode 100644 index fdbc4a7..0000000 --- a/win32/tests/incremental-2disk.1.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@@out@ nul -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 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/incremental-2disk.2.bscr b/win32/tests/incremental-2disk.2.bscr deleted file mode 100644 index 5bdcff2..0000000 --- a/win32/tests/incremental-2disk.2.bscr +++ /dev/null @@ -1,21 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -@# Force Incremental on the second Volume -update volume=TestVolume001 VolStatus=Used -run level=Incremental job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores -7 -<@topdir@/tmp/restore-list - -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/incremental-2disk.cmd b/win32/tests/incremental-2disk.cmd deleted file mode 100644 index 0988ecc..0000000 --- a/win32/tests/incremental-2disk.cmd +++ /dev/null @@ -1,55 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do an Incremental and restore those two files. -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=incremental-2disk -SET JobName=Inc2disk - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\functions stop_bareos - -CALL bin\drop_bareos_tables >nul 2>&1 -CALL bin\make_bareos_tables >nul 2>&1 -CALL bin\grant_bareos_privileges >nul 2>&1 - -CALL scripts\copy-2disk-confs >nul 2>&1 -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/tmp/build >tmp\file-list -IF NOT EXIST tmp\build MKDIR tmp\build - -COPY build\src\dird\*.c tmp\build >nul 2>&1 -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -CALL scripts\functions change_jobname %JobName% -CALL scripts\functions start_test - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2disk.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos - -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2disk.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos -REM -REM Delete .c files because we will only restored the txt files -REM -DEL tmp\build\*.c - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/incremental-2tape.1.bscr b/win32/tests/incremental-2tape.1.bscr deleted file mode 100644 index b5fa189..0000000 --- a/win32/tests/incremental-2tape.1.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@@out@ nul -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 -run job=NightlySave yes -wait -messages -quit diff --git a/win32/tests/incremental-2tape.2.bscr b/win32/tests/incremental-2tape.2.bscr deleted file mode 100644 index 86d089c..0000000 --- a/win32/tests/incremental-2tape.2.bscr +++ /dev/null @@ -1,21 +0,0 @@ -@@out@ nul -messages -@@out@ 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@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores -7 -<@topdir@/tmp/restore-list - -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/incremental-2tape.cmd b/win32/tests/incremental-2tape.cmd deleted file mode 100644 index dcdd9fe..0000000 --- a/win32/tests/incremental-2tape.cmd +++ /dev/null @@ -1,48 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do an Incremental and restore those two files. -REM -REM This script uses the autochanger and two tapes -REM -SET TestName=incremental-2tape -SET JobName=inctwotape -CALL scripts\functions set_debug 0 - -CALL config_out -IF "%AUTOCHANGER%" == "nul" ( - ECHO incremental-2tape test skipped. No autochanger. - EXIT -) - -CALL scripts\functions stop_bareos -CALL drop_bareos_tables >nul 2>&1 -CALL make_bareos_tables >nul 2>&1 -CALL grant_bareos_privileges >nul 2>&1 - -CALL scripts\copy-2tape-confs -CALL scripts\cleanup-2tape -ECHO %CD:\=/%/tmp/build >tmp\file-list -IF NOT EXIST tmp\build MKDIR tmp\build -COPY build\src\dird\*.c tmp\build -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2tape.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos - -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-2tape.2.bscr >tmp\bconcmds -CALL scripts\functions run_bconsole -CALL scripts\bareos stop_bareos -CALL scripts\bareos check_two_logs -REM -REM Delete .c files because we will only restore the txt files -REM -DEL tmp\build\*.c -CALL scripts\bareos check_restore_tmp_build_diff -CALL scripts\bareos end_test diff --git a/win32/tests/incremental-tape b/win32/tests/incremental-tape deleted file mode 100644 index d66911c..0000000 --- a/win32/tests/incremental-tape +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory then create some -# new files, do an Incremental and restore those two files. -# -TestName="incremental-tape" -JobName=IncTape -. scripts/functions -set_debug 0 - -copy_tape_confs - -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 <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName yes -wait -messages -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 - -echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt -echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -run level=Incremental job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-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_bareos - -# -# Delete .c files because we will only restored the txt files -# -rm -f tmp/build/*.c - -check_two_logs -check_restore_tmp_build_diff -end_test diff --git a/win32/tests/incremental-test.1.bscr b/win32/tests/incremental-test.1.bscr deleted file mode 100644 index 9ab38bf..0000000 --- a/win32/tests/incremental-test.1.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -label storage=File volume=TestVolume002 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/incremental-test.2.bscr b/win32/tests/incremental-test.2.bscr deleted file mode 100644 index f716a02..0000000 --- a/win32/tests/incremental-test.2.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -@# Force Incremental on the second Volume -update volume=TestVolume001 VolStatus=Used -run level=Differential job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/incremental-test.3.bscr b/win32/tests/incremental-test.3.bscr deleted file mode 100644 index c4239dd..0000000 --- a/win32/tests/incremental-test.3.bscr +++ /dev/null @@ -1,7 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run level=Incremental job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/incremental-test.4.bscr b/win32/tests/incremental-test.4.bscr deleted file mode 100644 index 700afcb..0000000 --- a/win32/tests/incremental-test.4.bscr +++ /dev/null @@ -1,7 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run level=Differential job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/incremental-test.5.bscr b/win32/tests/incremental-test.5.bscr deleted file mode 100644 index 0879c2b..0000000 --- a/win32/tests/incremental-test.5.bscr +++ /dev/null @@ -1,16 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run level=Incremental job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@output tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File file=<@topdir@/tmp/restore-list -yes -wait -messages -@output -quit diff --git a/win32/tests/incremental-test.cmd b/win32/tests/incremental-test.cmd deleted file mode 100644 index db75c57..0000000 --- a/win32/tests/incremental-test.cmd +++ /dev/null @@ -1,91 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do an Incremental and restore those two files. -REM -SET TestName=incremental-test -SET JobName=Incremental - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/build>tmp/file-list - -MKDIR tmp\build -COPY build\src\dird\*.c tmp\build >nul 2>&1 - -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -REM -REM Now create two new files to be restored later -REM -bin\bsleep 1 -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -COPY tmp\build\dird.c tmp\build\ficheriro2.txt >nul 2>&1 - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -bin\bsleep 1 -touch tmp\build\ficheriro1.txt -touch tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -bin\bsleep 1 - -COPY tmp\build\ficheriro2.txt tmp\build\1 >nul 2>&1 -sed -e "s;a;b;g" tmp\build\1 >tmp\build\ficheriro2.txt -DEL tmp\build\1 - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.4.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -bin\bsleep 1 -touch tmp\build\ficheriro1.txt -touch tmp\build\ficheriro2.txt -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -bin\bsleep 1 -touch tmp\build\ficheriro1.txt -touch tmp\build\ficheriro2.txt -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole - -bin\bsleep 1 -touch tmp\build\ficheriro1.txt -touch tmp\build\ficheriro2.txt -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -bin\bsleep 1 -touch tmp\build\ficheriro1.txt -touch tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\incremental-test.5.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -REM -REM Delete .c files because we will only restored the txt files -REM -DEL tmp\build\*.c -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/lib-tape-root b/win32/tests/lib-tape-root deleted file mode 100644 index 65db4de..0000000 --- a/win32/tests/lib-tape-root +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the /lib directory -# then restore it. -# -cwd=`pwd` -bin/bareos stop 2>&1 >/dev/null -cd bin -./drop_bareos_tables >/dev/null 2>&1 -./make_bareos_tables >/dev/null 2>&1 -./grant_bareos_privileges 2>&1 >/dev/null -cd .. - -scripts/cleanup-tape -scripts/copy-tape-confs -echo "/lib" >${cwd}/tmp/file-list -echo " " -echo " " -echo " === Starting lib-tape-root test ===" -echo " " -echo " " -bin/bareos start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bareos-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== lib-tape-root failed!!! ===== " - echo " ===== lib-tape-root failed!!! ===== " >>test.out - echo " " -else - echo " ===== lib-tape-root OK ===== " - echo " ===== lib-tape-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/win32/tests/lib-test-root b/win32/tests/lib-test-root deleted file mode 100644 index a188059..0000000 --- a/win32/tests/lib-test-root +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -MUID=`/usr/bin/id -u` -if [ $MUID != 0 ] ; then - echo " " - echo "You must be root to run this test." - echo " ===== !!!! lib-test-root not run !!!! ===== " - echo " ===== !!!! lib-test-root not run !!!! ===== " >>test.out - echo " " - exit 1 -fi -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -echo "/lib" >${cwd}/tmp/file-list - -echo " " -echo " " -echo " === Starting /lib save/restore test ===" -echo " " -echo " " - -bin/bareos start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bareos-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-lib-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== !!!! lib-test-root failed !!!! ===== " - echo " ===== !!!! lib-test-root failed !!!! ===== " >>test.out - echo " " -else - echo " ===== lib-test-root OK ===== " - echo " ===== lib-test-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/win32/tests/migration-job-test.bscr b/win32/tests/migration-job-test.bscr deleted file mode 100644 index 10d54cc..0000000 --- a/win32/tests/migration-job-test.bscr +++ /dev/null @@ -1,47 +0,0 @@ -@output -messages -@@out@ tmp/log1.out -@#setdebug level=100 storage=File -label storage=File volume=FileVolume001 Pool=Default -label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 -label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 -@# run two jobs (both will be migrated) -run job=@JobName@ yes -run job=@JobName@ yes -wait -list jobs -list volumes -@#setdebug level=100 dir -@# should migrate two jobs -@#setdebug level=51 storage=DiskChanger -run job=migrate-job yes -wait -messages -@# purge volume=FileVolume001 -list jobs -list volumes -wait -@# -@# Now do another backup, but level Incremental -@# -run job=@JobName@ level=Incremental yes -wait -messages -@# -@# This final job that runs should be Incremental and -@# not upgraded to full. -list jobs -@# -@# now do a restore -@# -@@out@ tmp/log2.out -list volumes -restore where=tmp/bareos-restores select storage=DiskChanger -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/migration-job-test.cmd b/win32/tests/migration-job-test.cmd deleted file mode 100644 index 0890daf..0000000 --- a/win32/tests/migration-job-test.cmd +++ /dev/null @@ -1,37 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then migrate it -REM to another device. -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=migration-job-test -SET JobName=MigrationJobSave - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-migration-confs -CALL scripts\prepare-two-disks -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM -REM Note, we first backup into Pool Default, -REM then Migrate into Pool Full. -REM Pool Default uses Storage=File -REM Pool Full uses Storage=DiskChanger - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-job-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/migration-jobspan-test.bscr b/win32/tests/migration-jobspan-test.bscr deleted file mode 100644 index 70a06c1..0000000 --- a/win32/tests/migration-jobspan-test.bscr +++ /dev/null @@ -1,39 +0,0 @@ -@output -messages -@@out@ @topdir@/tmp/log1.out -@#setdebug level=10 dir -@#setdebug level=100 storage=File -label storage=File volume=FileVolume001 Pool=Default -label storage=File volume=FileVolume002 Pool=Default -update Volume=FileVolume001 MaxVolBytes=3000000 pool=Default -label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 -label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 -list volumes -@# -run job=@JobName@ yes -@#run job=@JobName@ yes -wait -list volumes -@#setdebug level=200 dir -@# should migrate both Volumes -run job=migrate-job yes -wait -purge volume=FileVolume001 -purge volume=FileVolume002 -list volumes -list jobs -messages -wait -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=DiskChanger -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/migration-jobspan-test.cmd b/win32/tests/migration-jobspan-test.cmd deleted file mode 100644 index 7ecc1e9..0000000 --- a/win32/tests/migration-jobspan-test.cmd +++ /dev/null @@ -1,42 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then migrate it -REM to another device. -REM -REM Test migrating a job that spans two Volumes -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=migration-jobspan-test -SET JobName=MigrationJobSpanSave - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-migration-confs -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list - -COPY bin\bareos-sd.conf tmp\1 -sed "s;# Maximum File Size; Maximum File Size;" tmp\1 >bin\bareos-sd.conf - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM -REM Note, we first backup into Pool Default, -REM then Migrate into Pool Full. -REM Pool Default uses Storage=File -REM Pool Full uses Storage=DiskChanger - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-jobspan-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/migration-occupancy-test.bscr b/win32/tests/migration-occupancy-test.bscr deleted file mode 100644 index b707e3d..0000000 --- a/win32/tests/migration-occupancy-test.bscr +++ /dev/null @@ -1,33 +0,0 @@ -@output -messages -@@out@ @topdir@/tmp/log1.out -label storage=File volume=FileVolume001 Pool=Default -label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 -label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 -list volumes -@# run two jobs (both will be migrated) -run job=@JobName@ yes -run job=@JobName@ yes -wait -update volume=FileVolume001 VolStatus=Used -list volumes -@# should migrate two jobs -run job=migrate-occupancy yes -list volumes -wait -messages -purge volume=FileVolume001 -wait -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=DiskChanger -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/migration-occupancy-test.cmd b/win32/tests/migration-occupancy-test.cmd deleted file mode 100644 index c29c15b..0000000 --- a/win32/tests/migration-occupancy-test.cmd +++ /dev/null @@ -1,36 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then migrate it -REM to another device. -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=migration-occupancy-test -SET JobName=MigrationJobSave - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-migration-confs -CALL scripts\prepare-two-disks -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM -REM Note, we first backup into Pool Default, -REM then Migrate into Pool Full. -REM Pool Default uses Storage=File -REM Pool Full uses Storage=DiskChanger - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-occupancy-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/migration-time-test.bscr b/win32/tests/migration-time-test.bscr deleted file mode 100644 index b4bfe39..0000000 --- a/win32/tests/migration-time-test.bscr +++ /dev/null @@ -1,40 +0,0 @@ -@output -messages -@@out@ @topdir@/tmp/log1.out -label storage=File volume=FileVolume001 Pool=Default -label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 -label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 -list volumes -@# run three jobs -run job=@JobName@ level=Full yes -run job=@JobName@ level=Full yes -run job=@JobName@ level=Full yes -wait -update volume=FileVolume001 VolStatus=Used -sql -update Job SET RealEndTime='2004-01-01 12:01:01' WHERE JobId IN (2,3); - -llist jobid=2,3 -list jobs -list volumes -@# should migrate only jobid=2 and 3 -run job=migrate-time yes -wait -messages -wait -purge volume=FileVolume001 -list jobs -list volumes -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=DiskChanger -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/migration-time-test.cmd b/win32/tests/migration-time-test.cmd deleted file mode 100644 index ed359b3..0000000 --- a/win32/tests/migration-time-test.cmd +++ /dev/null @@ -1,37 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then migrate it -REM to another device. -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=migration-time-test -SET JobName=MigrationJobSave - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-migration-confs -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM -REM Note, we first backup into Pool Default, -REM then Migrate into Pool Full. -REM Pool Default uses Storage=File -REM Pool Full uses Storage=DiskChanger - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-time-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/migration-volume-test.bscr b/win32/tests/migration-volume-test.bscr deleted file mode 100644 index 330792d..0000000 --- a/win32/tests/migration-volume-test.bscr +++ /dev/null @@ -1,63 +0,0 @@ -@output -messages -@@out@ @topdir@/tmp/log1.out -label storage=File volume=FileVolume001 Pool=Default -label storage=File volume=FileVolume002 Pool=Default -update Volume=FileVolume001 MaxVolBytes=3000000 pool=Default -label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0 -label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0 -@# -run job=@JobName@ yes -wait -run job=@JobName@ yes -wait -update volume=FileVolume001 VolStatus=Used -update volume=FileVolume002 VolStatus=Used -@#list volumes -@#list jobs -@# should migrate two jobs -@# setdebug level=11 dir -@echo "Run migrate-volume Job" -@#setdebug level=100 dir -run job=migrate-volume yes -@sleep 5 -list jobs -llist jobid=1 -llist jobid=2 -llist jobid=3 -llist jobid=4 -llist jobid=5 -status storage=DiskChanger -wait -list volumes -list jobs -llist jobid=1 -llist jobid=2 -llist jobid=3 -llist jobid=4 -llist jobid=5 -sql -select * from JobMedia where JobId=1; - -@# Now run a second Migration job, which should do nothing -run job=migrate-volume yes -wait -list jobs -@# ensure we don't pickup old backup by purging volume -@# purge volume=FileVolume001 -@# purge volume=FileVolume002 -@echo "Now do a restore" -messages -@# -@# now do a restore -@# -@@out@ @topdir@/tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=DiskChanger -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/migration-volume-test.cmd b/win32/tests/migration-volume-test.cmd deleted file mode 100644 index 63b5a47..0000000 --- a/win32/tests/migration-volume-test.cmd +++ /dev/null @@ -1,40 +0,0 @@ -REM -REM Run a backup of the Bareos build directory on two Volumes -REM then migrate it to another device. -REM -REM This script uses the virtual disk autochanger -REM -SET TestName=migration-volume-test -SET JobName=MigVolBackup - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-migration-confs -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list - -REM COPY bin\bareos-sd.conf tmp\1 -REM sed "s;# Maximum File Size; Maximum File Size;" tmp\1 >bin\bareos-sd.conf - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM -REM Note, we first backup into Pool Default, -REM then Migrate into Pool Full. -REM Pool Default uses Storage=File -REM Pool Full uses Storage=DiskChanger - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\migration-volume-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/query-test.1.bscr b/win32/tests/query-test.1.bscr deleted file mode 100644 index 9ab38bf..0000000 --- a/win32/tests/query-test.1.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -label storage=File volume=TestVolume002 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/query-test.2.bscr b/win32/tests/query-test.2.bscr deleted file mode 100644 index 9e1afb7..0000000 --- a/win32/tests/query-test.2.bscr +++ /dev/null @@ -1,9 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -@# Force differental on the second Volume -update volume=TestVolume001 VolStatus=Used -run level=differental job=@JobName@ yes -wait -messages -@output diff --git a/win32/tests/query-test.3.bscr b/win32/tests/query-test.3.bscr deleted file mode 100644 index eb80730..0000000 --- a/win32/tests/query-test.3.bscr +++ /dev/null @@ -1,46 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run level=incremental job=@JobName@ yes -wait -messages -@# -@# Now do the queries -@# -query -1 -ficheriro1.txt -query -2 -@topdir@/tmp/build/ -ficheriro1.txt -localhost-fd -query -6 -TestVolume001 -query -7 -1 -query -8 -localhost-fd -query -9 -Default -query -10 -query -11 -query -12 -1 -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File file=<@topdir@/tmp/restore-list -yes -wait -messages -@output -quit diff --git a/win32/tests/query-test.cmd b/win32/tests/query-test.cmd deleted file mode 100644 index dc14f30..0000000 --- a/win32/tests/query-test.cmd +++ /dev/null @@ -1,48 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory then create some -REM new files, do a Differental then a bunch of query commands -REM and finally restore the two files. -REM -SET TestName=query-test -SET JobName=query - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/build >tmp\file-list -MKDIR tmp\build -COPY build\src\dird\*.c tmp\build >nul 2>&1 -ECHO %CD:\=/%/tmp/build/ficheriro1.txt>tmp\restore-list -ECHO %CD:\=/%/tmp/build/ficheriro2.txt>>tmp\restore-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO ficheriro1.txt >tmp\build\ficheriro1.txt -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO ficheriro2.txt >tmp\build\ficheriro2.txt -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\query-test.3.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -REM -REM Delete .c files because we will only restored the txt files -REM -DEL tmp\build\*.c - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/recycle-test.bscr b/win32/tests/recycle-test.bscr deleted file mode 100644 index 036f458..0000000 --- a/win32/tests/recycle-test.bscr +++ /dev/null @@ -1,51 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File1 volume=TestVolume001 -label storage=File1 volume=TestVolume002 -label storage=File1 volume=TestVolume003 -update Volume=TestVolume001 volretention=10s -update Volume=TestVolume001 maxvoljobs=1 -update Volume=TestVolume002 volretention=10s -update Volume=TestVolume002 maxvoljobs=1 -update Volume=TestVolume003 volretention=10s -update Volume=TestVolume003 maxvoljobs=1 -list volumes -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -@sleep 10 -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -run job=@JobName@ storage=File1 level=full yes -wait -messages -list volumes -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File1 -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/recycle-test.cmd b/win32/tests/recycle-test.cmd deleted file mode 100644 index b4f4ad1..0000000 --- a/win32/tests/recycle-test.cmd +++ /dev/null @@ -1,26 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM create three volumes and do six backups causing the -REM volumes to be recycled, and cycling through the volumes -REM twice. Tests maxvoljobs and volretention. -REM -SET TestName=recycle-test -SET JobName=Recycle - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\recycle-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/relabel-tape b/win32/tests/relabel-tape deleted file mode 100644 index abccda5..0000000 --- a/win32/tests/relabel-tape +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-tape" -JobName=Relabeltape -. scripts/functions -set_debug 0 - -scripts/cleanup-tape -scripts/copy-tape-confs -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default -run job=$JobName level=Full yes -wait -messages -add pool=Default -0 -TestVolume002 -@# set status to append -update volume=TestVolume001 -1 -. -run job=NightlySave level=Full yes -@sleep 20 -unmount -unmount -purge volume=TestVolume001 -relabel oldvolume=TestVolume001 volume=TestVolume003 slot=0 pool=Default -list volumes -mount -messages -wait -run job=$JobName level=Full yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 - - -echo "Backup done" -# -# now do several restores to ensure we cleanup between jobs -# -cat <tmp/bconcmds -@$out /dev/null -restore where=${cwd}/tmp/bareos-restores select all done -yes -wait -restore where=${cwd}/tmp/bareos-restores select all done -yes -wait -@$out tmp/log2.out -@# -@# now unmount the tape and start two restores -@# at the same time -@# -unmount storage=DDS-4 -restore where=${cwd}/tmp/bareos-restores select all done -yes -restore where=${cwd}/tmp/bareos-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_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/restore-by-file-tape b/win32/tests/restore-by-file-tape deleted file mode 100644 index 07e7b39..0000000 --- a/win32/tests/restore-by-file-tape +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos 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-tape" -JobName=restorebyfile -. scripts/functions -set_debug 0 -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list -sed s%\^%${cwd}% ${cwd}/scripts/flist >${cwd}/tmp/restore2-list - -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -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 -run job=$JobName level=Full yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores storage=DDS-4 file=<${cwd}/tmp/restore2-list -yes -wait -messages -@output -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -dstat=0 -# -# We need to stop and start Bareos to -# test appending to a previously written tape -# -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bareos-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -run job=$JobName level=Full yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores -7 -<${cwd}/tmp/restore2-list - -yes -wait -messages -@output -quit -END_OF_DATA - -# -# Bareos was stopped, but we must restart it to -# test appending to a previously written tape -# -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs - -scripts/check_for_zombie_jobs storage=DDS-4 -bin/bareos stop 2>&1 >/dev/null -for i in `cat ${cwd}/tmp/restore2-list`; do - diff $i ${cwd}/tmp/bareos-restores$i - if [ $? != 0 ] ; then - dstat=1 - fi -done - -end_test diff --git a/win32/tests/restore-by-file-test.bscr b/win32/tests/restore-by-file-test.bscr deleted file mode 100644 index 8d8ee47..0000000 --- a/win32/tests/restore-by-file-test.bscr +++ /dev/null @@ -1,20 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File -7 -<@topdir@/tmp/restore-list - -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/restore-by-file-test.cmd b/win32/tests/restore-by-file-test.cmd deleted file mode 100644 index 83f6262..0000000 --- a/win32/tests/restore-by-file-test.cmd +++ /dev/null @@ -1,30 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the compressed option -REM then restore it. -REM - -SET TestName=restore-by-file-test -SET JobName=restorebyfile - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/build >tmp\file-list -MKDIR tmp\build -COPY build\src\dird\*.c tmp\build >nul 2>&1 -DIR /b tmp\build >tmp\1 -sed -e "s;^;%CD:\=/%/tmp/build/;" tmp\1 >tmp\restore-list -DEL tmp\1 - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore-by-file-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/restore-disk-seek-test.bscr b/win32/tests/restore-disk-seek-test.bscr deleted file mode 100644 index 8b0679e..0000000 --- a/win32/tests/restore-disk-seek-test.bscr +++ /dev/null @@ -1,23 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -sql -select * from JobMedia; - -restore bootstrap=@topdir@/tmp/rbn.bsr where=@topdir@/tmp/bareos-restores storage=File -7 -<@topdir@/tmp/restore-list - -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/restore-disk-seek-test.cmd b/win32/tests/restore-disk-seek-test.cmd deleted file mode 100644 index 4f819d9..0000000 --- a/win32/tests/restore-disk-seek-test.cmd +++ /dev/null @@ -1,55 +0,0 @@ -REM -REM Run a backup of the full bareos build directory, but with the -REM Maximum File Size set. Then do a restore of a few files to kick in -REM disk seeking (not yet enabled), and ensure that the restored files -REM match. Even though disk seeking is not yet enabled, this is a good test, -REM and once it is enabled, this will test it. -REM -SET TestName=restore-disk-seek-test -SET JobName=restore-disk-seek - -CALL scripts\functions set_debug 1 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/tmp/build >tmp\file-list - -IF EXIST tmp\build RD /s /q tmp\build -MKDIR tmp\build - -REM Copy only the .c files (to be restored) -REM set files to "*.c" for all c files -SET files=ua_tree.c ua_update.c -REM SET files=*.c -FOR %%i in ( %files% ) DO COPY build\src\dird\%%i tmp\build >nul 2>&1 -DIR /b tmp\build >tmp\1 -sed -e "s;^;%CD:\=/%/tmp/build/;" tmp\1 >tmp\restore-list - -REM At this point restore-list contains the list -REM of files we will restore -DEL tmp\1 - -REM Now backup *everything* -IF EXIST tmp\build RD /s /q tmp\build -MKDIR tmp\build -COPY build\src\dird\* tmp\build >nul 2>&1 -REM Enable MaximumFileSize -COPY bin\bareos-sd.conf tmp\1 >nul 2>&1 -sed "s;# Maximum File Size; Maximum File Size;" tmp\1 >bin\bareos-sd.conf - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore-disk-seek-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -REM Now setup a control directory of only what we *should* restore -RD /s /q tmp\build -MKDIR tmp\build -FOR %%i in ( %files% ) DO COPY build\src\dird\%%i tmp\build >nul 2>&1 - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_tmp_build_diff -CALL scripts\functions end_test diff --git a/win32/tests/restore2-by-file-test.bscr b/win32/tests/restore2-by-file-test.bscr deleted file mode 100644 index 49a3239..0000000 --- a/win32/tests/restore2-by-file-test.bscr +++ /dev/null @@ -1,17 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores storage=File file=<@topdir@/tmp/restore2-list -yes -wait -messages -@output -quit diff --git a/win32/tests/restore2-by-file-test.cmd b/win32/tests/restore2-by-file-test.cmd deleted file mode 100644 index 4f0839c..0000000 --- a/win32/tests/restore2-by-file-test.cmd +++ /dev/null @@ -1,31 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the compressed option -REM then restore a few selected files. -REM -SETLOCAL ENABLEDELAYEDEXPANSION -SET TestName=restore2-by-file-test -SET JobName=restore2byfile - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list -sed -e "s;^;%CD:\=/%;" scripts\flist >tmp\restore2-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\restore2-by-file-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -SET dstat=0 -FOR /f %%i IN ( tmp\restore2-list ) DO ( - SET SUBDIR=%%i - diff %%i tmp/bareos-restores/!SUBDIR::=! - IF %ERRORLEVEL% NEQ 0 SET dstat=1 -) -CALL scripts\functions end_test diff --git a/win32/tests/runscript-test b/win32/tests/runscript-test deleted file mode 100644 index c374c3c..0000000 --- a/win32/tests/runscript-test +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh -# -# Test if Bareos can automatically create a Volume label. -# - -TestName="runscript-test" - -. scripts/functions -set_debug 0 -copy_test_confs - -rm -f bin/bareos-dir.conf -/bin/cp -f scripts/bareos-dir.conf.testrunscript bin/bareos-dir.conf - -echo "${cwd}/build" >${cwd}/tmp/file-list - -start_test - -cat <${cwd}/tmp/bconcmds -@output /dev/null -messages -label volume=TestVolume001 -1 -@#setdebug level=100 storage=File -@output ${cwd}/tmp/log.RUN2.out -run job=RUN_FD_WARNING yes -wait -@sleep 5 -messages -run job=RUN_ALL_OK yes -wait -@sleep 5 -messages -run job=RUN_FD_FAILED yes -wait -@sleep 5 -messages -run job=RUN_DIR_FAILED yes -wait -@sleep 5 -messages -st dir -quit -END_OF_DATA - - -bin/bareos start -cat ${cwd}/tmp/bconcmds | bin/bconsole -c bin/bconsole.conf &> ${cwd}/tmp/log.RUN1.out - -stop_bareos - -if grep -q 'dir: BeforeJob: run command "/bin/echo RunBeforeJob"' ${cwd}/tmp/log.RUN1.out && - grep -q 'fd: ClientRunBeforeJob: ClientRunBeforeJob' ${cwd}/tmp/log.RUN1.out && - grep -q 'fd: ClientAfterJob: run command "/bin/echo ClientRunAfterJob' ${cwd}/tmp/log.RUN1.out && - grep -q 'dir: AfterJob: run command "/bin/echo RunAfterJob' ${cwd}/tmp/log.RUN1.out -then - [ "$debug" -eq 1 ] && echo RUN_ALL_OK ok -else - echo "RUN_ALL_OK in error" - rstat=1 -fi - -if grep -q 'dir: BeforeJob: run command "/bin/false RUN_DIR_FAILED"' ${cwd}/tmp/log.RUN1.out && - grep -q 'dir: BeforeJob: RunAfterFailedJob' ${cwd}/tmp/log.RUN1.out && - true # grep -q 'Backup OK -- with warnings' ${cwd}/tmp/log.RUN1.out -then - [ "$debug" -eq 1 ] && echo RUN_DIR_FAILED ok -else - echo "RUN_DIR_FAILED in error" - rstat=1 -fi - -if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/log.RUN1.out && - grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/log.RUN1.out && - grep -q 'dir: AfterJob: run command "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/log.RUN1.out -then - [ "$debug" -eq 1 ] && echo RUN_FD_FAILED ok -else - echo "RUN_FD_FAILED in error" - rstat=1 -fi - -if grep -q 'fd: ClientBeforeJob: run command "/bin/false RUN_FD_WARNING"' ${cwd}/tmp/log.RUN1.out && - grep -q 'Backup OK -- with warnings' ${cwd}/tmp/log.RUN1.out -then - [ "$debug" -eq 1 ] && echo RUN_FD_WARNING ok -else - echo "RUN_FD_WARNING in error" - rstat=1 -fi diff --git a/win32/tests/scratch-pool-test.bscr b/win32/tests/scratch-pool-test.bscr deleted file mode 100644 index 5e5755c..0000000 --- a/win32/tests/scratch-pool-test.bscr +++ /dev/null @@ -1,25 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 pool=Scratch drive=0 -label storage=DDS-4 volume=TestVolume002 slot=2 pool=Scratch drive=0 -update Volume=TestVolume001 MaxVolBytes=2000000 pool=Scratch drive=0 -update Volume=TestVolume001 inchanger=no pool=Scratch drive=0 -@#setdebug level=200 storage=DDS-4 -llist volume=TestVolume001 -llist volume=TestVolume002 -run job=@JobName@ yes -wait -messages -list volumes -llist volume=TestVolume001 -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/scratch-pool-test.cmd b/win32/tests/scratch-pool-test.cmd deleted file mode 100644 index 3921191..0000000 --- a/win32/tests/scratch-pool-test.cmd +++ /dev/null @@ -1,45 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory -REM to two tapes where the maximum tape file size is set to 1M -REM Note, this test simulates the tape filling and writing to -REM the next tape. One minor wrinkle: we create the two tapes -REM in the Scratch pool, so they should be switched to the Default -REM Pool automatically. -REM We set TestVolume001 to not in the changer, so the algorithm -REM should find TestVolume002 and use it rather than blocking. -REM -REM Note we use the viritual disk autochanger -REM -SET TestName=scratch-pool-test -SET JobName=scratch-pool - -CALL scripts\functions set_debug 0 - -CALL config_out -IF "%AUTOCHANGER%" == "nul" ( - ECHO two-volume-test skipped. No autochanger. - EXIT /b 1 -) - -CALL scripts\cleanup -CALL scripts\copy-2disk-confs >nul 2>&1 -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list - -COPY bin\bareos-sd.conf tmp\1 >nul 2>&1 -sed -e "s;# Maximum File Size; Maximum File Size;g" tmp\1 >bin\bareos-sd.conf - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\scratch-pool-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/six-vol-test.bscr b/win32/tests/six-vol-test.bscr deleted file mode 100644 index 51408f6..0000000 --- a/win32/tests/six-vol-test.bscr +++ /dev/null @@ -1,19 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run job=@JobName@ storage=File yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/six-vol-test.cmd b/win32/tests/six-vol-test.cmd deleted file mode 100644 index b003d31..0000000 --- a/win32/tests/six-vol-test.cmd +++ /dev/null @@ -1,36 +0,0 @@ -REM -REM Create a 60MB file with random bytes. Back it up to 6 Volumes -REM each constrained to 10MB using the automatic labeling feature. -REM -SET TestName=six-vol-test -SET JobName=SixVol - -CALL scripts\functions set_debug 0 - -CALL scripts\cleanup -CALL scripts\copy-testa-confs >nul 2>&1 -ECHO %CD:\=/%/tmp/largefile >tmp\file-list - -ECHO Creating a 60MB file with bareos-dir data ... -dd if=bin/bareos-dir.exe of=%CD:\=/%/tmp/1 bs=1024 count=500 >nul 2>&1 -COPY /b tmp\1+tmp\1+tmp\1+tmp\1+tmp\1 tmp\2 >nul 2>&1 -DEL tmp\1 -COPY /b tmp\2+tmp\2 tmp\3 >nul 2>&1 -DEL tmp\2 -COPY /b tmp\3+tmp\3+tmp\3+tmp\3+tmp\3+tmp\3 tmp\4 >nul 2>&1 -COPY /b tmp\3+tmp\3+tmp\3+tmp\3+tmp\3+tmp\4 tmp\largefile >nul 2>&1 -DEL tmp\3 tmp\4 - -CALL scripts\functions change_jobname MultiVol %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\six-vol-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -diff tmp\largefile tmp\bareos-restores\%CD::=%\tmp\largefile >nul 2>&1 -SET dstat=%ERRORLEVEL% -CALL scripts\functions end_test diff --git a/win32/tests/small-file-size-tape b/win32/tests/small-file-size-tape deleted file mode 100644 index 3fbc65e..0000000 --- a/win32/tests/small-file-size-tape +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to a tape where the maximum tape file size is set to 1M -# -TestName="small-file-size-tape" -JobName=smallfilesize -. scripts/functions -set_debug 0 - -copy_tape_confs - -echo "${cwd}/build" >${cwd}/tmp/file-list -cp ${cwd}/bin/bareos-sd.conf ${cwd}/tmp/1 -sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bareos-sd.conf - -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 -setdebug level=2 storage=DDS-4 -run job=$JobName yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select storage=DDS-4 -unmark * -mark * -done -yes -wait -messages -@output -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/span-vol-test.bscr b/win32/tests/span-vol-test.bscr deleted file mode 100644 index d4536cd..0000000 --- a/win32/tests/span-vol-test.bscr +++ /dev/null @@ -1,27 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File1 volume=TestVolume004 -label storage=File1 volume=TestVolume003 -label storage=File1 volume=TestVolume002 -label storage=File1 volume=TestVolume001 -update Volume=TestVolume004 MaxVolBytes=3000000 -update Volume=TestVolume003 MaxVolBytes=3000000 -update Volume=TestVolume002 MaxVolBytes=3000000 -run job=@JobName@ storage=File1 yes -wait -list volumes -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File1 -unmark * -mark * -done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/span-vol-test.cmd b/win32/tests/span-vol-test.cmd deleted file mode 100644 index 0e99a2d..0000000 --- a/win32/tests/span-vol-test.cmd +++ /dev/null @@ -1,26 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM split the archive into four volumes, two of which are -REM totally full. I.e. make sure that bsr selects all tapes -REM including those fully spanned. -REM -SET TestName=span-vol-test -SET JobName=SpanVol - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\span-vol-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/sparse-compressed-test.bscr b/win32/tests/sparse-compressed-test.bscr deleted file mode 100644 index 5c9959f..0000000 --- a/win32/tests/sparse-compressed-test.bscr +++ /dev/null @@ -1,17 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=SparseCompressedTest yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=File done -yes -wait -messages -@output -quit diff --git a/win32/tests/sparse-compressed-test.cmd b/win32/tests/sparse-compressed-test.cmd deleted file mode 100644 index 9fa7c01..0000000 --- a/win32/tests/sparse-compressed-test.cmd +++ /dev/null @@ -1,23 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the Sparse option -REM then restore it. -REM -SET TestName=sparse-compressed-test -SET JobName=Sparse-conpressed - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\sparse-compressed-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/sparse-test.bscr b/win32/tests/sparse-test.bscr deleted file mode 100644 index 450b349..0000000 --- a/win32/tests/sparse-test.bscr +++ /dev/null @@ -1,20 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/sparse-test.cmd b/win32/tests/sparse-test.cmd deleted file mode 100644 index 36f52b9..0000000 --- a/win32/tests/sparse-test.cmd +++ /dev/null @@ -1,23 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the Sparse option -REM then restore it. -REM -SET TestName=sparse-test -SET JobName=SparseTest - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\sparse-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/test0.cmd b/win32/tests/test0.cmd deleted file mode 100644 index e1824b1..0000000 --- a/win32/tests/test0.cmd +++ /dev/null @@ -1,2 +0,0 @@ -COPY nul test.out >nul 2>&1 -DEL bin\working\* 2>&1 diff --git a/win32/tests/truncate-bug-tape b/win32/tests/truncate-bug-tape deleted file mode 100644 index c507109..0000000 --- a/win32/tests/truncate-bug-tape +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh -# -# Test for a tape truncation bug. -# -TestName="truncate-bug-tape" -JobName=truncatebug -. scripts/functions - -set_debug 0 -copy_tape_confs - -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_bareos -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/bareos-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_bareos - -check_two_logs -grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null -dstat=$? -end_test diff --git a/win32/tests/two-jobs-test.1.bscr b/win32/tests/two-jobs-test.1.bscr deleted file mode 100644 index 745a2e1..0000000 --- a/win32/tests/two-jobs-test.1.bscr +++ /dev/null @@ -1,14 +0,0 @@ -setdebug level=15 storage=File -@output nul -messages -@output nul -estimate job=@JobName@ listing -estimate job=@JobName@ listing -estimate job=@JobName@ listing -messages -@@out@ tmp/log1.out -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/two-jobs-test.2.bscr b/win32/tests/two-jobs-test.2.bscr deleted file mode 100644 index d7586ff..0000000 --- a/win32/tests/two-jobs-test.2.bscr +++ /dev/null @@ -1,27 +0,0 @@ -@output nul -messages -@@out@ tmp/log1.out -run job=@JobName@ -yes -wait -messages -@# -@# now do several restores to ensure we cleanup between jobs -@# -@output nul -restore where=@topdir@/tmp/bareos-restores select all storage=File done -yes -wait -restore where=@topdir@/tmp/bareos-restores select all storage=File done -yes -wait -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@output -quit diff --git a/win32/tests/two-jobs-test.cmd b/win32/tests/two-jobs-test.cmd deleted file mode 100644 index 3dcef50..0000000 --- a/win32/tests/two-jobs-test.cmd +++ /dev/null @@ -1,35 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory using the compressed option -REM then backup a second time and finally restore it -REM -SET TestName=two-jobs-test -SET JobName=Two-Jobs - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname CompressedTest %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-jobs-test.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File - -ECHO Backup 1 done -touch build\src\dird\*.c - -REM -REM run a second job -REM -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-jobs-test.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bconsole -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/two-pool-tape b/win32/tests/two-pool-tape deleted file mode 100644 index a0d24bc..0000000 --- a/win32/tests/two-pool-tape +++ /dev/null @@ -1,82 +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 Bareos -# source code (i.e. the build directory). -# -TestName="two-pool-tape" -JobName=twopooltape -. scripts/functions -set_debug 0 - -. config.out -if test x${AUTOCHANGER} = x/dev/null ; then - echo "two-pool-tape test skipped. No autochanger." - exit -fi - -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/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -check_restore_diff -end_test diff --git a/win32/tests/two-pool-test.bscr b/win32/tests/two-pool-test.bscr deleted file mode 100644 index 0ba681b..0000000 --- a/win32/tests/two-pool-test.bscr +++ /dev/null @@ -1,36 +0,0 @@ -@output nul -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=@topdir@/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/two-pool-test.cmd b/win32/tests/two-pool-test.cmd deleted file mode 100644 index b4413c4..0000000 --- a/win32/tests/two-pool-test.cmd +++ /dev/null @@ -1,37 +0,0 @@ -REM -REM This is Arno's test. It uses two pools, two tapes, and -REM an autochanger. Note, the Director has three Pools in its -REM conf: Default, Full, and Inc. Default is used in the -REM NightlySave job by default. What is backed up is what -REM is in ${cwd}/tmp/file-list, which is by default the Bareos -REM source code (i.e. the build directory). -REM -REM Note, we use the virtual disk autochanger. -REM -SET TestName=two-pool-test -SET JobName=Two-pool - -CALL scripts\functions set_debug 0 - -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-2disk-confs >nul 2>&1 -CALL scripts\prepare-two-disks - -REM Make a relatively large backup set 5 x source code directory -REM Reduced to 1 for portable -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions start_test - -REM Write out bconsole commands to a file -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-pool-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/two-vol-test.bscr b/win32/tests/two-vol-test.bscr deleted file mode 100644 index 5c3bd4e..0000000 --- a/win32/tests/two-vol-test.bscr +++ /dev/null @@ -1,19 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -label storage=File1 volume=TestVolume002 -label storage=File1 volume=TestVolume001 -update Volume=TestVolume002 MaxVolBytes=3000000 -run job=@JobName@ storage=File1 yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=File1 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/two-vol-test.cmd b/win32/tests/two-vol-test.cmd deleted file mode 100644 index b594c89..0000000 --- a/win32/tests/two-vol-test.cmd +++ /dev/null @@ -1,24 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory but -REM split the archive into two volumes -REM -SET TestName=two-vol-test -SET JobName=TwoVol - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-vol-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=File1 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/two-volume-tape.1.bscr b/win32/tests/two-volume-tape.1.bscr deleted file mode 100644 index 028a85b..0000000 --- a/win32/tests/two-volume-tape.1.bscr +++ /dev/null @@ -1,11 +0,0 @@ -@@out@ nul -messages -@@out@ @topdir@/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 -@#setdebug level=1000 client -run job=@JobName@ yes -wait -messages -quit diff --git a/win32/tests/two-volume-tape.2.bscr b/win32/tests/two-volume-tape.2.bscr deleted file mode 100644 index 1cadd93..0000000 --- a/win32/tests/two-volume-tape.2.bscr +++ /dev/null @@ -1,12 +0,0 @@ -@@out@ nul -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/two-volume-tape.cmd b/win32/tests/two-volume-tape.cmd deleted file mode 100644 index 5edc987..0000000 --- a/win32/tests/two-volume-tape.cmd +++ /dev/null @@ -1,48 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory -REM to two tapes where the maximum tape file size is set to 1M -REM Note, this test simulates the tape filling and writing to -REM the next tape. -REM -SET TestName=two-volume-tape -SET JobName=twovoltape -CALL scripts\functions set_debug 0 - -CALL config_out -IF "%AUTOCHANGER%" == "nul" ( - ECHO two-volume-tape test skipped. No autochanger. - EXIT /b 1 -) - -CALL scripts\cleanup -CALL scripts\copy-2tape-confs -CALL scripts\prepare-two-tapes - -ECHO %CD:\=/%/build >tmp\file-list - -COPY bin\bareos-sd.conf tmp\1 -sed -e "s%# Maximum File Size% Maximum File Size%g" >bin\bareos-sd.conf - -CALL scripts\functions change_jobname %JobName% -CALL scripts\functions start_test - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-tape.1.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -mt -f %TAPE_DRIVE% rewind -mtx -f %AUTOCHANGER% unload -bin\bsleep 15 - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-tape.2.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/two-volume-test.bscr b/win32/tests/two-volume-test.bscr deleted file mode 100644 index 1e3fb13..0000000 --- a/win32/tests/two-volume-test.bscr +++ /dev/null @@ -1,20 +0,0 @@ -@@out@ nul -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 -@#setdebug level=1000 client -run job=@JobName@ yes -wait -messages -@# -@# now do a restore -@# -@@out@ tmp/log2.out -restore where=@topdir@/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/two-volume-test.cmd b/win32/tests/two-volume-test.cmd deleted file mode 100644 index 91c35de..0000000 --- a/win32/tests/two-volume-test.cmd +++ /dev/null @@ -1,35 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory -REM to two tapes where the maximum tape file size is set to 1M -REM Note, this test simulates the tape filling and writing to -REM the next tape. -REM -REM Note we use the viritual disk autochanger -REM -SET TestName=two-volume-test -SET JobName=TwoVolume -CALL scripts\functions set_debug 1 -CALL config_out - -CALL scripts\cleanup -CALL scripts\copy-2disk-confs >nul 2>&1 -CALL scripts\prepare-two-disks - -ECHO %CD:\=/%/build >tmp\file-list - -COPY bin\bareos-sd.conf tmp\1 -sed -e "s;# Maximum File Size; Maximum File Size;g" tmp\1 >bin\bareos-sd.conf - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -REM Write out bconsole commands -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\two-volume-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos -CALL scripts\functions check_for_zombie_jobs storage=DDS-4 -CALL scripts\functions stop_bareos - -CALL scripts\functions check_two_logs -CALL scripts\functions check_restore_diff -CALL scripts\functions end_test diff --git a/win32/tests/usr-tape-root b/win32/tests/usr-tape-root deleted file mode 100644 index b142b9c..0000000 --- a/win32/tests/usr-tape-root +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the /usr directory -# then restore it. -# -cwd=`pwd` -scripts/copy-tape-confs -scripts/cleanup-tape -echo "/usr" >${cwd}/tmp/file-list - -echo " " -echo " " -echo " === Starting usr-tape-root test ===" -echo " " -echo " " - -bin/bareos start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <&1 >/dev/null -cd / -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original -cd ${cwd}/tmp/bareos-restores -${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored -cd ${cwd}/tmp -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1 -sort <1 >original -# -sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1 -sort <1 >restored -rm -f 1 -# -cd ${cwd} -diff tmp/original tmp/restored 2>&1 1>/dev/nul -if [ $? != 0 ] ; then - echo " " - echo " " - echo " ===== !!!! usr-tape-root failed !!!! ===== " - echo " ===== !!!! usr-tape-root failed !!!! ===== " >>test.out - echo " " -else - echo " ===== usr-tape-root OK ===== " - echo " ===== usr-tape-root OK ===== " >>test.out - scripts/cleanup -fi diff --git a/win32/tests/verify-vol-tape b/win32/tests/verify-vol-tape deleted file mode 100644 index 874649e..0000000 --- a/win32/tests/verify-vol-tape +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then verify the catalog. -# -TestName="verify-vol-tape" -JobName=VerifyVol -. scripts/functions -set_debug 0 - -copy_tape_confs - -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_bareos - -sleep 2 -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -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/win32/tests/verify-vol-test.bscr b/win32/tests/verify-vol-test.bscr deleted file mode 100644 index f45cf38..0000000 --- a/win32/tests/verify-vol-test.bscr +++ /dev/null @@ -1,18 +0,0 @@ -@@out@ nul -messages -@@out@ tmp/log1.out -setdebug level=1 storage=File sd -label storage=File volume=TestVolume001 -run job=@JobName@ yes -wait -messages -@# -@# now do a verify volume -@# -@@out@ @topdir@/tmp/original -run job=VerifyVolume -yes -wait -messages -@@out@ -quit diff --git a/win32/tests/verify-vol-test.cmd b/win32/tests/verify-vol-test.cmd deleted file mode 100644 index 630984c..0000000 --- a/win32/tests/verify-vol-test.cmd +++ /dev/null @@ -1,29 +0,0 @@ -REM -REM Run a simple backup of the Bareos build directory -REM then verify the catalog. -REM -SET TestName=verify-vol-test -SET JobName=VerifyVol - -CALL scripts\functions set_debug 0 -CALL scripts\functions copy_test_confs - -ECHO %CD:\=/%/build >tmp\file-list - -CALL scripts\functions change_jobname NightlySave %JobName% -CALL scripts\functions start_test - -sed -e "s;@JobName@;%JobName%;g" -e "s;@out@;%out%;g" -e "s;@topdir@;%CD:\=/%;g" tests\verify-vol-test.bscr >tmp\bconcmds - -CALL scripts\functions run_bareos - -bin\bsleep 2 -CALL scripts\functions check_for_zombie_jobs storage=File -CALL scripts\functions stop_bareos - -grep "^ Termination: *Backup OK" tmp\log1.out 2>&1 >nul -SET bstat=%ERRORLEVEL% -grep "^ Termination: *Verify OK" tmp\original 2>&1 >nul -SET rstat=%ERRORLEVEL% -SET dstat=0 -CALL scripts\functions end_test diff --git a/win32/tests/weird-files-test b/win32/tests/weird-files-test deleted file mode 100644 index 569a904..0000000 --- a/win32/tests/weird-files-test +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -TestName="weird-files-test" -JobName=wierd-files -. scripts/functions -set_debug 0 - -if test ! -d weird-files ; then - echo " " - echo "Weird files not configured. Test not run." - exit 0 -fi - -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -change_jobname NightlySave $JobName -# -# Note, we save the weird-files directory twice on purpose -# because this causes problems with hard linked files -# that are only saved once. In 1.33, Bareos now deals -# with this situation. -# -echo "${cwd}/weird-files" >${cwd}/tmp/file-list -echo "${cwd}/weird-files" >>${cwd}/tmp/file-list - -start_test - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -label storage=File -TestVolume001 -run job=$JobName -yes -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select storage=File -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=File -stop_bareos - -${cwd}/bin/testls weird-files | sort >${cwd}/tmp/original -cd tmp/bareos-restores${cwd} -${cwd}/bin/testls weird-files | sort >${cwd}/tmp/restored -cd ${cwd} - -check_two_logs -diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null -dstat=$? -end_test diff --git a/win32/tests/weird-files2-test b/win32/tests/weird-files2-test deleted file mode 100644 index a0aff96..0000000 --- a/win32/tests/weird-files2-test +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# then restore it. -# -TestName="weird-files2-test" -JobName=weird-files2 -. scripts/functions -set_debug 0 - -if test ! -d weird-files ; then - echo " " - echo "weird files not configured. Test not run." - exit 0 -fi -cwd=`pwd` -scripts/cleanup -scripts/copy-test-confs -rm -rf weird-files2 -cp -Rp weird-files weird-files2 -echo "${cwd}/weird-files2" >${cwd}/tmp/file-list - -change_jobname NightlySave $JobName -start_test - -bin/testls weird-files2 >${cwd}/tmp/original - -cat <tmp/bconcmds -@$out /dev/null -messages -@$out tmp/log1.out -label storage=File volume=TestVolume001 -run job=$JobName yes -wait -messages -@$out -quit -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=File -# -# Now mess up the a hard link, and a soft link -# -cd weird-files2 -rm -f hard-file2 -ln hard-file3 hard-file2 -rm -f soft-file2 -ln -s soft-file3 soft-file2 -cd ${cwd} -cat <tmp/bconcmds -@$out /dev/null -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where= storage=File -5 -unmark * -mark * -done -yes -wait -messages -@$out -quit -END_OF_DATA - -run_bconsole -check_for_zombie_jobs storage=File -stop_bareos - -bin/testls weird-files2 >${cwd}/tmp/restored - -check_two_logs -diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null -dstat=$? - -end_test diff --git a/win32/tests/win32-backup-tape b/win32/tests/win32-backup-tape deleted file mode 100644 index 22478ce..0000000 --- a/win32/tests/win32-backup-tape +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# -TestName="win32-backup-tape" -JobName=win32tape -. scripts/functions -set_debug 0 - -scripts/copy-win32-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_jobname $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0 -run job=$JobName yes -@sleep 10 -status storage=DDS-4 -@sleep 30 -messages -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores select all storage=DDS-4 done -yes -wait -messages -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -# no diff for now -dstat=0 -end_test diff --git a/win32/tests/win32-to-linux-tape b/win32/tests/win32-to-linux-tape deleted file mode 100644 index b7d2100..0000000 --- a/win32/tests/win32-to-linux-tape +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# Run a simple backup of the Bareos build directory -# to a tape then restore it, we do that twice to ensure that -# we can correctly append to a tape. -# -TestName="win32-to-linux-tape" -JobName=AutoLabel -. scripts/functions -set_debug 1 - -scripts/copy-win32-confs -scripts/cleanup-tape - -echo "${cwd}/build" >${cwd}/tmp/file-list - -change_job $JobName -start_test - -cat <tmp/bconcmds -@output /dev/null -messages -@$out tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default drive=0 -run job=NightlySave yes -@sleep 10 -status storage=DDS-4 -@sleep 30 -messages -wait -messages -@# -@# now do a restore -@# -@$out tmp/log2.out -restore where=${cwd}/tmp/bareos-restores client=Tibs select all storage=DDS-4 done -yes -wait -messages -END_OF_DATA - -run_bareos -check_for_zombie_jobs storage=DDS-4 -stop_bareos - -check_two_logs -# No diff for the moment -dstat=0 -end_test diff --git a/win32/win32_runscript.zip b/win32/win32_runscript.zip deleted file mode 100644 index a03a4ba5fb9f31aba5f8ef162a12a8328fcfa843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2916 zcmbuAy-z|h6vfM@9|S)ksELHlO%k1qiLNHZ2*kw1#UL`UnFkK8Z*bwyaCFnj(YP?V z5dQ+>Y{KAd@9TrMrzKQgjq*h9ujiiL9;=l^GRGL3XUTf);Q6>P*xK$*GKhNI3vg)|{x29JwaRODBI=78x%Z234F|MdV*pF^W6**V}gf7 z;{paz&yHt?W24ienzyEDBid}fZ5o_NmaUsOH(lr!>GHjHGn~$-c9AZ?x#_~2NAUrm zNQTkmAUpsJ&Qc#s0sI(n4Y`O$_QlH*_738~`zfGi$$@ zx{jfVK^-_J6v(oX!=$0ZaYjg<