include $(top_srcdir)/config/automake/vars.am include $(top_srcdir)/config/automake/scripts.am all_tests = common_tests = \ Amanda_Archive \ Amanda_Config \ Amanda_Config_FoldingHash \ Amanda_ClientService \ Amanda_Debug \ Amanda_Feature \ Amanda_IPC_Binary \ Amanda_IPC_LineProtocol \ Amanda_MainLoop \ Amanda_Header \ Amanda_Util \ Amanda_Xfer \ amarchiver all_tests += $(common_tests) client_tests = \ noop \ ambsdtar \ amgtar \ ampgsql \ amraw \ amstar \ runtar all_tests += $(client_tests) server_tests = \ Amanda_Changer \ Amanda_Changer_aggregate \ Amanda_Changer_disk \ Amanda_Changer_diskflat \ Amanda_Changer_multi \ Amanda_Changer_null \ Amanda_Changer_rait \ Amanda_Changer_robot \ Amanda_Changer_single \ Amanda_Cmdline \ Amanda_Curinfo \ Amanda_Disklist \ Amanda_DB_Catalog \ Amanda_Device \ Amanda_Holding \ Amanda_Logfile \ Amanda_Process \ Amanda_Recovery_Clerk \ Amanda_Recovery_Planner \ Amanda_Recovery_Scan \ Amanda_Report \ Amanda_Rest_Configs \ Amanda_Rest_Dles \ Amanda_Rest_Dumps \ Amanda_Rest_Labels \ Amanda_Rest_Runs \ Amanda_Rest_Services_senddiscover \ Amanda_Rest_Services_senddiscover_amgtar \ Amanda_Rest_Storages \ Amanda_Rest_Storages_Labels \ Amanda_Rest_Version \ Amanda_Tapelist \ Amanda_Taper_Scan \ Amanda_Taper_Scan_lexical \ Amanda_Taper_Scan_oldest \ Amanda_Taper_Scan_traditional \ Amanda_Taper_Scribe \ bigint \ taper \ amcheck-device \ amgetconf \ amtape \ amlabel \ amtapetype \ chunker all_tests += $(server_tests) full_tests = \ 0_setupcache \ Amanda_Rest_Amcheck \ amadmin \ amcheck \ amcheckdump \ amdevcheck \ amdump \ amdump_client \ amflush \ amoverview \ amreport \ amrmtape \ amserverconfig \ amservice \ amstatus \ amvault \ example \ failure-client-custom-compress \ failure-client-custom-compress-end \ failure-client-custom-compress-not-found \ failure-client-custom-compress-no-exec \ failure-client-encrypt \ failure-client-encrypt-end \ failure-client-encrypt-not-found \ failure-client-encrypt-no-exec \ failure-dumper-try-again \ failure-server-custom-compress \ failure-server-custom-compress-end \ failure-server-custom-compress-not-found \ failure-server-custom-compress-no-exec \ failure-server-encrypt \ failure-server-encrypt-end \ failure-server-encrypt-not-found \ failure-server-encrypt-no-exec \ failure-xfer-dest-holding-file-first-close_chunk \ failure-xfer-dest-holding-file-second-close_chunk \ failure-xfer-dest-holding-file-open-first-header \ failure-xfer-dest-holding-file-open-second-header \ failure-xfer-dest-holding-file-write-first-data \ failure-xfer-dest-holding-file-write-first-header \ failure-xfer-dest-holding-file-write-second-data \ failure-xfer-dest-holding-file-write-second-header \ failure-xfer-dest-holding-shm-first-close_chunk \ failure-xfer-dest-holding-shm-second-close_chunk \ failure-xfer-dest-holding-shm-open-first-header \ failure-xfer-dest-holding-shm-open-second-header \ failure-xfer-dest-holding-shm-write-first-data \ failure-xfer-dest-holding-shm-write-first-header \ failure-xfer-dest-holding-shm-write-second-data \ failure-xfer-dest-holding-shm-write-second-header \ pp-scripts \ success-dumper-taper-vault \ success-dumper-chunker-taper \ success-dumper-chunker-2taper \ success-dumper-chunker-2taper-by-level \ success-dumper-taper \ success-dumper-chunker+dumper-chunker-taper-flush \ success-dumper-chunker+taper-flush \ success-dumper-chunker+2taper-flush \ tape_action all_tests += $(full_tests) restore_tests = \ amfetchdump \ amidxtaped \ amrestore\ dump-client-custom-compress+amfetchdump \ dump-client-encrypt+amfetchdump \ dump-server-custom-compress+amfetchdump \ dump-server-encrypt+amfetchdump all_tests += $(restore_tests) restore_tests_no_check_userid = \ amrecover all_tests += $(restore_tests_no_check_userid) ndmp_tests = \ Amanda_Changer_ndmp \ Amanda_NDMP all_tests += $(ndmp_tests) mock_tests = \ mock_mtx all_tests += $(mock_tests) # mock scripts mocks = \ mock/mail \ mock/mtx \ mock/lpr # data for test scripts test_data = \ data/aws-bundle.crt EXTRA_DIST += $(test_data) CLEANFILES += $(all_tests) $(mocks) $(noinst_SCRIPTS) amcat amcat-error amcat-error-end amcat-error-no-exec DISTCLEANFILES += config.log tests = # tests requiring neither client nor server tests += $(common_tests) tests += $(mock_tests) # tests requiring server if WANT_SERVER tests += $(server_tests) endif # tests requiring client if WANT_CLIENT tests += $(client_tests) endif # tests requiring a client and a server AND restore facilities (any tests that run amdump) if WANT_SERVER if WANT_CLIENT # tests requiring a client and a server (any tests that run amdump) tests += $(full_tests) # tests requiring a client, a server, *and* restore code if WANT_RESTORE tests += $(restore_tests) # and tests requiring all that *and* requiring CHECK_USERID is not set if !CHECK_USERID tests += $(restore_tests_no_check_userid) endif endif endif endif # tests that need a server with NDMP support if WANT_NDMP if WANT_SERVER tests += $(ndmp_tests) endif endif # Add any common files (that should not be run as tests, and that do not # require configure-variable substitution) here: test_utils = \ Installcheck.pm \ Installcheck/Catalogs.pm \ Installcheck/Config.pm \ Installcheck/ClientService.pm \ Installcheck/Mock.pm \ Installcheck/Rest.pm \ Installcheck/Run.pm \ Installcheck/Dumpcache.pm \ Installcheck/Application.pm \ Installcheck/Changer.pm EXTRA_DIST += $(test_utils) # the catalogs themselves catalogs = \ catalogs/amflush.cat \ catalogs/bigdb.cat \ catalogs/bigestimate.cat \ catalogs/chunker-partial.cat \ catalogs/doublefailure.cat \ catalogs/dumper-tryagain.cat \ catalogs/fatal.cat \ catalogs/filesystemstaped.cat \ catalogs/flush-noorigsize.cat \ catalogs/flush-origsize.cat \ catalogs/longstrange.cat \ catalogs/multi-taper.cat \ catalogs/normal.cat \ catalogs/number.cat \ catalogs/plannerfail.cat \ catalogs/quoted.cat \ catalogs/resultsmissing.cat \ catalogs/retried.cat \ catalogs/retried-nofinish.cat \ catalogs/retried-strange.cat \ catalogs/shortstrange.cat \ catalogs/skipped.cat \ catalogs/spanned.cat \ catalogs/dumper-chunker-taper-success.cat \ catalogs/dumper-taper-success.cat \ catalogs/strontium.cat \ catalogs/taperr.cat \ catalogs/tapers.cat \ catalogs/tapers1.cat \ catalogs/taper-parallel-write.cat \ catalogs/vault1.cat \ catalogs/vault2.cat \ catalogs/vault3.cat EXTRA_DIST += $(catalogs) # and finally some development utilities noinst_SCRIPTS = \ run-ndmp CHECK_PERL_FLAGS=-I$(top_srcdir)/installcheck SCRIPTS_PERL = $(tests) $(mocks) $(noinst_SCRIPTS) amcat-error amcat-error-end amcat-error-no-exec SCRIPTS_SHELL = amcat SCRIPTS_EXTRA_DIST = $(all_tests) # skip syntax checks on these files, since we're about to run all of them SKIP_CHECKS = yes .PHONY: clobber_my_config_is_ok clobber_my_config_is_ok: @if test "$(CONFIG_CLOBBER_MY_CONFIG)" != "OK" -a \ "$(CLOBBER_MY_CONFIG)" != "OK"; then \ echo ""; \ echo "'make installcheck' is a dangerous tool. It will overwrite your"; \ echo "amanda-client.conf and amandates, and (if it triggers an as-yet undetected"; \ echo "bug) may do other unexpected things. You are strongly encouraged"; \ echo " - not to run installchecks on a production install"; \ echo " - not to run installchecks as root"; \ echo "See http://wiki.zmanda.com/index.php/Testing for instructions on setting up a"; \ echo "test environment in which potential damage is limited by your filesystem's"; \ echo "permissions. To actually run the installchecks, invoke make as follows:"; \ echo " $(MAKE) CLOBBER_MY_CONFIG=OK installcheck"; \ exit 1; \ fi # newer Test::Harness (v3.18-3.21) implementations get confused by executable # test scripts, so this rule chmod a-x's them first installcheck-local: clobber_my_config_is_ok $(SCRIPTS_PERL) $(SCRIPTS_SHELL) chmod a-x amcat-error-no-exec rm -rf "$(AMANDA_TMPDIR)/installchecks" $(MKDIR_P) "$(AMANDA_TMPDIR)/installchecks" @if test -f "$(CONFIG_DIR)/amanda-client.conf" -a ! -f "$(CONFIG_DIR)/amanda-client.conf.install-backup"; then \ cp "$(CONFIG_DIR)/amanda-client.conf" "$(CONFIG_DIR)/amanda-client.conf.install-backup"; \ fi @if test -f "$(CONFIG_DIR)/template.d/dumptypes" -a ! -f "$(CONFIG_DIR)/template.d/dumptypes.install-backup"; then \ cp "$(CONFIG_DIR)/template.d/dumptypes" "$(CONFIG_DIR)/template.d/dumptypes.install-backup"; \ fi @if test -f "$(CONFIG_DIR)/template.d/tapetypes" -a ! -f "$(CONFIG_DIR)/template.d/tapetypes.install-backup"; then \ cp "$(CONFIG_DIR)/template.d/tapetypes" "$(CONFIG_DIR)/template.d/tapetypes.install-backup"; \ fi for f in $(tests); do chmod a-x $$f; done srcdir="$(srcdir)" $(PERL) -I$(srcdir) -I. -e 'use Test::Harness qw(&runtests); runtests(sort @ARGV);' $(tests) rm -rf "$(CONFIG_DIR)/TESTCONF" @if test -f "$(CONFIG_DIR)/amanda-client.conf.install-backup"; then \ mv -f "$(CONFIG_DIR)/amanda-client.conf.install-backup" "$(CONFIG_DIR)/amanda-client.conf"; \ else \ rm "$(CONFIG_DIR)/amanda-client.conf"; \ fi @if test -f "$(CONFIG_DIR)/template.d/dumptypes.install-backup"; then \ mv -f "$(CONFIG_DIR)/template.d/dumptypes.install-backup" "$(CONFIG_DIR)/template.d/dumptypes"; \ else \ rm -f "$(CONFIG_DIR)/template.d/dumptypes"; \ fi @if test -f "$(CONFIG_DIR)/template.d/tapetypes.install-backup"; then \ mv -f "$(CONFIG_DIR)/template.d/tapetypes.install-backup" "$(CONFIG_DIR)/template.d/tapetypes"; \ else \ rm -f "$(CONFIG_DIR)/template.d/tapetypes"; \ fi rm -rf "$(AMANDA_TMPDIR)/installchecks"