adding test suite for direct connection to different rabbit node; general test makefile cleanup
This commit is contained in:
		
							parent
							
								
									a994011121
								
							
						
					
					
						commit
						79cca459ac
					
				| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,7 +129,10 @@ new_connection() ->
 | 
			
		|||
    new_connection(#amqp_params{}).
 | 
			
		||||
 | 
			
		||||
new_connection(AmqpParams) ->
 | 
			
		||||
    case amqp_connection:start(direct, AmqpParams) of {ok, Conn}     -> Conn;
 | 
			
		||||
    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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue