improvements to automated tests, including a testing database
[koha.git] / t / Makefile
1
2 SHELL = /bin/sh
3 NOOP = $(SHELL) -c true
4 NOECHO = @
5 ECHO = echo
6 MKDIR = /bin/mkdir
7 CP = cp
8 SED = /bin/sed
9
10 # some of these are pretty questionable.
11 PERL = /usr/bin/perl
12 # TEST_FILES = *.t
13 TEST_FILES = database_dependent.pl
14 PROVE = /usr/bin/prove
15 PROVE_FLAGS = -v
16 KOHA_CONF_DIR = ../etc
17 CONF_FILE_TEMPLATE = $(KOHA_CONF_DIR)/koha-conf.xml 
18 TEST_CONF_FILE = etc/koha-conf.xml
19 MKPATH = $(PERL) "-MExtUtils::Command" -e mkpath
20
21 TEST_REWRITE_SCRIPT = rewrite-config-test.PL
22 REAL_REWRITE_SCRIPT = ../rewrite-config.PL
23
24 ZEBRA_CONF_DIR = etc/zebradb
25 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
26
27 SCRIPTS = koha-zebra-ctl.sh koha-pazpar2-ctl.sh koha-zebraqueue-ctl.sh zebraqueue_daemon.pl
28 SRC_SCRIPT_DIR = ../misc/bin
29 TEST_SCRIPT_DIR = bin
30
31
32 all ::
33         $(NOECHO) $(ECHO) RUNNING THIS MAKEFILE MAY CAUSE LOSS OF DATA
34         $(NOECHO) $(ECHO) 
35         $(NOECHO) $(ECHO) This makefile is completely beta.
36         $(NOECHO) $(ECHO) Please read it first and edit the variables at the top.
37         $(NOECHO) $(ECHO) Then, you can run \'make test\'
38
39 config_file :: $(CONF_FILE_TEMPLATE) test_run_dirs
40         $(CP) $(CONF_FILE_TEMPLATE)  $(TEST_CONF_FILE)
41         $(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_CONF_FILE)
42         $(PERL) $(REAL_REWRITE_SCRIPT)  $(TEST_CONF_FILE)
43
44 zebra_conf_files :: test_run_dirs $(ZEBRA_CONF_FILES)
45
46
47 $(ZEBRA_CONF_FILES) ::
48         $(CP) ../$@ $@
49         $(PERL) $(TEST_REWRITE_SCRIPT) --file $@
50         $(PERL) $(REAL_REWRITE_SCRIPT)  $@
51
52 $(SCRIPTS) ::
53         $(SED) s/--user=\$$USER.\$$GROUP// $(SRC_SCRIPT_DIR)/$@ > $(TEST_SCRIPT_DIR)/$@
54         $(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_SCRIPT_DIR)/$@
55         $(PERL) $(REAL_REWRITE_SCRIPT)  $(TEST_SCRIPT_DIR)/$@
56
57 test :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
58         KOHA_CONF=$(TEST_CONF_FILE) $(PROVE) $(PROVE_FLAGS) $(TEST_FILES)
59
60 test_run_dirs ::
61         $(CP) -a ../etc/zebradb etc
62         $(MKPATH) etc/zebradb/etc
63         $(MKPATH) var/lib/zebradb/biblios/key
64         $(MKPATH) var/lib/zebradb/biblios/register
65         $(MKPATH) var/lib/zebradb/biblios/shadow
66         $(MKPATH) var/lib/zebradb/biblios/tmp
67         $(MKPATH) var/lib/zebradb/authorities/key
68         $(MKPATH) var/lib/zebradb/authorities/register
69         $(MKPATH) var/lib/zebradb/authorities/shadow
70         $(MKPATH) var/lib/zebradb/authorities/tmp
71         $(MKPATH) var/lock/zebradb/biblios
72         $(MKPATH) var/lock/zebradb/authorities
73         $(MKPATH) var/run/zebradb
74         $(MKPATH) var/log/zebradb
75         $(MKPATH) bin
76