From 33b233aca04dd41251a379e47045356e0035277e Mon Sep 17 00:00:00 2001 From: Edgars Beigarts Date: Wed, 24 Feb 2016 09:25:31 +0200 Subject: [PATCH] Fix exit code for mysql:export when SSH_TTY is not present --- commands | 2 ++ tests/service_export.bats | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/commands b/commands index 2e05d66..e4376b6 100755 --- a/commands +++ b/commands @@ -124,7 +124,9 @@ case "$1" in [[ -n $SSH_TTY ]] && stty -opost docker exec "$SERVICE_NAME" mysqldump --user=mysql --password="$PASSWORD" "$SERVICE" + status=$? [[ -n $SSH_TTY ]] && stty opost + exit $status ;; $PLUGIN_COMMAND_PREFIX:import) diff --git a/tests/service_export.bats b/tests/service_export.bats index e55184a..66563f9 100755 --- a/tests/service_export.bats +++ b/tests/service_export.bats @@ -21,10 +21,20 @@ teardown() { 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 SSH_TTY=`tty` run dokku "$PLUGIN_COMMAND_PREFIX:export" l password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" + assert_exit_status 0 assert_output "docker exec dokku.mysql.l mysqldump --user=mysql --password=$password l" } +@test "($PLUGIN_COMMAND_PREFIX:export) success without SSH_TTY" { + export ECHO_DOCKER_COMMAND="true" + unset SSH_TTY + run dokku "$PLUGIN_COMMAND_PREFIX:export" l + password="$(cat "$PLUGIN_DATA_ROOT/l/PASSWORD")" + assert_exit_status 0 + assert_output "docker exec dokku.mysql.l mysqldump --user=mysql --password=$password l" +}