Koha/t/Makefile
Andrew Moore dff4d760f6 Bug 2524: Adding script to submit test reports to smolder server
This patch adds a target in the t/Makefile and a script in t/smolder_smoke_signal
to submit the results of test runs to a smolder server. It will allow users to submit
their own test results to a central location by running "make submit" from the t/
directory.

Smolder is a web-based application that aggregates and presents the output of
tests. We have an instance running at:
http://arwen.metavore.com:8000/app/public_projects/smoke_reports/1

More information about using smolder for Koha is available at:
http://wiki.koha.org/doku.php?id=en:development:smoke_reports

I intend to have the test suite run each night automatically and the results
sent to the smolder server. This will help us keep track of the current state
of the the code and possibly catch bugs introduced by changes. I encourge others
to submit their own test results if they want, especially if they are on an unusual
platform or are with a non-standard configuration.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-18 07:16:35 -05:00

111 lines
4 KiB
Makefile

SHELL = /bin/sh
NOOP = $(SHELL) -c true
NOECHO = @
ECHO = echo
MKDIR = /bin/mkdir
CP = cp
SED = /bin/sed
CHMOD = chmod
RM = /bin/rm
# some of these are pretty questionable.
PERL = /usr/bin/perl
# TEST_FILES = *.t
TEST_FILES = database_dependent.pl
TEST_CLASS =
RUN_EXPENSIVE_TESTS = 0
PROVE = /usr/bin/prove
PROVE_FLAGS = -v
PERL5LIB = ..
KOHA_CONF_DIR = ../etc
CONF_FILE_TEMPLATE = $(KOHA_CONF_DIR)/koha-conf.xml
TEST_CONF_FILE = run/etc/koha-conf.xml
MKPATH = $(PERL) "-MExtUtils::Command" -e mkpath
TEST_REWRITE_SCRIPT = rewrite-config-test.PL
REAL_REWRITE_SCRIPT = ../rewrite-config.PL
ZEBRA_CONF_DIR = run/etc/zebradb
ZEBRA_CONF_FILES = $(ZEBRA_CONF_DIR)/etc/passwd $(ZEBRA_CONF_DIR)/zebra-biblios.cfg $(ZEBRA_CONF_DIR)/zebra-authorities.cfg $(ZEBRA_CONF_DIR)/zebra-authorities-dom.cfg $(ZEBRA_CONF_DIR)/explain-authorities.xml $(ZEBRA_CONF_DIR)/explain-biblios.xml $(ZEBRA_CONF_DIR)/retrieval-info-auth-grs1.xml $(ZEBRA_CONF_DIR)/retrieval-info-auth-dom.xml $(ZEBRA_CONF_DIR)/ccl.properties $(ZEBRA_CONF_DIR)/cql.properties $(ZEBRA_CONF_DIR)/pqf.properties
SCRIPTS = koha-zebra-ctl.sh koha-pazpar2-ctl.sh koha-zebraqueue-ctl.sh zebraqueue_daemon.pl
SRC_SCRIPT_DIR = ../misc/bin
TEST_SCRIPT_DIR = run/bin
SMOLDER_SERVER = 72.232.235.42:8000
SMOLDER_REPORT_FILENAME = kohatests.txt
SMOLDER_REPORT_TARBALL = kohatests.tar.gz
SMOLDER_PROJECT_NAME = Koha
SMOLDER_SMOKE_SIGNAL = ./smolder_smoke_signal
all ::
$(NOECHO) $(ECHO) RUNNING THIS MAKEFILE MAY CAUSE LOSS OF DATA
$(NOECHO) $(ECHO)
$(NOECHO) $(ECHO) This makefile is completely beta.
$(NOECHO) $(ECHO) Please read it first and edit the variables at the top.
$(NOECHO) $(ECHO) Then, you can run \'make test\'
config_file :: $(CONF_FILE_TEMPLATE) test_run_dirs
$(CP) $(CONF_FILE_TEMPLATE) $(TEST_CONF_FILE)
$(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_CONF_FILE)
$(PERL) $(REAL_REWRITE_SCRIPT) $(TEST_CONF_FILE)
zebra_conf_files :: test_run_dirs $(ZEBRA_CONF_FILES)
$(ZEBRA_CONF_FILES) ::
$(PERL) $(TEST_REWRITE_SCRIPT) --file $@
$(PERL) $(REAL_REWRITE_SCRIPT) $@
$(SCRIPTS) ::
$(SED) s/--user=\$$USER.\$$GROUP// $(SRC_SCRIPT_DIR)/$@ > $(TEST_SCRIPT_DIR)/$@
$(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_SCRIPT_DIR)/$@
$(PERL) $(REAL_REWRITE_SCRIPT) $(TEST_SCRIPT_DIR)/$@
$(CHMOD) 755 $(TEST_SCRIPT_DIR)/$@
test :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
KOHA_CONF=$(TEST_CONF_FILE) PERL5LIB=$(PERL5LIB) TEST_CLASS=$(TEST_CLASS) RUN_EXPENSIVE_TESTS=$(RUN_EXPENSIVE_TESTS) \
$(PROVE) $(PROVE_FLAGS) $(TEST_FILES)
test-single :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
KOHA_CONF=$(TEST_CONF_FILE) PERL5LIB=$(PERL5LIB) RUN_EXPENSIVE_TESTS=1 SINGLE_TEST=1 \
$(PROVE) $(PROVE_FLAGS) -Ilib $(TEST_FILES)
fulltest :: RUN_EXPENSIVE_TESTS = 1
fulltest :: test
test_run_dirs ::
$(MKPATH) run/etc
$(CP) -a ../etc/zebradb run/etc
$(MKPATH) run/etc/zebradb/etc
$(MKPATH) run/var/lib/zebradb/biblios/key
$(MKPATH) run/var/lib/zebradb/biblios/register
$(MKPATH) run/var/lib/zebradb/biblios/shadow
$(MKPATH) run/var/lib/zebradb/biblios/tmp
$(MKPATH) run/var/lib/zebradb/authorities/key
$(MKPATH) run/var/lib/zebradb/authorities/register
$(MKPATH) run/var/lib/zebradb/authorities/shadow
$(MKPATH) run/var/lib/zebradb/authorities/tmp
$(MKPATH) run/var/lock/zebradb/biblios
$(MKPATH) run/var/lock/zebradb/authorities
$(MKPATH) run/var/run/zebradb
$(MKPATH) run/var/log/zebradb
$(MKPATH) run/bin
submit_report :: $(SMOLDER_REPORT_TARBALL)
$(SMOLDER_SMOKE_SIGNAL) --server $(SMOLDER_SERVER) --file $(SMOLDER_REPORT_TARBALL) --project $(SMOLDER_PROJECT_NAME) --anonymous
# $(RM) $(SMOLDER_REPORT_TARBALL)
submit :: submit_report
$(SMOLDER_REPORT_TARBALL) :: $(SMOLDER_REPORT_FILENAME)
tar zcvf $(SMOLDER_REPORT_TARBALL) kohatests.txt
$(RM) $(SMOLDER_REPORT_FILENAME)
$(SMOLDER_REPORT_FILENAME) :: report
report :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
KOHA_CONF=$(TEST_CONF_FILE) PERL5LIB=$(PERL5LIB) TEST_CLASS=$(TEST_CLASS) RUN_EXPENSIVE_TESTS=$(RUN_EXPENSIVE_TESTS) \
$(PROVE) $(PROVE_FLAGS) $(TEST_FILES) > $(SMOLDER_REPORT_FILENAME)