forked from 2600hz/kazoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.mk
122 lines (100 loc) · 4.38 KB
/
test.mk
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
# 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"