diff --git a/setup.sh b/setup.sh index 4f7dbf5e..f2ccf4c2 100755 --- a/setup.sh +++ b/setup.sh @@ -98,10 +98,14 @@ _docker_image_exists() { fi } +if [ -t 1 ] ; then + USE_TTY="-ti" +fi + _docker_image() { if [ "$USE_CONTAINER" = true ]; then # Reuse existing container specified on command line - docker exec -ti "$CONTAINER_NAME" "$@" + docker exec ${USE_TTY} "$CONTAINER_NAME" "$@" else # Start temporary container with specified image if ! _docker_image_exists "$IMAGE_NAME"; then @@ -112,13 +116,13 @@ _docker_image() { docker run \ --rm \ -v "$CONFIG_PATH":/tmp/docker-mailserver \ - -ti "$IMAGE_NAME" $@ + ${USE_TTY} "$IMAGE_NAME" $@ fi } _docker_container() { if [ -n "$CONTAINER_NAME" ]; then - docker exec -ti "$CONTAINER_NAME" "$@" + docker exec ${USE_TTY} "$CONTAINER_NAME" "$@" else echo "The docker-mailserver is not running!" exit 1 @@ -273,7 +277,7 @@ case $1 in ;; login) shift - if [ -z "$1" ]; then + if [ -z "$1" ]; then _docker_container /bin/bash else _docker_container /bin/bash -c "$@" diff --git a/test/tests.bats b/test/tests.bats index 79ce97dc..0e48f53a 100644 --- a/test/tests.bats +++ b/test/tests.bats @@ -701,13 +701,13 @@ function count_processed_changes() { } @test "checking amavis: VIRUSMAILS_DELETE_DELAY override works as expected" { - run docker run -ti --rm -e VIRUSMAILS_DELETE_DELAY=2 `docker inspect --format '{{ .Config.Image }}' mail` /bin/bash -c 'echo $VIRUSMAILS_DELETE_DELAY | grep 2' + run docker run --rm -e VIRUSMAILS_DELETE_DELAY=2 `docker inspect --format '{{ .Config.Image }}' mail` /bin/bash -c 'echo $VIRUSMAILS_DELETE_DELAY | grep 2' assert_success } @test "checking amavis: old virusmail is wipped by cron" { docker exec mail bash -c 'touch -d "`date --date=2000-01-01`" /var/lib/amavis/virusmails/should-be-deleted' - run docker exec -ti mail bash -c '/usr/local/bin/virus-wiper' + run docker exec mail bash -c '/usr/local/bin/virus-wiper' assert_success run docker exec mail bash -c 'ls -la /var/lib/amavis/virusmails/ | grep should-be-deleted' assert_failure @@ -715,7 +715,7 @@ function count_processed_changes() { @test "checking amavis: recent virusmail is not wipped by cron" { docker exec mail bash -c 'touch -d "`date`" /var/lib/amavis/virusmails/should-not-be-deleted' - run docker exec -ti mail bash -c '/usr/local/bin/virus-wiper' + run docker exec mail bash -c '/usr/local/bin/virus-wiper' assert_success run docker exec mail bash -c 'ls -la /var/lib/amavis/virusmails/ | grep should-not-be-deleted' assert_success