Bug#: 1989
[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 CHMOD = chmod
10
11 # some of these are pretty questionable.
12 PERL = /usr/bin/perl
13 # TEST_FILES = *.t
14 TEST_FILES = database_dependent.pl
15 TEST_CLASS =
16 RUN_EXPENSIVE_TESTS = 0
17 PROVE = /usr/bin/prove
18 PROVE_FLAGS = -v
19 PERL5LIB = ..
20 KOHA_CONF_DIR = ../etc
21 CONF_FILE_TEMPLATE = $(KOHA_CONF_DIR)/koha-conf.xml 
22 TEST_CONF_FILE = run/etc/koha-conf.xml
23 MKPATH = $(PERL) "-MExtUtils::Command" -e mkpath
24
25 TEST_REWRITE_SCRIPT = rewrite-config-test.PL
26 REAL_REWRITE_SCRIPT = ../rewrite-config.PL
27
28 ZEBRA_CONF_DIR = run/etc/zebradb
29 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
30
31 SCRIPTS = koha-zebra-ctl.sh koha-pazpar2-ctl.sh koha-zebraqueue-ctl.sh zebraqueue_daemon.pl
32 SRC_SCRIPT_DIR = ../misc/bin
33 TEST_SCRIPT_DIR = run/bin
34
35
36 all ::
37         $(NOECHO) $(ECHO) RUNNING THIS MAKEFILE MAY CAUSE LOSS OF DATA
38         $(NOECHO) $(ECHO) 
39         $(NOECHO) $(ECHO) This makefile is completely beta.
40         $(NOECHO) $(ECHO) Please read it first and edit the variables at the top.
41         $(NOECHO) $(ECHO) Then, you can run \'make test\'
42
43 config_file :: $(CONF_FILE_TEMPLATE) test_run_dirs
44         $(CP) $(CONF_FILE_TEMPLATE)  $(TEST_CONF_FILE)
45         $(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_CONF_FILE)
46         $(PERL) $(REAL_REWRITE_SCRIPT)  $(TEST_CONF_FILE)
47
48 zebra_conf_files :: test_run_dirs $(ZEBRA_CONF_FILES)
49
50
51 $(ZEBRA_CONF_FILES) ::
52         $(PERL) $(TEST_REWRITE_SCRIPT) --file $@
53         $(PERL) $(REAL_REWRITE_SCRIPT)  $@
54
55 $(SCRIPTS) ::
56         $(SED) s/--user=\$$USER.\$$GROUP// $(SRC_SCRIPT_DIR)/$@ > $(TEST_SCRIPT_DIR)/$@
57         $(PERL) $(TEST_REWRITE_SCRIPT) --file $(TEST_SCRIPT_DIR)/$@
58         $(PERL) $(REAL_REWRITE_SCRIPT)  $(TEST_SCRIPT_DIR)/$@
59         $(CHMOD) 755 $(TEST_SCRIPT_DIR)/$@
60
61 test :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
62         KOHA_CONF=$(TEST_CONF_FILE) PERL5LIB=$(PERL5LIB) TEST_CLASS=$(TEST_CLASS) RUN_EXPENSIVE_TESTS=$(RUN_EXPENSIVE_TESTS) \
63                 $(PROVE) $(PROVE_FLAGS) $(TEST_FILES) 
64
65 test-single :: config_file $(ZEBRA_CONF_FILES) $(SCRIPTS)
66         KOHA_CONF=$(TEST_CONF_FILE) PERL5LIB=$(PERL5LIB) RUN_EXPENSIVE_TESTS=1 SINGLE_TEST=1 \
67                 $(PROVE) $(PROVE_FLAGS) -Ilib $(TEST_FILES)
68
69 fulltest :: RUN_EXPENSIVE_TESTS = 1
70 fulltest :: test
71
72 test_run_dirs ::
73         $(MKPATH) run/etc
74         $(CP) -a ../etc/zebradb run/etc
75         $(MKPATH) run/etc/zebradb/etc
76         $(MKPATH) run/var/lib/zebradb/biblios/key
77         $(MKPATH) run/var/lib/zebradb/biblios/register
78         $(MKPATH) run/var/lib/zebradb/biblios/shadow
79         $(MKPATH) run/var/lib/zebradb/biblios/tmp
80         $(MKPATH) run/var/lib/zebradb/authorities/key
81         $(MKPATH) run/var/lib/zebradb/authorities/register
82         $(MKPATH) run/var/lib/zebradb/authorities/shadow
83         $(MKPATH) run/var/lib/zebradb/authorities/tmp
84         $(MKPATH) run/var/lock/zebradb/biblios
85         $(MKPATH) run/var/lock/zebradb/authorities
86         $(MKPATH) run/var/run/zebradb
87         $(MKPATH) run/var/log/zebradb
88         $(MKPATH) run/bin
89