1# 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 20AUTOMAKE_OPTIONS = serial-tests 21 22# Thrift compiler rules 23 24debug_proto_gen = $(addprefix gen-d/, DebugProtoTest_types.d) 25 26$(debug_proto_gen): $(top_srcdir)/test/v0.16/DebugProtoTest.thrift 27 $(THRIFT) --gen d -nowarn $< 28 29stress_test_gen = $(addprefix gen-d/thrift/test/stress/, Service.d \ 30 StressTest_types.d) 31 32$(stress_test_gen): $(top_srcdir)/test/StressTest.thrift 33 $(THRIFT) --gen d $< 34 35thrift_test_gen = $(addprefix gen-d/thrift/test/, SecondService.d \ 36 ThriftTest.d ThriftTest_constants.d ThriftTest_types.d) 37 38$(thrift_test_gen): $(top_srcdir)/test/v0.16/ThriftTest.thrift 39 $(THRIFT) --gen d $< 40 41 42# The actual test targets. 43# There just must be some way to reassign a variable without warnings in 44# Automake... 45targets__ = async_test client_pool_test serialization_benchmark \ 46 stress_test_server thrift_test_client thrift_test_server transport_test 47ran_tests__ = client_pool_test \ 48 transport_test \ 49 async_test_runner.sh \ 50 thrift_test_runner.sh 51 52libevent_dependent_targets = async_test_client client_pool_test \ 53 stress_test_server thrift_test_server 54libevent_dependent_ran_tests = client_pool_test async_test_runner.sh thrift_test_runner.sh 55 56openssl_dependent_targets = async_test thrift_test_client thrift_test_server 57openssl_dependent_ran_tests = async_test_runner.sh thrift_test_runner.sh 58 59d_test_flags = 60 61if WITH_D_EVENT_TESTS 62d_test_flags += $(DMD_LIBEVENT_FLAGS) ../$(D_EVENT_LIB_NAME) 63targets_ = $(targets__) 64ran_tests_ = $(ran_tests__) 65else 66targets_ = $(filter-out $(libevent_dependent_targets), $(targets__)) 67ran_tests_ = $(filter-out $(libevent_dependent_ran_tests), $(ran_tests__)) 68endif 69 70if WITH_D_SSL_TESTS 71d_test_flags += $(DMD_OPENSSL_FLAGS) ../$(D_SSL_LIB_NAME) 72targets = $(targets_) 73ran_tests = $(ran_tests_) 74else 75targets = $(filter-out $(openssl_dependent_targets), $(targets_)) 76ran_tests = $(filter-out $(openssl_dependent_ran_tests), $(ran_tests_)) 77endif 78 79d_test_flags += -w -wi -O -release -inline -I$(top_srcdir)/lib/d/src -Igen-d \ 80 $(top_builddir)/lib/d/$(D_LIB_NAME) 81 82 83async_test client_pool_test transport_test: %: %.d 84 $(DMD) $(d_test_flags) -of$@ $^ 85 86serialization_benchmark: %: %.d $(debug_proto_gen) 87 $(DMD) $(d_test_flags) -of$@ $^ 88 89stress_test_server: %: %.d test_utils.d $(stress_test_gen) 90 $(DMD) $(d_test_flags) -of$@ $^ 91 92thrift_test_client: %: %.d thrift_test_common.d $(thrift_test_gen) 93 $(DMD) $(d_test_flags) -of$@ $^ 94 95thrift_test_server: %: %.d thrift_test_common.d test_utils.d $(thrift_test_gen) 96 $(DMD) $(d_test_flags) -of$@ $^ 97 98 99check-local: $(targets) 100 101clean-local: 102 $(RM) -rf gen-d $(targets) $(addsuffix .o, $(targets)) 103 104 105# Tests ran as part of make check. 106 107async_test_runner.sh: async_test 108thrift_test_runner.sh: thrift_test_client thrift_test_server 109 110TESTS = $(ran_tests) 111 112precross: $(targets) 113