setup() { IMAGE_NAME="$NAME:$VERSION" } # function relative to the current container / image build_image() { #disable outputs docker build -t $IMAGE_NAME $BATS_TEST_DIRNAME/../image &> /dev/null } run_image() { CONTAINER_ID=$(docker run $@ -d $IMAGE_NAME) CONTAINER_IP=$(get_container_ip_by_cid $CONTAINER_ID) } start_container() { start_containers_by_cid $CONTAINER_ID } stop_container() { stop_containers_by_cid $CONTAINER_ID } remove_container() { remove_containers_by_cid $CONTAINER_ID } clear_container() { stop_containers_by_cid $CONTAINER_ID remove_containers_by_cid $CONTAINER_ID } wait_process() { wait_process_by_cid $CONTAINER_ID $@ } # generic functions get_container_ip_by_cid() { local IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" $1) echo "$IP" } start_containers_by_cid() { for cid in "$@" do #disable outputs docker start $cid &> /dev/null done } stop_containers_by_cid() { for cid in "$@" do #disable outputs docker stop $cid &> /dev/null done } remove_containers_by_cid() { for cid in "$@" do #disable outputs docker rm $cid &> /dev/null done } clear_containers_by_cid() { stop_containers_by_cid $@ remove_containers_by_cid $@ } wait_process_by_cid() { cid=$1 docker exec $cid /container/tool/wait-process ${@:2} }