Fix exit code for redis:export when SSH_TTY is not present

This commit is contained in:
Edgars Beigarts
2016-02-24 09:28:25 +02:00
parent 4aeccafd15
commit fdd135f620
2 changed files with 12 additions and 1 deletions

View File

@@ -117,7 +117,9 @@ case "$1" in
[[ -n $SSH_TTY ]] && stty -opost [[ -n $SSH_TTY ]] && stty -opost
docker exec "$SERVICE_NAME" bash -c "echo SAVE | redis-cli" > /dev/null 2>&1 docker exec "$SERVICE_NAME" bash -c "echo SAVE | redis-cli" > /dev/null 2>&1
docker exec "$SERVICE_NAME" cat /data/dump.rdb docker exec "$SERVICE_NAME" cat /data/dump.rdb
status=$?
[[ -n $SSH_TTY ]] && stty opost [[ -n $SSH_TTY ]] && stty opost
exit $status
;; ;;
$PLUGIN_COMMAND_PREFIX:import) $PLUGIN_COMMAND_PREFIX:import)

View File

@@ -21,9 +21,18 @@ teardown() {
assert_contains "${lines[*]}" "service not_existing_service does not exist" assert_contains "${lines[*]}" "service not_existing_service does not exist"
} }
@test "($PLUGIN_COMMAND_PREFIX:export) success" { @test "($PLUGIN_COMMAND_PREFIX:export) success with SSH TTY" {
export ECHO_DOCKER_COMMAND="true" export ECHO_DOCKER_COMMAND="true"
export SSH_TTY=`tty`
run dokku "$PLUGIN_COMMAND_PREFIX:export" l run dokku "$PLUGIN_COMMAND_PREFIX:export" l
assert_exit_status 0
assert_output "docker exec dokku.redis.l cat /data/dump.rdb" assert_output "docker exec dokku.redis.l cat /data/dump.rdb"
} }
@test "($PLUGIN_COMMAND_PREFIX:export) success without SSH TTY" {
export ECHO_DOCKER_COMMAND="true"
unset SSH_TTY
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
assert_exit_status 0
assert_output "docker exec dokku.redis.l cat /data/dump.rdb"
}