Fix failing tests on master and test all .0 minor releases

This commit is contained in:
Jose Diaz-Gonzalez
2016-08-27 05:14:18 -04:00
parent 2ebbeb67f4
commit 1a6ce26129
4 changed files with 47 additions and 3 deletions

View File

@@ -3,7 +3,9 @@ dist: trusty
language: bash
env:
- DOKKU_VERSION=master
- DOKKU_VERSION=v0.4.14
- DOKKU_VERSION=v0.7.0
- DOKKU_VERSION=v0.6.0
- DOKKU_VERSION=v0.5.0
- DOKKU_VERSION=v0.4.0
before_install: make setup
script: make test

38
tests/bin/at-least-version Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $TRACE ]] && set -x
semver-parse-into() {
declare VERSION="$1"
local RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)'
local MAJOR="$(echo "$VERSION" | sed -e "s#$RE#\1#")"
local MINOR="$(echo "$VERSION" | sed -e "s#$RE#\2#")"
local PATCH="$(echo "$VERSION" | sed -e "s#$RE#\3#")"
echo "${MAJOR} ${MINOR} ${PATCH}"
}
main() {
declare MIN_VERSION="$1" CHECK_VERSION="$2"
local IS_AT_LEAST_VERSION=false
local MAJOR_MIN MINOR_MIN PATCH_MIN MAJOR_CHECK MINOR_CHECK PATCH_CHECK PARSED_MIN PARSED_CHECK
PARSED_MIN="$(semver-parse-into "$MIN_VERSION")"
PARSED_CHECK="$(semver-parse-into "$CHECK_VERSION")"
MAJOR_MIN="$(echo "$PARSED_MIN" | cut -d' ' -f1)"
MINOR_MIN="$(echo "$PARSED_MIN" | cut -d' ' -f2)"
PATCH_MIN="$(echo "$PARSED_MIN" | cut -d' ' -f3)"
MAJOR_CHECK="$(echo "$PARSED_CHECK" | cut -d' ' -f1)"
MINOR_CHECK="$(echo "$PARSED_CHECK" | cut -d' ' -f2)"
PATCH_CHECK="$(echo "$PARSED_CHECK" | cut -d' ' -f3)"
if [[ "$MAJOR_CHECK" -gt "$MAJOR_MIN" ]]; then
IS_AT_LEAST_VERSION=true
elif [[ "$MAJOR_CHECK" -eq "$MAJOR_MIN" ]] && [[ "$MINOR_CHECK" -gt "$MINOR_MIN" ]]; then
IS_AT_LEAST_VERSION=true
elif [[ "$MAJOR_CHECK" -eq "$MAJOR_MIN" ]] && [[ "$MINOR_CHECK" -eq "$MINOR_MIN" ]] && [[ "$PATCH_CHECK" -ge "$PATCH_MIN" ]]; then
IS_AT_LEAST_VERSION=true
fi
echo "$IS_AT_LEAST_VERSION"
}
main "$@"

View File

@@ -39,8 +39,11 @@ teardown() {
@test "($PLUGIN_COMMAND_PREFIX:unlink) removes link from docker-options" {
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app >&2
dokku "$PLUGIN_COMMAND_PREFIX:unlink" l my_app
options=$(dokku docker-options my_app)
assert_equal "$options" ""
options=$(dokku docker-options my_app | xargs)
check_value=""
[[ "$(dokku version)" == "master" ]] && check_value="Deploy options: --restart=on-failure:10"
[[ "$(at-least-version 0.7.0 "$(dokku version)")" == "true" ]] && check_value="Deploy options: --restart=on-failure:10"
assert_equal "$options" "$check_value"
}
@test "($PLUGIN_COMMAND_PREFIX:unlink) unsets config url from app" {

View File

@@ -18,6 +18,7 @@ mkdir -p $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX $DOKKU_ROOT/plugins/$PLUGIN_
find ./ -maxdepth 1 -type f -exec cp '{}' $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX \;
find ./subcommands -maxdepth 1 -type f -exec cp '{}' $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX/subcommands \;
find ./scripts -maxdepth 1 -type f -exec cp '{}' $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX/scripts \;
echo "$DOKKU_VERSION" > $DOKKU_ROOT/VERSION
if [[ ! -f $BIN_STUBS/plugn ]]; then
wget -O- "$PLUGN_URL" | tar xzf - -C "$BIN_STUBS"