blob: 3b6a6f14a507debab77ed78780491bfc304b71f6 [file] [log] [blame]
Jake Farrellb95b0ff2012-03-22 21:49:10 +00001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
jfarrell8fd8c632014-07-10 09:14:51 -040020AUTOMAKE_OPTIONS = serial-tests
Jake Farrellb95b0ff2012-03-22 21:49:10 +000021
Nobuaki Sukegawa4d28b602016-02-28 13:25:54 +090022BUILT_SOURCES = trusted-ca-certificate.pem server-certificate.pem
23
24
Jake Farrellb95b0ff2012-03-22 21:49:10 +000025# Thrift compiler rules
26
Jake Farrellb95b0ff2012-03-22 21:49:10 +000027debug_proto_gen = $(addprefix gen-d/, DebugProtoTest_types.d)
28
29$(debug_proto_gen): $(top_srcdir)/test/DebugProtoTest.thrift
Jens Geyer79f988c2014-10-03 20:42:54 +020030 $(THRIFT) --gen d -nowarn $<
Jake Farrellb95b0ff2012-03-22 21:49:10 +000031
32stress_test_gen = $(addprefix gen-d/thrift/test/stress/, Service.d \
Jens Geyer79f988c2014-10-03 20:42:54 +020033 StressTest_types.d)
Jake Farrellb95b0ff2012-03-22 21:49:10 +000034
35$(stress_test_gen): $(top_srcdir)/test/StressTest.thrift
Jens Geyer79f988c2014-10-03 20:42:54 +020036 $(THRIFT) --gen d $<
Jake Farrellb95b0ff2012-03-22 21:49:10 +000037
38thrift_test_gen = $(addprefix gen-d/thrift/test/, SecondService.d \
Jens Geyer79f988c2014-10-03 20:42:54 +020039 ThriftTest.d ThriftTest_constants.d ThriftTest_types.d)
Jake Farrellb95b0ff2012-03-22 21:49:10 +000040
41$(thrift_test_gen): $(top_srcdir)/test/ThriftTest.thrift
Jens Geyer79f988c2014-10-03 20:42:54 +020042 $(THRIFT) --gen d $<
Jake Farrellb95b0ff2012-03-22 21:49:10 +000043
44
45# The actual test targets.
46# There just must be some way to reassign a variable without warnings in
47# Automake...
48targets__ = async_test client_pool_test serialization_benchmark \
Jens Geyer79f988c2014-10-03 20:42:54 +020049 stress_test_server thrift_test_client thrift_test_server transport_test
Jake Farrellb95b0ff2012-03-22 21:49:10 +000050ran_tests__ = client_pool_test \
Jens Geyer79f988c2014-10-03 20:42:54 +020051 transport_test \
52 async_test_runner.sh \
53 thrift_test_runner.sh
Jake Farrellb95b0ff2012-03-22 21:49:10 +000054
55libevent_dependent_targets = async_test_client client_pool_test \
Jens Geyer79f988c2014-10-03 20:42:54 +020056 stress_test_server thrift_test_server
Roger Meier38391a72014-01-12 19:58:54 +010057libevent_dependent_ran_tests = client_pool_test async_test_runner.sh thrift_test_runner.sh
Jake Farrellb95b0ff2012-03-22 21:49:10 +000058
59openssl_dependent_targets = async_test thrift_test_client thrift_test_server
60openssl_dependent_ran_tests = async_test_runner.sh thrift_test_runner.sh
61
62d_test_flags =
63
64if WITH_D_EVENT_TESTS
65d_test_flags += $(DMD_LIBEVENT_FLAGS) ../$(D_EVENT_LIB_NAME)
66targets_ = $(targets__)
67ran_tests_ = $(ran_tests__)
68else
69targets_ = $(filter-out $(libevent_dependent_targets), $(targets__))
70ran_tests_ = $(filter-out $(libevent_dependent_ran_tests), $(ran_tests__))
71endif
72
73if WITH_D_SSL_TESTS
74d_test_flags += $(DMD_OPENSSL_FLAGS) ../$(D_SSL_LIB_NAME)
Nobuaki Sukegawa8b791b22016-03-05 13:40:25 +090075targets = $(targets_)
Jake Farrellb95b0ff2012-03-22 21:49:10 +000076ran_tests = $(ran_tests_)
77else
78targets = $(filter-out $(openssl_dependent_targets), $(targets_))
79ran_tests = $(filter-out $(openssl_dependent_ran_tests), $(ran_tests_))
80endif
81
82d_test_flags += -w -wi -O -release -inline -I$(top_srcdir)/lib/d/src -Igen-d \
Jens Geyer79f988c2014-10-03 20:42:54 +020083 $(top_builddir)/lib/d/$(D_LIB_NAME)
Jake Farrellb95b0ff2012-03-22 21:49:10 +000084
85
86async_test client_pool_test transport_test: %: %.d
Jens Geyer79f988c2014-10-03 20:42:54 +020087 $(DMD) $(d_test_flags) -of$@ $^
Jake Farrellb95b0ff2012-03-22 21:49:10 +000088
89serialization_benchmark: %: %.d $(debug_proto_gen)
Jens Geyer79f988c2014-10-03 20:42:54 +020090 $(DMD) $(d_test_flags) -of$@ $^
Jake Farrellb95b0ff2012-03-22 21:49:10 +000091
92stress_test_server: %: %.d test_utils.d $(stress_test_gen)
Jens Geyer79f988c2014-10-03 20:42:54 +020093 $(DMD) $(d_test_flags) -of$@ $^
Jake Farrellb95b0ff2012-03-22 21:49:10 +000094
95thrift_test_client: %: %.d thrift_test_common.d $(thrift_test_gen)
Jens Geyer79f988c2014-10-03 20:42:54 +020096 $(DMD) $(d_test_flags) -of$@ $^
Jake Farrellb95b0ff2012-03-22 21:49:10 +000097
98thrift_test_server: %: %.d thrift_test_common.d test_utils.d $(thrift_test_gen)
Jens Geyer79f988c2014-10-03 20:42:54 +020099 $(DMD) $(d_test_flags) -of$@ $^
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000100
101
102# Certificate generation targets (for the SSL tests).
103# Currently, we just assume that the "openssl" tool is on the path, could be
104# replaced by a more elaborate mechanism.
105
106server-certificate.pem: openssl.test.cnf
Jens Geyer79f988c2014-10-03 20:42:54 +0200107 openssl req -new -x509 -nodes -config openssl.test.cnf \
108 -out server-certificate.pem
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000109
110trusted-ca-certificate.pem: server-certificate.pem
Jens Geyer79f988c2014-10-03 20:42:54 +0200111 cat server-certificate.pem > $@
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000112
113check-local: $(targets)
114
115clean-local:
Jens Geyer79f988c2014-10-03 20:42:54 +0200116 $(RM) -rf gen-d $(targets) $(addsuffix .o, $(targets))
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000117
118
119# Tests ran as part of make check.
120
121async_test_runner.sh: async_test trusted-ca-certificate.pem server-certificate.pem
122thrift_test_runner.sh: thrift_test_client thrift_test_server \
Jens Geyer79f988c2014-10-03 20:42:54 +0200123 trusted-ca-certificate.pem server-certificate.pem
Jake Farrellb95b0ff2012-03-22 21:49:10 +0000124
125TESTS = $(ran_tests)
Nobuaki Sukegawa8b791b22016-03-05 13:40:25 +0900126
127precross: $(targets)