diff options
| author | Gerhard Lazu <gerhard@users.noreply.github.com> | 2017-08-22 20:17:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-22 20:17:30 +0200 |
| commit | 4e94918a957bfee5905e75c89c14e2e7e9b74600 (patch) | |
| tree | c92c58b155a00fc1555f4b9fd43c86e5e9ccfac0 | |
| parent | b02a53eebde065e51e0dc9c4041756950003b0a2 (diff) | |
| parent | c89e694abddc7df23ec1da180ddfbfe4909e97ab (diff) | |
| download | rabbitmq-server-git-4e94918a957bfee5905e75c89c14e2e7e9b74600.tar.gz | |
Merge pull request #1339 from rabbitmq/rabbitmq-server-1338
Read rabbitmq-env.conf a bit earlier to pick up two variables
| -rw-r--r-- | Makefile | 18 | ||||
| -rwxr-xr-x | scripts/rabbitmq-env | 9 | ||||
| -rw-r--r-- | test/rabbitmq-env.bats | 19 |
3 files changed, 41 insertions, 5 deletions
@@ -149,6 +149,24 @@ ERLANG_MK_COMMIT = rabbitmq-tmp include rabbitmq-components.mk include erlang.mk +ifeq ($(strip $(BATS)),) +BATS := $(ERLANG_MK_TMP)/bats/bin/bats +endif + +BATS_GIT ?= https://github.com/sstephenson/bats +BATS_COMMIT ?= v0.4.0 + +$(BATS): + $(verbose) mkdir -p $(ERLANG_MK_TMP) + $(gen_verbose) git clone --depth 1 --branch=$(BATS_COMMIT) $(BATS_GIT) $(ERLANG_MK_TMP)/bats + +.PHONY: bats + +bats: $(BATS) + $(verbose) $(BATS) $(TEST_DIR) + +tests:: bats + SLOW_CT_SUITES := backing_queue \ cluster_rename \ clustering_management \ diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env index 52fb4034b0..8cc3af56ae 100755 --- a/scripts/rabbitmq-env +++ b/scripts/rabbitmq-env @@ -76,6 +76,10 @@ RABBITMQ_HOME="$(rmq_realpath "${RABBITMQ_SCRIPTS_DIR}/..")" ## Set defaults . ${RABBITMQ_SCRIPTS_DIR}/rabbitmq-defaults +## Get configuration variables from the configure environment file +[ "x" = "x$RABBITMQ_CONF_ENV_FILE" ] && RABBITMQ_CONF_ENV_FILE=${CONF_ENV_FILE} +[ -f ${RABBITMQ_CONF_ENV_FILE} ] && . ${RABBITMQ_CONF_ENV_FILE} || true + DEFAULT_SCHEDULER_BIND_TYPE="db" [ "x" = "x$RABBITMQ_SCHEDULER_BIND_TYPE" ] && RABBITMQ_SCHEDULER_BIND_TYPE=${DEFAULT_SCHEDULER_BIND_TYPE} @@ -90,11 +94,6 @@ SERVER_ERL_ARGS="+P 1048576 +t 5000000 +stbt $RABBITMQ_SCHEDULER_BIND_TYPE +zdbb # it and warn the user. saved_RABBITMQ_PID_FILE=$RABBITMQ_PID_FILE -## Get configuration variables from the configure environment file -[ "x" = "x$RABBITMQ_CONF_ENV_FILE" ] && RABBITMQ_CONF_ENV_FILE=${CONF_ENV_FILE} - -[ -f ${RABBITMQ_CONF_ENV_FILE} ] && . ${RABBITMQ_CONF_ENV_FILE} || true - if [ "$saved_RABBITMQ_PID_FILE" -a \ "$saved_RABBITMQ_PID_FILE" != "$RABBITMQ_PID_FILE" ]; then echo "WARNING: RABBITMQ_PID_FILE was already set by the init script to:" 1>&2 diff --git a/test/rabbitmq-env.bats b/test/rabbitmq-env.bats new file mode 100644 index 0000000000..cbe4a27765 --- /dev/null +++ b/test/rabbitmq-env.bats @@ -0,0 +1,19 @@ +@test "can set RABBITMQ_SCHEDULER_BIND_TYPE from rabbitmq-env.conf" { + declare -r scripts_dir="$BATS_TEST_DIRNAME/../scripts" + export RABBITMQ_SCRIPTS_DIR="$scripts_dir" + export RABBITMQ_CONF_ENV_FILE="$BATS_TMPDIR/rabbitmq-env.conf" + echo 'RABBITMQ_SCHEDULER_BIND_TYPE=u' > "$RABBITMQ_CONF_ENV_FILE" + source "$scripts_dir/rabbitmq-env" + echo "expect RABBITMQ_SERVER_ERL_ARGS to contain '+stbt u' but got '$SERVER_ERL_ARGS'" + [[ $RABBITMQ_SERVER_ERL_ARGS == *+stbt\ u* ]] +} + +@test "can set RABBITMQ_DISTRIBUTION_BUFFER_SIZE from rabbitmq-env.conf" { + declare -r scripts_dir="$BATS_TEST_DIRNAME/../scripts" + export RABBITMQ_SCRIPTS_DIR="$scripts_dir" + export RABBITMQ_CONF_ENV_FILE="$BATS_TMPDIR/rabbitmq-env.conf" + echo 'RABBITMQ_DISTRIBUTION_BUFFER_SIZE=123456' > "$RABBITMQ_CONF_ENV_FILE" + source "$scripts_dir/rabbitmq-env" + echo "expect RABBITMQ_SERVER_ERL_ARGS to contain '+zdbbl 123456' but got '$SERVER_ERL_ARGS'" + [[ $RABBITMQ_SERVER_ERL_ARGS == *+zdbbl\ 123456* ]] +} |
