adding test suite for direct connection to different rabbit node; general test makefile cleanup

This commit is contained in:
Vlad Alexandru Ionescu 2011-01-20 18:51:19 +00:00
parent a994011121
commit 79cca459ac
5 changed files with 42 additions and 34 deletions

View File

@ -72,18 +72,6 @@ $(DOC_DIR)/index.html: $(DEPS_DIR)/$(COMMON_PACKAGE_DIR) $(DOC_DIR)/overview.edo
include test.mk
test_common_package: $(DIST_DIR)/$(COMMON_PACKAGE_EZ) package prepare_tests
$(MAKE) start_test_broker_node
OK=true && \
TMPFILE=$(MKTEMP) && \
{ $(LIBS_PATH) erl -noshell -pa $(TEST_DIR) \
-eval 'error_logger:tty(false), network_client_SUITE:test(), halt().' 2>&1 | \
tee $$TMPFILE || OK=false; } && \
{ egrep "All .+ tests (successful|passed)." $$TMPFILE || OK=false; } && \
rm $$TMPFILE && \
$(MAKE) stop_test_broker_node && \
$$OK
compile_tests: $(TEST_TARGETS) $(EBIN_DIR)/$(PACKAGE).app
$(TEST_TARGETS): $(TEST_DIR)

View File

@ -23,4 +23,4 @@ clean: common_clean
test: compile
$(MAKE) -C test VERSION=$(VERSION)
$(LIBS_PATH) erl -pa ebin test -noinput -eval \
'error_logger:tty(false), io:format("Testing in progress. Please wait...~n"), network_client_SUITE:test(), halt()'
'error_logger:tty(false), io:format("Testing in progress. Please wait...~n"), network_client_SUITE:test(), init:stop()'

View File

@ -82,8 +82,7 @@ endif
LOAD_PATH=$(EBIN_DIR) $(BROKER_DIR)/ebin $(TEST_DIR) $(ERL_PATH)
COVER_START := -s cover start -s rabbit_misc enable_cover ../rabbitmq-erlang-client
COVER_STOP := -s rabbit_misc report_cover ../rabbitmq-erlang-client -s cover stop
RUN:=$(LIBS_PATH) erl -pa $(LOAD_PATH) -sname amqp_client
MKTEMP=$$(mktemp $(TMPDIR)/tmp.XXXXXXXXXX)
@ -142,10 +141,10 @@ common_clean:
rm -f $(DEPS_FILE)
$(MAKE) -C $(TEST_DIR) clean
compile: $(TARGETS)
compile: $(TARGETS) $(EBIN_DIR)/$(PACKAGE).app
run: compile $(EBIN_DIR)/$(PACKAGE).app
$(LIBS_PATH) erl -pa $(LOAD_PATH) -sname amqp_client
run: compile
$(RUN)
###############################################################################
## Packaging

View File

@ -14,12 +14,16 @@
# Copyright (c) 2007-2010 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_remote_direct || OK=false; } && \
$$OK
test_suites: prepare_tests
@ -36,21 +40,31 @@ test_suites_coverage: prepare_tests
$(ALL_SSL_COVERAGE) && \
$$OK
## This performs test setup and teardown procedures to ensure that
## that the correct users are configured in the test instance
run_test_broker: start_test_broker_node unboot_broker
## Starts a broker, configures users and runs the tests on the same node
run_test_in_broker: start_test_broker_node 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_BROKER_ARGS) -s init stop" 2>&1 | \
-noshell -s rabbit $(RUN_TEST_ARGS) -s init stop" 2>&1 | \
tee $$TMPFILE || OK=false; } && \
{ egrep "All .+ tests (successful|passed)." $$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) $(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
@ -72,22 +86,26 @@ ssl:
$(SSL)
test_ssl: prepare_tests ssl
$(MAKE) run_test_broker RUN_TEST_BROKER_ARGS="-s ssl_client_SUITE test"
$(MAKE) run_test_detached RUN_TEST_ARGS="-s ssl_client_SUITE test"
test_network: prepare_tests
$(MAKE) run_test_broker RUN_TEST_BROKER_ARGS="-s network_client_SUITE test"
$(MAKE) run_test_detached RUN_TEST_ARGS="-s network_client_SUITE test"
test_direct: prepare_tests
$(MAKE) run_test_broker RUN_TEST_BROKER_ARGS="-s direct_client_SUITE test"
$(MAKE) run_test_in_broker RUN_TEST_ARGS="-s direct_client_SUITE test"
test_remote_direct: prepare_tests
$(MAKE) run_test_in_broker RUN_TEST_ARGS="-s direct_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)" \
RUN_TEST_ARGS="-s network_client_SUITE test"
test_ssl_coverage: prepare_tests ssl
$(MAKE) run_test_broker \
RUN_TEST_BROKER_ARGS="$(COVER_START) -s ssl_client_SUITE test $(COVER_STOP)"
$(MAKE) run_test_detached RUN_TEST_ARGS="-s ssl_client_SUITE test_coverage"
test_network_coverage: prepare_tests
$(MAKE) run_test_broker \
RUN_TEST_BROKER_ARGS="$(COVER_START) -s network_client_SUITE test $(COVER_STOP)"
$(MAKE) run_test_detached RUN_TEST_ARGS="-s network_client_SUITE test_coverage"
test_direct_coverage: prepare_tests
$(MAKE) run_test_broker \
RUN_TEST_BROKER_ARGS="$(COVER_START) -s direct_client_SUITE test $(COVER_STOP)"
$(MAKE) run_test_in_broker RUN_TEST_ARGS="-s direct_client_SUITE test_coverage"

View File

@ -129,8 +129,11 @@ new_connection() ->
new_connection(#amqp_params{}).
new_connection(AmqpParams) ->
case amqp_connection:start(direct, AmqpParams) of {ok, Conn} -> Conn;
{error, _} = E -> E
RabbitNode = list_to_atom("rabbit@" ++ net_adm:localhost()),
case amqp_connection:start(direct,
AmqpParams#amqp_params{node = RabbitNode}) of
{ok, Conn} -> Conn;
{error, _} = E -> E
end.
test_coverage() ->