From b49cceefd781b6d89d3f609c060ce40bd97387be Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Mon, 28 Sep 2015 17:44:10 -0700 Subject: [PATCH 1/2] don't use exit 0 in config functions --- plugins/config/functions | 6 +++--- tests/unit/build-env.bats | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/config/functions b/plugins/config/functions index 766de5103..f78e4f8c6 100644 --- a/plugins/config/functions +++ b/plugins/config/functions @@ -102,7 +102,7 @@ config_all() { [[ "$1" == "config" ]] || set -- "config" "$@" config_parse_args "$@" config_create "$ENV_FILE" - is_config_export "$@" && config_export "$DOKKU_CONFIG_TYPE" "$APP" && exit 0 + is_config_export "$@" && config_export "$DOKKU_CONFIG_TYPE" "$APP" && return 0 [[ "$APP" ]] && DOKKU_CONFIG_TYPE=$APP [[ ! -s $ENV_FILE ]] && dokku_log_fail "no config vars for $DOKKU_CONFIG_TYPE" @@ -112,7 +112,7 @@ config_all() { for var in "$@"; do if [[ "$var" == "--shell" ]]; then echo $VARS - exit 0 + return 0 fi done @@ -132,7 +132,7 @@ config_get() { config_create "$ENV_FILE" if [[ ! -s $ENV_FILE ]]; then - exit 0 + return 0 fi KEY="$3" diff --git a/tests/unit/build-env.bats b/tests/unit/build-env.bats index 1bbd8a708..0e3c69d90 100644 --- a/tests/unit/build-env.bats +++ b/tests/unit/build-env.bats @@ -11,7 +11,7 @@ teardown() { } @test "(build-env) special characters" { - run dokku config:set $TEST_APP NEWRELIC_APP_NAME="$TEST_APP (Staging)" + run dokku config:set --no-restart $TEST_APP NEWRELIC_APP_NAME="$TEST_APP (Staging)" echo "output: "$output echo "status: "$status assert_success @@ -19,3 +19,14 @@ teardown() { run dokku config $TEST_APP assert_success } + +@test "(build-env) failure" { + run dokku config:set --no-restart $TEST_APP BUILDPACK_URL='https://github.com/dokku/fake-buildpack' + echo "output: "$output + echo "status: "$status + assert_success + run deploy_app + echo "output: "$output + echo "status: "$status + assert_failure +} From 6b01da6dda1ef43cec0944f195f61b11a3cc25ed Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Mon, 28 Sep 2015 18:06:10 -0700 Subject: [PATCH 2/2] fix CURL_TIMEOUT settings --- plugins/build-env/pre-build-buildpack | 4 ++-- tests/unit/build-env.bats | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/plugins/build-env/pre-build-buildpack b/plugins/build-env/pre-build-buildpack index 3e83c7b43..a3966b962 100755 --- a/plugins/build-env/pre-build-buildpack +++ b/plugins/build-env/pre-build-buildpack @@ -6,8 +6,8 @@ source "$PLUGIN_AVAILABLE_PATH/config/functions" APP="$1"; IMAGE=$(get_app_image_name $APP); BUILD_ENV="" verify_app_name "$APP" -config_get --global CURL_CONNECT_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_CONNECT_TIMEOUT=5 -config_get --global CURL_TIMEOUT > /dev/null 2>&1 || config_set --global CURL_TIMEOUT=30 +[[ -z $(config_get --global CURL_CONNECT_TIMEOUT) ]] && config_set --global CURL_CONNECT_TIMEOUT=5 +[[ -z $(config_get --global CURL_TIMEOUT) ]] && config_set --global CURL_TIMEOUT=30 if [[ -n $(config_export global) ]]; then BUILD_ENV+=$'\n' diff --git a/tests/unit/build-env.bats b/tests/unit/build-env.bats index 0e3c69d90..68e397a55 100644 --- a/tests/unit/build-env.bats +++ b/tests/unit/build-env.bats @@ -15,16 +15,41 @@ teardown() { echo "output: "$output echo "status: "$status assert_success + deploy_app run dokku config $TEST_APP assert_success } -@test "(build-env) failure" { +@test "(build-env) default curl timeouts" { + run dokku config:unset --global CURL_CONNECT_TIMEOUT + echo "output: "$output + echo "status: "$status + assert_success + + run dokku config:unset --global CURL_TIMEOUT + echo "output: "$output + echo "status: "$status + assert_success + + deploy_app + run /bin/bash -c "dokku config:get --global CURL_CONNECT_TIMEOUT | grep 5" + echo "output: "$output + echo "status: "$status + assert_success + + run /bin/bash -c "dokku config:get --global CURL_TIMEOUT | grep 30" + echo "output: "$output + echo "status: "$status + assert_success +} + +@test "(build-env) buildpack failure" { run dokku config:set --no-restart $TEST_APP BUILDPACK_URL='https://github.com/dokku/fake-buildpack' echo "output: "$output echo "status: "$status assert_success + run deploy_app echo "output: "$output echo "status: "$status