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
|
# The contents of this file are subject to the Mozilla Public License
# Version 1.1 (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.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# License for the specific language governing rights and limitations
# under the License.
#
# The Original Code is RabbitMQ.
#
# The Initial Developer of the Original Code is VMware, Inc.
# Copyright (c) 2007-2012 VMware, Inc. All rights reserved.
#
IS_SUCCESS:=egrep "All .+ tests (successful|passed)."
TESTING_MESSAGE:=-eval 'error_logger:tty(false), io:format("~nTesting in progress. Please wait...~n~n").'
prepare_tests: compile compile_tests
all_tests: prepare_tests
OK=true && \
{ $(MAKE) test_suites || OK=false; } && \
{ $(MAKE) test_common_package || OK=false; } && \
{ $(MAKE) test_direct || OK=false; } && \
$$OK
test_suites: prepare_tests
OK=true && \
{ $(MAKE) test_network || OK=false; } && \
{ $(MAKE) test_remote_direct || OK=false; } && \
$(ALL_SSL) && \
$$OK
test_suites_coverage: prepare_tests
OK=true && \
{ $(MAKE) test_network_coverage || OK=false; } && \
{ $(MAKE) test_direct_coverage || OK=false; } && \
$(ALL_SSL_COVERAGE) && \
$$OK
## Starts a broker, configures users and runs the tests on the same node
run_test_in_broker:
$(MAKE) start_test_broker_node
$(MAKE) unboot_broker
OK=true && \
TMPFILE=$(MKTEMP) && \
{ $(MAKE) -C $(BROKER_DIR) run-node \
RABBITMQ_SERVER_START_ARGS="$(PA_LOAD_PATH) $(SSL_BROKER_ARGS) \
-noshell -s rabbit $(RUN_TEST_ARGS) -s init stop" 2>&1 | \
tee $$TMPFILE || OK=false; } && \
{ $(IS_SUCCESS) $$TMPFILE || OK=false; } && \
rm $$TMPFILE && \
$(MAKE) boot_broker && \
$(MAKE) stop_test_broker_node && \
$$OK
## Starts a broker, configures users and runs the tests from a different node
run_test_detached: start_test_broker_node
OK=true && \
TMPFILE=$(MKTEMP) && \
{ $(RUN) -noinput $(TESTING_MESSAGE) \
$(SSL_CLIENT_ARGS) $(RUN_TEST_ARGS) \
-s init stop 2>&1 | tee $$TMPFILE || OK=false; } && \
{ $(IS_SUCCESS) $$TMPFILE || OK=false; } && \
rm $$TMPFILE && \
$(MAKE) stop_test_broker_node && \
$$OK
start_test_broker_node: boot_broker
sleep 1
- $(RABBITMQCTL) delete_user test_user_no_perm
$(RABBITMQCTL) add_user test_user_no_perm test_user_no_perm
sleep 1
stop_test_broker_node:
sleep 1
$(RABBITMQCTL) delete_user test_user_no_perm
$(MAKE) unboot_broker
boot_broker:
$(MAKE) -C $(BROKER_DIR) start-background-node RABBITMQ_SERVER_START_ARGS="$(RABBITMQ_SERVER_START_ARGS) $(SSL_BROKER_ARGS)"
$(MAKE) -C $(BROKER_DIR) start-rabbit-on-node
unboot_broker:
$(MAKE) -C $(BROKER_DIR) stop-rabbit-on-node
$(MAKE) -C $(BROKER_DIR) stop-node
ssl:
$(SSL)
test_ssl: prepare_tests ssl
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="network_ssl" RUN_TEST_ARGS="-s amqp_client_SUITE test"
test_network: prepare_tests
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="network" RUN_TEST_ARGS="-s amqp_client_SUITE test"
test_direct: prepare_tests
$(MAKE) run_test_in_broker AMQP_CLIENT_TEST_CONNECTION_TYPE="direct" RUN_TEST_ARGS="-s amqp_client_SUITE test"
test_remote_direct: prepare_tests
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="direct" RUN_TEST_ARGS="-s amqp_client_SUITE test"
test_common_package: $(DIST_DIR)/$(COMMON_PACKAGE_EZ) package prepare_tests
$(MAKE) run_test_detached RUN="$(LIBS_PATH) erl -pa $(TEST_DIR)" \
AMQP_CLIENT_TEST_CONNECTION_TYPE="network" RUN_TEST_ARGS="-s amqp_client_SUITE test"
$(MAKE) run_test_detached RUN="$(LIBS_PATH) erl -pa $(TEST_DIR) -sname amqp_client" \
AMQP_CLIENT_TEST_CONNECTION_TYPE="direct" RUN_TEST_ARGS="-s amqp_client_SUITE test"
test_ssl_coverage: prepare_tests ssl
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="network_ssl" RUN_TEST_ARGS="-s amqp_client_SUITE test_coverage"
test_network_coverage: prepare_tests
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="network" RUN_TEST_ARGS="-s amqp_client_SUITE test_coverage"
test_remote_direct_coverage: prepare_tests
$(MAKE) run_test_detached AMQP_CLIENT_TEST_CONNECTION_TYPE="direct" RUN_TEST_ARGS="-s amqp_client_SUITE test_coverage"
test_direct_coverage: prepare_tests
$(MAKE) run_test_in_broker AMQP_CLIENT_TEST_CONNECTION_TYPE="direct" RUN_TEST_ARGS="-s amqp_client_SUITE test_coverage"
|