fix: dont use TTY in docker if not present, rem TTY necessity in tests

Gitlab CI has not TTY present and TTY is not really required for
automated testing
This commit is contained in:
Andreas Perhab 2019-10-21 10:43:04 +02:00
parent 52c8e1dbb0
commit d8be2bd3cc
2 changed files with 11 additions and 7 deletions

View file

@ -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 "$@"