diff options
| author | Michael Klishin <michael@novemberain.com> | 2018-02-26 15:35:25 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-26 15:35:25 +0300 |
| commit | 631f822f7dd7688d437fa7324827c5ff795756d6 (patch) | |
| tree | 9967067ebe82e5c1cf4168e8664b2cdb4ec3a06c /test | |
| parent | 179f229094dc631b95ae595447bf2c3ee5dad3ef (diff) | |
| parent | 512a57bc6173ca9ceb49ed2c86a14d39dd54ccfd (diff) | |
| download | rabbitmq-server-git-631f822f7dd7688d437fa7324827c5ff795756d6.tar.gz | |
Merge pull request #1528 from rabbitmq/configurable-max-procs-max-atomsv3.7.4-rc.3
Maximum number of Erlang processes and atoms can be configured via environment variables
Diffstat (limited to 'test')
| -rw-r--r-- | test/rabbitmq-env.bats | 145 |
1 files changed, 127 insertions, 18 deletions
diff --git a/test/rabbitmq-env.bats b/test/rabbitmq-env.bats index cbe4a27765..51c70cc8d0 100644 --- a/test/rabbitmq-env.bats +++ b/test/rabbitmq-env.bats @@ -1,19 +1,128 @@ -@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* ]] +#!/usr/bin/env bats + +export RABBITMQ_SCRIPTS_DIR="$BATS_TEST_DIRNAME/../scripts" + +setup() { + export RABBITMQ_CONF_ENV_FILE="$BATS_TMPDIR/rabbitmq-env.$BATS_TEST_NAME.conf" +} + +@test "default Erlang scheduler bind type" { + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + echo $RABBITMQ_SCHEDULER_BIND_TYPE + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +stbt db ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +stbt db "* ]] +} + +@test "can configure Erlang scheduler bind type via conf file" { + echo 'SCHEDULER_BIND_TYPE=u' > "$RABBITMQ_CONF_ENV_FILE" + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +stbt u ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +stbt u "* ]] +} + +@test "can configure Erlang scheduler bind type via env" { + RABBITMQ_SCHEDULER_BIND_TYPE=tnnps source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +stbt tnnps ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +stbt tnnps "* ]] +} + +@test "Erlang scheduler bind type env takes precedence over conf file" { + echo 'SCHEDULER_BIND_TYPE=s' > "$RABBITMQ_CONF_ENV_FILE" + RABBITMQ_SCHEDULER_BIND_TYPE=nnps source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +stbt nnps ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +stbt nnps "* ]] +} + +@test "default Erlang distribution buffer size" { + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +zdbbl 1280000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +zdbbl 1280000 "* ]] +} + +@test "can configure Erlang distribution buffer size via conf file" { + echo 'DISTRIBUTION_BUFFER_SIZE=1000000' > "$RABBITMQ_CONF_ENV_FILE" + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +zdbbl 1000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +zdbbl 1000000 "* ]] +} + +@test "can configure Erlang distribution buffer size via env" { + RABBITMQ_DISTRIBUTION_BUFFER_SIZE=2000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +zdbbl 2000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +zdbbl 2000000 "* ]] +} + +@test "Erlang distribution buffer size env takes precedence over conf file" { + echo 'DISTRIBUTION_BUFFER_SIZE=3000000' > "$RABBITMQ_CONF_ENV_FILE" + RABBITMQ_DISTRIBUTION_BUFFER_SIZE=4000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +zdbbl 4000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +zdbbl 4000000 "* ]] +} + +@test "default Erlang maximum number of processes" { + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +P 1048576 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +P 1048576 "* ]] +} + +@test "can configure Erlang maximum number of processes via conf file" { + echo 'MAX_NUMBER_OF_PROCESSES=2000000' > "$RABBITMQ_CONF_ENV_FILE" + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +P 2000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +P 2000000 "* ]] +} + +@test "can configure Erlang maximum number of processes via env" { + RABBITMQ_MAX_NUMBER_OF_PROCESSES=3000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +P 3000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +P 3000000 "* ]] +} + +@test "Erlang maximum number of processes env takes precedence over conf file" { + echo 'MAX_NUMBER_OF_PROCESSES=4000000' > "$RABBITMQ_CONF_ENV_FILE" + RABBITMQ_MAX_NUMBER_OF_PROCESSES=5000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +P 5000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +P 5000000 "* ]] +} + +@test "default Erlang maximum number of atoms" { + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +t 5000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +t 5000000 "* ]] +} + +@test "can configure Erlang maximum number of atoms via conf file" { + echo 'MAX_NUMBER_OF_ATOMS=1000000' > "$RABBITMQ_CONF_ENV_FILE" + source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +t 1000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +t 1000000 "* ]] +} + +@test "can configure Erlang maximum number of atoms via env" { + RABBITMQ_MAX_NUMBER_OF_ATOMS=2000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +t 2000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +t 2000000 "* ]] +} + +@test "Erlang maximum number of atoms env takes precedence over conf file" { + echo 'MAX_NUMBER_OF_ATOMS=3000000' > "$RABBITMQ_CONF_ENV_FILE" + RABBITMQ_MAX_NUMBER_OF_ATOMS=4000000 source "$RABBITMQ_SCRIPTS_DIR/rabbitmq-env" + + echo "expected RABBITMQ_SERVER_ERL_ARGS to contain ' +t 4000000 ', but got: $RABBITMQ_SERVER_ERL_ARGS" + [[ $RABBITMQ_SERVER_ERL_ARGS == *" +t 4000000 "* ]] } |
