~drizzle-trunk/drizzle/development

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# vim:ft=automake
# Copyright (C) 2000-2006 MySQL AB
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; version 2
# of the License.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA

benchdir_root=		$(prefix)
testdir =	        $(benchdir_root)/mysql-test
EXTRA_SCRIPTS = 	tests/valgrind.supp $(PRESCRIPTS)
GENSCRIPTS =		tests/dtr tests/mtr tests/test-run
PRESCRIPTS =		tests/test-run.pl tests/stress-test.pl
PLUGIN_TESTS =		$(pandora_plugin_test_list)
ALL_TESTS =		main,big,$(PLUGIN_TESTS)
noinst_SCRIPTS =	$(GENSCRIPTS) $(PRESCRIPTS)
CLEANFILES += 		$(GENSCRIPTS) tests/mtr

TEST_RUN= $(PERL) -I../$(top_srcdir)/tests/lib \
		../${top_srcdir}/tests/test-run.pl \
		--top-srcdir=../${top_srcdir} \
		--top-builddir=../${top_builddir} \
		--vardir=../${top_builddir}/tests/var \
		--suitepath=../${top_srcdir}/plugin \
		--testdir=../${top_srcdir}/tests \
		--mtr-build-thread=$$$$

EXTRA_DIST += \
	$(EXTRA_SCRIPTS) \
	${srcdir}/tests/README.stress \
	${srcdir}/tests/suite \
	${srcdir}/tests/t \
	${srcdir}/tests/include/*.inc \
	${srcdir}/tests/include/*.sql \
	${srcdir}/tests/include/*.test \
	${srcdir}/tests/r/*.result \
	${srcdir}/tests/r/*.require \
	${srcdir}/tests/r/pbxt/*result \
	${srcdir}/tests/std_data \
	${srcdir}/tests/lib/*.pl \
	${srcdir}/tests/lib/My/*.pm

check-local: test-drizzle

# dtr - a shortcut for executing test-run.pl
tests/dtr:
	$(RM) -f tests/dtr
	$(LN_S) test-run.pl tests/dtr

tests/var:
	$(mkdir_p) tests/var

tests/mtr:
	$(RM) -f tests/mtr
	$(LN_S) test-run.pl tests/mtr

# test-run - a shortcut for executing test-run.pl
tests/test-run: tests/var
	$(RM) -f tests/test-run
	$(LN_S) test-run.pl tests/test-run


.PHONY: test \
	test-all \
	test-big \
	test-drizzle \
	test-plugins

# Target 'test' will run the regression test suite using the built server.
#
# If you are running in a shared environment, users can avoid clashing
# port numbers by setting individual small numbers 1-100 to the
# environment variable MTR_BUILD_THREAD. The script "test-run"
# will then calculate the various port numbers it needs from this,
# making sure each user use different ports.

test: check

# Please keep the list of tests in alphabetical order for ease of
# maintenance and verification

test-all:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=$(ALL_TESTS))

test-drizzle:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=main,$(PLUGIN_TESTS))

test-valgrind:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --valgrind --force --suite=main,$(PLUGIN_TESTS))

test-valgrind-suppressions:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --valgrind --valgrind-option='--gen-suppressions=all' --valgrind-option='--show-reachable=yes' --force --suite=main,$(PLUGIN_TESTS))

test-junitxml:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=main,$(PLUGIN_TESTS) --subunit | subunit2junitxml --no-passthrough > junit-format.xml )

test-big:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=big )

test-big-junitxml:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=big --subunit | subunit2junitxml --no-passthrough > junit-format-big.xml )

test-jp:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=jp )

test-plugins:
	( cd tests && $(TEST_RUN) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=$(PLUGIN_TESTS) )

distclean-local: nukevar

nukevar:
	rm -rf tests/var

.PHONY: nukevar