Fix failing tests on master and test all .0 minor releases
This commit is contained in:
@@ -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
38
tests/bin/at-least-version
Executable 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 "$@"
|
||||
@@ -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" {
|
||||
|
||||
@@ -17,6 +17,7 @@ rm -rf $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX
|
||||
mkdir -p $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX $DOKKU_ROOT/plugins/$PLUGIN_COMMAND_PREFIX/subcommands
|
||||
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 \;
|
||||
echo "$DOKKU_VERSION" > $DOKKU_ROOT/VERSION
|
||||
|
||||
if [[ ! -f $BIN_STUBS/plugn ]]; then
|
||||
wget -O- "$PLUGN_URL" | tar xzf - -C "$BIN_STUBS"
|
||||
|
||||
Reference in New Issue
Block a user