support parallel tests on same host
This commit is contained in:
@@ -30,12 +30,13 @@ build_nginx_config() {
|
||||
|
||||
@test "(core) remove exited containers" {
|
||||
deploy_app
|
||||
|
||||
# make sure we have many exited containers of the same 'type'
|
||||
run bash -c "for cnt in 1 2 3; do dokku run $TEST_APP hostname; done"
|
||||
run bash -c "for cnt in 1 2 3; do dokku run $TEST_APP echo $TEST_APP; done"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=false | grep '/exec hostname'"
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=true | grep \"/exec echo $TEST_APP\""
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
@@ -45,24 +46,20 @@ build_nginx_config() {
|
||||
assert_success
|
||||
sleep 5 # wait for dokku cleanup to happen in the background
|
||||
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=false | grep '/exec hostname'"
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=true | grep \"/exec echo $TEST_APP\""
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_failure
|
||||
run bash -c "docker ps -a -f 'status=exited' -q --no-trunc=false"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "(core) run (with DOKKU_RM_CONTAINER/--rm-container)" {
|
||||
deploy_app
|
||||
|
||||
run bash -c "dokku --rm-container run $TEST_APP hostname"
|
||||
run bash -c "dokku --rm-container run $TEST_APP echo $TEST_APP"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=false | grep '/exec hostname'"
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=true | grep \"/exec echo $TEST_APP\""
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_failure
|
||||
@@ -72,11 +69,11 @@ build_nginx_config() {
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
|
||||
run bash -c "dokku --rm-container run $TEST_APP hostname"
|
||||
run bash -c "dokku --rm-container run $TEST_APP echo $TEST_APP"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=false | grep '/exec hostname'"
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=true | grep \"/exec echo $TEST_APP\""
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_failure
|
||||
@@ -91,11 +88,11 @@ build_nginx_config() {
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
|
||||
run bash -c "dokku --rm-container run $TEST_APP hostname"
|
||||
run bash -c "dokku --rm-container run $TEST_APP echo $TEST_APP"
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_success
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=false | grep '/exec hostname'"
|
||||
run bash -c "docker ps -a -f 'status=exited' --no-trunc=true | grep \"/exec echo $TEST_APP\""
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
assert_failure
|
||||
|
||||
@@ -16,8 +16,8 @@ assert_urls() {
|
||||
run dokku urls $TEST_APP
|
||||
echo "output: "$output
|
||||
echo "status: "$status
|
||||
echo "urls:" $(tr ' ' '\n' <<< "${urls}")
|
||||
assert_output < <(tr ' ' '\n' <<< "${urls}")
|
||||
echo "urls:" $(tr ' ' '\n' <<< "${urls}" | sort)
|
||||
assert_output < <(tr ' ' '\n' <<< "${urls}" | sort)
|
||||
}
|
||||
|
||||
build_nginx_config() {
|
||||
|
||||
@@ -8,8 +8,9 @@ PLUGIN_AVAILABLE_PATH=${PLUGIN_AVAILABLE_PATH:="$PLUGIN_PATH/available"}
|
||||
PLUGIN_ENABLED_PATH=${PLUGIN_ENABLED_PATH:="$PLUGIN_PATH/enabled"}
|
||||
PLUGIN_CORE_PATH=${PLUGIN_CORE_PATH:="$DOKKU_LIB_ROOT/core-plugins"}
|
||||
PLUGIN_CORE_AVAILABLE_PATH=${PLUGIN_CORE_AVAILABLE_PATH:="$PLUGIN_CORE_PATH/available"}
|
||||
TEST_APP=testsuiteapp
|
||||
CUSTOM_TEMPLATE_SSL_DOMAIN=customssltemplate.dokku.me
|
||||
UUID=$(tr -dc 'a-z0-9' < /dev/urandom | fold -w 32 | head -n 1)
|
||||
TEST_APP="rdmtestapp-${UUID}"
|
||||
|
||||
# test functions
|
||||
flunk() {
|
||||
@@ -112,17 +113,17 @@ assert_exit_status() {
|
||||
|
||||
# dokku functions
|
||||
create_app() {
|
||||
dokku apps:create $TEST_APP
|
||||
dokku apps:create "$TEST_APP"
|
||||
}
|
||||
|
||||
destroy_app() {
|
||||
local RC="$1"; local RC=${RC:=0}
|
||||
dokku --force apps:destroy $TEST_APP
|
||||
dokku --force apps:destroy "$TEST_APP"
|
||||
return "$RC"
|
||||
}
|
||||
|
||||
add_domain() {
|
||||
dokku domains:add $TEST_APP "$1"
|
||||
dokku domains:add "$TEST_APP" "$1"
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2119
|
||||
@@ -213,7 +214,7 @@ setup_client_repo() {
|
||||
|
||||
setup_test_tls() {
|
||||
local TLS_TYPE="$1"; local TLS="/home/dokku/$TEST_APP/tls"
|
||||
mkdir -p $TLS
|
||||
mkdir -p "$TLS"
|
||||
|
||||
case "$TLS_TYPE" in
|
||||
wildcard)
|
||||
@@ -226,8 +227,8 @@ setup_test_tls() {
|
||||
local TLS_ARCHIVE=server_ssl.tar
|
||||
;;
|
||||
esac
|
||||
tar xf "$BATS_TEST_DIRNAME/$TLS_ARCHIVE" -C $TLS
|
||||
sudo chown -R dokku:dokku ${TLS}/..
|
||||
tar xf "$BATS_TEST_DIRNAME/$TLS_ARCHIVE" -C "$TLS"
|
||||
sudo chown -R dokku:dokku "${TLS}/.."
|
||||
}
|
||||
|
||||
custom_ssl_nginx_template() {
|
||||
|
||||
Reference in New Issue
Block a user