diff options
Diffstat (limited to 'cpp/src/tests/Makefile.am')
-rw-r--r-- | cpp/src/tests/Makefile.am | 251 |
1 files changed, 219 insertions, 32 deletions
diff --git a/cpp/src/tests/Makefile.am b/cpp/src/tests/Makefile.am index 31328ef59a..9a6e67ca2e 100644 --- a/cpp/src/tests/Makefile.am +++ b/cpp/src/tests/Makefile.am @@ -1,11 +1,34 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + AM_CXXFLAGS = $(WARNING_CFLAGS) -DBOOST_TEST_DYN_LINK -INCLUDES = -I$(srcdir)/.. -I$(srcdir)/../gen -I$(top_builddir)/src/gen +INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src +PUBLIC_INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include # Use public API only abs_builddir=@abs_builddir@ +abs_srcdir=@abs_srcdir@ + extra_libs = lib_client = $(abs_builddir)/../libqpidclient.la lib_common = $(abs_builddir)/../libqpidcommon.la lib_broker = $(abs_builddir)/../libqpidbroker.la +lib_console = $(abs_builddir)/../libqmfconsole.la # lib_amqp_0_10 = $(abs_builddir)/../libqpidamqp_0_10.la # @@ -16,6 +39,19 @@ check_LTLIBRARIES= TESTS= EXTRA_DIST= CLEANFILES= +LONG_TESTS= + +# +# Destination for intalled programs and tests defined here +# +qpidexecdir = $(libexecdir)/qpid +qpidexec_PROGRAMS = +qpidexec_SCRIPTS = +qpidtestdir = $(qpidexecdir)/tests +qpidtest_PROGRAMS = +qpidtest_SCRIPTS = +tmoduledir = $(libdir)/qpid/tests +tmodule_LTLIBRARIES= # # Unit test program @@ -28,18 +64,21 @@ CLEANFILES= TESTS+=unit_test check_PROGRAMS+=unit_test unit_test_LDADD=-lboost_unit_test_framework -lboost_regex \ - $(lib_client) $(lib_broker) # $(lib_amqp_0_10) + $(lib_client) $(lib_broker) $(lib_console) unit_test_SOURCES= unit_test.cpp unit_test.h \ + MessagingSessionTests.cpp \ + ClientSessionTest.cpp \ BrokerFixture.h SocketProxy.h \ exception_test.cpp \ RefCounted.cpp \ - SessionState.cpp Blob.cpp logging.cpp \ + SessionState.cpp logging.cpp \ + AsyncCompletion.cpp \ Url.cpp Uuid.cpp \ Shlib.cpp FieldValue.cpp FieldTable.cpp Array.cpp \ + QueueOptionsTest.cpp \ InlineAllocator.cpp \ InlineVector.cpp \ - ClientSessionTest.cpp \ SequenceSet.cpp \ StringUtils.cpp \ IncompleteMessageList.cpp \ @@ -63,7 +102,22 @@ unit_test_SOURCES= unit_test.cpp unit_test.h \ TxPublishTest.cpp \ MessageBuilderTest.cpp \ ConnectionOptions.h \ - ForkedBroker.h + ForkedBroker.h \ + ForkedBroker.cpp \ + ManagementTest.cpp \ + MessageReplayTracker.cpp \ + ConsoleTest.cpp \ + QueueEvents.cpp \ + ProxyTest.cpp \ + RetryList.cpp \ + RateFlowcontrolTest.cpp \ + FrameDecoder.cpp \ + ReplicationTest.cpp \ + ClientMessageTest.cpp \ + PollableCondition.cpp \ + Variant.cpp \ + Address.cpp \ + ClientMessage.cpp if HAVE_XML unit_test_SOURCES+= XmlClientSessionTest.cpp @@ -77,94 +131,227 @@ endif # amqp_0_10/Map.cpp \ # amqp_0_10/handlers.cpp +TESTLIBFLAGS = -module -rpath $(abs_builddir) check_LTLIBRARIES += libshlibtest.la -libshlibtest_la_LDFLAGS = -module -rpath $(abs_builddir) +libshlibtest_la_LDFLAGS = $(TESTLIBFLAGS) libshlibtest_la_SOURCES = shlibtest.cpp +tmodule_LTLIBRARIES += test_store.la +test_store_la_SOURCES = test_store.cpp +test_store_la_LIBADD = $(lib_broker) +test_store_la_LDFLAGS = -module + include cluster.mk +if SSL +include ssl.mk +endif + +# receiver, sender are installed and therefore built as part of make, not make check +qpidtest_PROGRAMS += receiver +receiver_SOURCES = \ + receiver.cpp \ + TestOptions.h \ + ConnectionOptions.h +receiver_LDADD = $(lib_client) + +qpidtest_PROGRAMS += sender +sender_SOURCES = \ + sender.cpp \ + TestOptions.h \ + ConnectionOptions.h +sender_LDADD = $(lib_client) # # Other test programs # check_PROGRAMS+=perftest perftest_SOURCES=perftest.cpp test_tools.h TestOptions.h ConnectionOptions.h +perftest_INCLUDES=$(PUBLIC_INCLUDES) perftest_LDADD=$(lib_client) check_PROGRAMS+=txtest +txtest_INCLUDES=$(PUBLIC_INCLUDES) txtest_SOURCES=txtest.cpp TestOptions.h ConnectionOptions.h txtest_LDADD=$(lib_client) check_PROGRAMS+=latencytest +latencytest_INCLUDES=$(PUBLIC_INCLUDES) latencytest_SOURCES=latencytest.cpp TestOptions.h ConnectionOptions.h latencytest_LDADD=$(lib_client) +check_PROGRAMS+=echotest +echotest_INCLUDES=$(PUBLIC_INCLUDES) +echotest_SOURCES=echotest.cpp TestOptions.h ConnectionOptions.h +echotest_LDADD=$(lib_client) + check_PROGRAMS+=client_test +client_test_INCLUDES=$(PUBLIC_INCLUDES) client_test_SOURCES=client_test.cpp TestOptions.h ConnectionOptions.h client_test_LDADD=$(lib_client) check_PROGRAMS+=topic_listener +topic_listener_INCLUDES=$(PUBLIC_INCLUDES) topic_listener_SOURCES=topic_listener.cpp TestOptions.h ConnectionOptions.h topic_listener_LDADD=$(lib_client) check_PROGRAMS+=topic_publisher +topic_publisher_INCLUDES=$(PUBLIC_INCLUDES) topic_publisher_SOURCES=topic_publisher.cpp TestOptions.h ConnectionOptions.h topic_publisher_LDADD=$(lib_client) check_PROGRAMS+=publish +publish_INCLUDES=$(PUBLIC_INCLUDES) publish_SOURCES=publish.cpp TestOptions.h ConnectionOptions.h publish_LDADD=$(lib_client) check_PROGRAMS+=consume +consume_INCLUDES=$(PUBLIC_INCLUDES) consume_SOURCES=consume.cpp TestOptions.h ConnectionOptions.h consume_LDADD=$(lib_client) -TESTS_ENVIRONMENT = VALGRIND=$(VALGRIND) srcdir=$(srcdir) QPID_DATA_DIR= $(srcdir)/run_test +check_PROGRAMS+=header_test +header_test_INCLUDES=$(PUBLIC_INCLUDES) +header_test_SOURCES=header_test.cpp TestOptions.h ConnectionOptions.h +header_test_LDADD=$(lib_client) + +check_PROGRAMS+=failover_soak +failover_soak_INCLUDES=$(PUBLIC_INCLUDES) +failover_soak_SOURCES=failover_soak.cpp ForkedBroker.h ForkedBroker.cpp +failover_soak_LDADD=$(lib_client) $(lib_broker) + +check_PROGRAMS+=declare_queues +declare_queues_INCLUDES=$(PUBLIC_INCLUDES) +declare_queues_SOURCES=declare_queues.cpp +declare_queues_LDADD=$(lib_client) + +check_PROGRAMS+=replaying_sender +replaying_sender_INCLUDES=$(PUBLIC_INCLUDES) +replaying_sender_SOURCES=replaying_sender.cpp +replaying_sender_LDADD=$(lib_client) + +check_PROGRAMS+=resuming_receiver +resuming_receiver_INCLUDES=$(PUBLIC_INCLUDES) +resuming_receiver_SOURCES=resuming_receiver.cpp +resuming_receiver_LDADD=$(lib_client) + +check_PROGRAMS+=txshift +txshift_INCLUDES=$(PUBLIC_INCLUDES) +txshift_SOURCES=txshift.cpp TestOptions.h ConnectionOptions.h +txshift_LDADD=$(lib_client) -system_tests = client_test quick_perftest quick_topictest -TESTS += start_broker $(system_tests) python_tests stop_broker run_federation_tests +check_PROGRAMS+=txjob +txjob_INCLUDES=$(PUBLIC_INCLUDES) +txjob_SOURCES=txjob.cpp TestOptions.h ConnectionOptions.h +txjob_LDADD=$(lib_client) + +check_PROGRAMS+=PollerTest +PollerTest_SOURCES=PollerTest.cpp +PollerTest_LDADD=$(lib_common) $(SOCKLIBS) + +check_PROGRAMS+=DispatcherTest +DispatcherTest_SOURCES=DispatcherTest.cpp +DispatcherTest_LDADD=$(lib_common) $(SOCKLIBS) + +check_PROGRAMS+=qpid_ping +qpid_ping_INCLUDES=$(PUBLIC_INCLUDES) +qpid_ping_SOURCES=qpid_ping.cpp test_tools.h TestOptions.h ConnectionOptions.h +qpid_ping_LDADD=$(lib_client) + +check_PROGRAMS+=datagen +datagen_SOURCES=datagen.cpp +datagen_LDADD=$(lib_common) + +check_PROGRAMS+=qrsh_server +qrsh_server_SOURCES=qrsh_server.cpp +qrsh_server_LDADD=$(lib_client) + +check_PROGRAMS+=qrsh_run +qrsh_run_SOURCES=qrsh_run.cpp +qrsh_run_LDADD=$(lib_client) + +check_PROGRAMS+=qrsh +qrsh_SOURCES=qrsh.cpp +qrsh_LDADD=$(lib_client) + +check_PROGRAMS+=qpid_stream +qpid_stream_INCLUDES=$(PUBLIC_INCLUDES) +qpid_stream_SOURCES=qpid_stream.cpp +qpid_stream_LDADD=$(lib_client) + +TESTS_ENVIRONMENT = \ + VALGRIND=$(VALGRIND) \ + LIBTOOL="$(LIBTOOL)" \ + QPID_DATA_DIR= \ + BOOST_TEST_SHOW_PROGRESS=yes \ + $(srcdir)/run_test + +system_tests = client_test quick_perftest quick_topictest run_header_test quick_txtest +TESTS += start_broker $(system_tests) python_tests stop_broker run_federation_tests run_acl_tests run_cli_tests replication_test EXTRA_DIST += \ run_test vg_check \ run-unit-tests start_broker python_tests stop_broker \ quick_topictest \ quick_perftest \ + quick_txtest \ topictest \ + run_header_test \ + header_test.py \ + ssl_test \ + config.null \ + ais_check \ run_federation_tests \ + run_cli_tests \ + run_acl_tests \ .valgrind.supp \ MessageUtils.h \ TestMessageStore.h \ - MockConnectionInputHandler.h \ TxMocks.h \ - start_cluster stop_cluster restart_cluster + replication_test \ + run_perftest \ + ring_queue_test \ + run_ring_queue_test \ + cluster.cmake check_LTLIBRARIES += libdlclose_noop.la libdlclose_noop_la_LDFLAGS = -module -rpath $(abs_builddir) libdlclose_noop_la_SOURCES = dlclose_noop.c -CLEANFILES+=valgrind.out *.log *.vglog* dummy_test $(unit_wrappers) +CLEANFILES+=valgrind.out *.log *.vglog* dummy_test qpidd.port $(unit_wrappers) -# FIXME aconway 2008-05-23: Disabled interop_runner because it uses -# the obsolete Channel class. Convert to Session and re-enable. -# -# check_PROGRAMS += interop_runner +# Longer running stability tests, not run by default check: target. +# Not run under valgrind, too slow -# interop_runner_SOURCES = \ -# interop_runner.cpp \ -# SimpleTestCaseBase.cpp \ -# BasicP2PTest.cpp \ -# BasicPubSubTest.cpp \ -# SimpleTestCaseBase.h \ -# BasicP2PTest.h \ -# BasicPubSubTest.h \ -# TestCase.h \ -# TestOptions.h ConnectionOptions.h -# interop_runner_LDADD = $(lib_client) $(lib_common) $(extra_libs) +LONG_TESTS+=start_broker fanout_perftest shared_perftest multiq_perftest topic_perftest run_ring_queue_test stop_broker \ + run_failover_soak reliable_replication_test \ + federated_cluster_test_with_node_failure +EXTRA_DIST+= \ + CMakeLists.txt \ + fanout_perftest \ + shared_perftest \ + multiq_perftest \ + topic_perftest \ + run_failover_soak \ + reliable_replication_test \ + federated_cluster_test_with_node_failure \ + windows/DisableWin32ErrorWindows.cpp -# Longer running stability tests, not run by default check: target. -# Not run under valgrind, too slow -LONG_TESTS=fanout_perftest shared_perftest multiq_perftest topic_perftest -EXTRA_DIST+=$(LONG_TESTS) run_perftest check-long: - $(MAKE) check TESTS="start_broker $(LONG_TESTS) stop_broker" VALGRIND= + $(MAKE) check TESTS="$(LONG_TESTS)" VALGRIND= + +check: python_prep + +PYTHON_SRC_DIR=$(abs_srcdir)/../../../python +PYTHON_BLD_DIR=$(abs_builddir)/python +AMQP_SPEC_DIR=$(abs_srcdir)/../../../specs + +# Generate python client as part of the all-am target so it gets built before tests. +all-am: python_prep + +python_prep: + if test -d $(PYTHON_SRC_DIR) -a -d $(AMQP_SPEC_DIR); \ + then $(MAKE) -C $(PYTHON_SRC_DIR) install PREFIX=$(PYTHON_BLD_DIR) PYTHON_LIB=$(PYTHON_BLD_DIR) EXEC_PREFIX=$(PYTHON_BLD_DIR)/commands AMQP_SPEC_DIR=$(AMQP_SPEC_DIR); \ + else echo "WARNING: python client not built, missing one of $(PYTHON_SRC_DIR) $(AMQP_SPEC_DIR)"; fi + |