Skip to content
Success

Console Output

Pull request #6647 updated
19:56:24 Connecting to https://api.github.com using docker-jenkins/****** (docker-jenkins GitHub credentials)
Loading trusted files from base branch master at abef11b2a6fa5bed4a86c3ebc022fb5e8898217a rather than 97551c75f48b12c6d714aa9a430222e0bd853e9b
Obtained Jenkinsfile from abef11b2a6fa5bed4a86c3ebc022fb5e8898217a
Running in Durability level: PERFORMANCE_OPTIMIZED
Loading library jps@master
Examining docker/jps
Attempting to resolve master as a branch
Resolved master as branch master at revision 26028d2ce48352c9b2c3f496e963b79a4944a426
using credential jps-reader
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/docker/jps.git # timeout=10
Fetching without tags
Fetching upstream changes from https://github.com/docker/jps.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials GitHub credentials for docker/jps
 > git fetch --no-tags --progress -- https://github.com/docker/jps.git +refs/heads/master:refs/remotes/origin/master
Checking out Revision 26028d2ce48352c9b2c3f496e963b79a4944a426 (master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 26028d2ce48352c9b2c3f496e963b79a4944a426
Commit message: "[TAR-1227] Run the sonar container as the current user (#17)"
 > git rev-list --no-walk 26028d2ce48352c9b2c3f496e963b79a4944a426 # timeout=10
[Pipeline] Start of Pipeline
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0c0144143f9aeb202) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] {
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/30f34d8a-0286-4621-8dcf-8a0304ba8fcf/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] echo
19:56:28 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
19:56:28 chowning workspace
[Pipeline] sh
19:56:28 + uname -m
[Pipeline] sh
19:56:29 + pwd
19:56:29 + id -u
19:56:29 + id -g
19:56:29 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
[Pipeline] echo
19:56:30 Removing all docker containers
[Pipeline] sh
19:56:30 + docker container ls -aq
[Pipeline] echo
19:56:30 Docker containers have been removed
[Pipeline] echo
19:56:30 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
[Pipeline] echo
19:56:30 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (build image for "alpine")
[Pipeline] checkout
19:56:30 using credential sf-release-bot.github.ssh
19:56:30 Cloning the remote Git repository
19:56:30 Cloning with configured refspecs honoured and without tags
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
19:56:32 Fetching without tags
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
19:56:32 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
19:56:32 Commit message: "label one-off containers with current count + 1"
19:56:32 First time build. Skipping changelog.
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
 > git rev-list --no-walk affb205d62623f99fbaa73faa40275f1634f3264 # timeout=10
[Pipeline] sh
19:56:33 + git rev-parse HEAD
[Pipeline] sh
19:56:34 + docker pull dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
19:56:34 Error response from daemon: manifest for dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b not found: manifest unknown: manifest unknown
[Pipeline] sh
19:56:34 + script/build/write-git-sha
19:56:34 + GIT_COMMIT=97551c75
19:56:34 + docker build -t dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b --target build --build-arg BUILD_PLATFORM=alpine --build-arg GIT_COMMIT=97551c75f48b12c6d714aa9a430222e0bd853e9b .
19:56:34 Sending build context to Docker daemon  1.867MB

19:56:34 Step 1/32 : ARG DOCKER_VERSION=18.09.7
19:56:34 Step 2/32 : ARG PYTHON_VERSION=3.7.4
19:56:34 Step 3/32 : ARG BUILD_ALPINE_VERSION=3.10
19:56:34 Step 4/32 : ARG BUILD_DEBIAN_VERSION=slim-stretch
19:56:34 Step 5/32 : ARG RUNTIME_ALPINE_VERSION=3.10.1
19:56:34 Step 6/32 : ARG RUNTIME_DEBIAN_VERSION=stretch-20190812-slim
19:56:34 Step 7/32 : ARG BUILD_PLATFORM=alpine
19:56:34 Step 8/32 : FROM docker:${DOCKER_VERSION} AS docker-cli
19:56:34  ---> 108a4437ed8c
19:56:34 Step 9/32 : FROM python:${PYTHON_VERSION}-alpine${BUILD_ALPINE_VERSION} AS build-alpine
19:56:34  ---> f309434dea3a
19:56:34 Step 10/32 : RUN apk add --no-cache     bash     build-base     ca-certificates     curl     gcc     git     libc-dev     libffi-dev     libgcc     make     musl-dev     openssl     openssl-dev     python2     python2-dev     zlib-dev
19:56:34  ---> Using cache
19:56:34  ---> c361329087b8
19:56:34 Step 11/32 : ENV BUILD_BOOTLOADER=1
19:56:34  ---> Using cache
19:56:34  ---> d0a932ef4167
19:56:34 Step 12/32 : FROM python:${PYTHON_VERSION}-${BUILD_DEBIAN_VERSION} AS build-debian
19:56:34  ---> fad2b9f06d3b
19:56:34 Step 13/32 : RUN apt-get update && apt-get install --no-install-recommends -y     curl     gcc     git     libc-dev     libffi-dev     libgcc-6-dev     libssl-dev     make     openssl     python2.7-dev     zlib1g-dev
19:56:34  ---> Using cache
19:56:34  ---> 29cab1da3d1a
19:56:34 Step 14/32 : FROM build-${BUILD_PLATFORM} AS build
19:56:34  ---> d0a932ef4167
19:56:34 Step 15/32 : COPY docker-compose-entrypoint.sh /usr/local/bin/
19:56:34  ---> Using cache
19:56:34  ---> b0457107fd2f
19:56:34 Step 16/32 : ENTRYPOINT ["sh", "/usr/local/bin/docker-compose-entrypoint.sh"]
19:56:34  ---> Using cache
19:56:34  ---> 60b8662bfce5
19:56:34 Step 17/32 : COPY --from=docker-cli /usr/local/bin/docker /usr/local/bin/docker
19:56:34  ---> Using cache
19:56:34  ---> a343798109ea
19:56:34 Step 18/32 : WORKDIR /code/
19:56:34  ---> Using cache
19:56:34  ---> e53f008fd042
19:56:34 Step 19/32 : RUN pip install virtualenv==16.2.0
19:56:34  ---> Using cache
19:56:34  ---> f6e6f959baf9
19:56:34 Step 20/32 : RUN pip install tox==2.9.1
19:56:34  ---> Using cache
19:56:34  ---> 34ca723b6290
19:56:34 Step 21/32 : COPY requirements.txt .
19:56:34  ---> Using cache
19:56:34  ---> f2d3848691ba
19:56:34 Step 22/32 : COPY requirements-dev.txt .
19:56:34  ---> Using cache
19:56:34  ---> 260f1385ad62
19:56:34 Step 23/32 : COPY .pre-commit-config.yaml .
19:56:34  ---> Using cache
19:56:34  ---> 45595ec5e558
19:56:34 Step 24/32 : COPY tox.ini .
19:56:34  ---> Using cache
19:56:34  ---> 3c8f123a4ca3
19:56:34 Step 25/32 : COPY setup.py .
19:56:34  ---> Using cache
19:56:34  ---> 8928b9e246ba
19:56:34 Step 26/32 : COPY README.md .
19:56:34  ---> Using cache
19:56:34  ---> 87709312d95e
19:56:34 Step 27/32 : COPY compose compose/
19:56:34  ---> 2db671149c45
19:56:34 Step 28/32 : RUN tox --notest
19:56:34  ---> Running in dd086d8d6127
19:56:35 py27 create: /code/.tox/py27
19:56:48 py27 installdeps: -rrequirements.txt, -rrequirements-dev.txt
19:58:54 py27 develop-inst: /code
19:58:54 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0
19:58:54 py37 create: /code/.tox/py37
19:59:04 py37 installdeps: -rrequirements.txt, -rrequirements-dev.txt
20:01:11 py37 develop-inst: /code
20:01:11 py37 installed: atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0
20:01:11 pre-commit create: /code/.tox/pre-commit
20:01:19 pre-commit installdeps: pre-commit
20:01:31 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0
20:01:31 ___________________________________ summary ____________________________________
20:01:31   py27: skipped tests
20:01:31   py37: skipped tests
20:01:31   pre-commit: skipped tests
20:01:31   congratulations :)
20:01:35 Removing intermediate container dd086d8d6127
20:01:35  ---> db4a8aad6670
20:01:35 Step 29/32 : COPY . .
20:01:35  ---> 11e7cd9cba6b
20:01:35 Step 30/32 : ARG GIT_COMMIT=unknown
20:01:35  ---> Running in 0e41b4e0cb9a
20:01:35 Removing intermediate container 0e41b4e0cb9a
20:01:35  ---> 530ebd16c2eb
20:01:35 Step 31/32 : ENV DOCKER_COMPOSE_GITSHA=$GIT_COMMIT
20:01:35  ---> Running in 55559b8ab986
20:01:35 Removing intermediate container 55559b8ab986
20:01:35  ---> 833cb7ce0488
20:01:35 Step 32/32 : RUN script/build/linux-entrypoint
20:01:35  ---> Running in 2d2f449f8ea5
20:01:36 + CODE_PATH=/code
20:01:36 + VENV=/code/.tox/py37
20:01:36 + cd /code
20:01:36 + mkdir -p dist
20:01:36 + chmod 777 dist
20:01:36 + /code/.tox/py37/bin/pip3 install -q -r requirements-build.txt
20:01:54 + '[' -z 97551c75f48b12c6d714aa9a430222e0bd853e9b ']'
20:01:54 + echo 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:01:54 + export PATH=/code/pyinstaller:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
20:01:54 + PATH=/code/pyinstaller:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
20:01:54 + '[' '!' -z 1 ']'
20:01:54 + git clone --single-branch --branch develop https://github.com/pyinstaller/pyinstaller.git /tmp/pyinstaller
20:01:54 Cloning into '/tmp/pyinstaller'...
20:01:57 + cd /tmp/pyinstaller/bootloader
20:01:57 + git checkout v3.5
20:01:57 Note: checking out 'v3.5'.
20:01:57 
20:01:57 You are in 'detached HEAD' state. You can look around, make experimental
20:01:57 changes and commit them, and you can discard any commits you make in this
20:01:57 state without impacting any branches by performing another checkout.
20:01:57 
20:01:57 If you want to create a new branch to retain commits you create, you may
20:01:57 do so (now or later) by using -b with the checkout command again. Example:
20:01:57 
20:01:57   git checkout -b <new-branch-name>
20:01:57 
20:01:57 HEAD is now at 498e6ee0 Release 3.5.
20:01:57 + /code/.tox/py37/bin/python3 ./waf configure --no-lsb all
20:01:58 Setting top to                           : /tmp/pyinstaller/bootloader 
20:01:58 Setting out to                           : /tmp/pyinstaller/bootloader/build 
20:01:58 Python Version                           : 3.7.4 (default, Aug 21 2019, 00:19:59) [GCC 8.3.0] 
20:01:58 Checking for 'gcc' (C compiler)          : /usr/bin/gcc 
20:01:58 Checking size of pointer                 : 8 
20:01:58 Platform                                 : Linux-64bit detected based on compiler 
20:01:58 Checking for flags -m64                  : yes 
20:01:58 Checking for program '/usr/bin/strip'    : /usr/bin/strip 
20:01:58 Checking for program 'strip'             : /usr/bin/strip 
20:01:58 Checking for library dl                  : yes 
20:01:58 Checking for library m                   : yes 
20:01:58 Checking for library z                   : yes 
20:01:58 Checking for function unsetenv           : yes 
20:01:58 Checking for function mkdtemp            : yes 
20:01:58 Checking for flags -Wl,--as-needed       : yes 
20:01:58 'configure' finished successfully (0.335s)
20:01:58 'all' finished successfully (0.000s)
20:01:58 'distclean' finished successfully (0.001s)
20:01:58 Setting top to                           : /tmp/pyinstaller/bootloader 
20:01:58 Setting out to                           : /tmp/pyinstaller/bootloader/build 
20:01:58 Python Version                           : 3.7.4 (default, Aug 21 2019, 00:19:59) [GCC 8.3.0] 
20:01:58 Checking for 'gcc' (C compiler)          : /usr/bin/gcc 
20:01:58 Checking size of pointer                 : 8 
20:01:58 Platform                                 : Linux-64bit detected based on compiler 
20:01:58 Checking for flags -m64                  : yes 
20:01:58 Checking for program '/usr/bin/strip'    : /usr/bin/strip 
20:01:58 Checking for program 'strip'             : /usr/bin/strip 
20:01:58 Checking for library dl                  : yes 
20:01:58 Checking for library m                   : yes 
20:01:58 Checking for library z                   : yes 
20:01:58 Checking for function unsetenv           : yes 
20:01:58 Checking for function mkdtemp            : yes 
20:01:58 Checking for flags -Wl,--as-needed       : yes 
20:01:58 'configure' finished successfully (0.299s)
20:01:58 'make_all' finished successfully (0.003s)
20:01:58 Waf: Entering directory `/tmp/pyinstaller/bootloader/build/debug'
20:01:58 [ 1/13] Compiling src/pyi_python.c
20:01:58 [ 2/13] Compiling src/pyi_global.c
20:01:58 [ 3/13] Compiling src/main.c
20:01:58 [ 4/13] Compiling src/pyi_archive.c
20:01:58 [ 5/13] Compiling src/pyi_launch.c
20:01:58 [ 6/13] Compiling src/pyi_win32_utils.c
20:01:58 [ 7/13] Compiling src/pyi_main.c
20:01:58 [ 8/13] Compiling src/pyi_pythonlib.c
20:01:59 [ 9/13] Compiling src/pyi_python27_compat.c
20:01:59 [10/13] Compiling src/pyi_utils.c
20:01:59 [11/13] Compiling src/pyi_path.c
20:01:59 [12/13] Linking build/debug/run_d
20:01:59 [13/13] Processing build/debug/run_d
20:01:59 Waf: Leaving directory `/tmp/pyinstaller/bootloader/build/debug'
20:01:59 'build_debug' finished successfully (0.700s)
20:01:59 Waf: Entering directory `/tmp/pyinstaller/bootloader/build/release'
20:01:59 [ 1/13] Compiling src/pyi_python.c
20:01:59 [ 2/13] Compiling src/pyi_global.c
20:01:59 [ 3/13] Compiling src/main.c
20:01:59 [ 4/13] Compiling src/pyi_archive.c
20:01:59 [ 5/13] Compiling src/pyi_launch.c
20:01:59 [ 6/13] Compiling src/pyi_win32_utils.c
20:01:59 [ 7/13] Compiling src/pyi_main.c
20:01:59 [ 8/13] Compiling src/pyi_pythonlib.c
20:01:59 [ 9/13] Compiling src/pyi_python27_compat.c
20:01:59 [10/13] Compiling src/pyi_utils.c
20:01:59 [11/13] Compiling src/pyi_path.c
20:01:59 [12/13] Linking build/release/run
20:01:59 [13/13] Processing build/release/run
20:01:59 Waf: Leaving directory `/tmp/pyinstaller/bootloader/build/release'
20:01:59 'build_release' finished successfully (0.686s)
20:02:00 Waf: Entering directory `/tmp/pyinstaller/bootloader/build/debug'
20:02:00 [13/14] Processing build/debug/run_d
20:02:00 + install /tmp/pyinstaller/PyInstaller/bootloader/Linux-64bit/run_d (from build/debug/run_d)
20:02:00 Waf: Leaving directory `/tmp/pyinstaller/bootloader/build/debug'
20:02:00 'install_debug' finished successfully (0.015s)
20:02:00 Waf: Entering directory `/tmp/pyinstaller/bootloader/build/release'
20:02:00 [13/14] Processing build/release/run
20:02:00 + install /tmp/pyinstaller/PyInstaller/bootloader/Linux-64bit/run (from build/release/run)
20:02:00 Waf: Leaving directory `/tmp/pyinstaller/bootloader/build/release'
20:02:00 'install_release' finished successfully (0.012s)
20:02:00 + /code/.tox/py37/bin/pip3 install ..
20:02:00 Processing /tmp/pyinstaller
20:02:00   Installing build dependencies: started
20:02:05   Installing build dependencies: finished with status 'done'
20:02:05   Getting requirements to build wheel: started
20:02:06   Getting requirements to build wheel: finished with status 'done'
20:02:06     Preparing wheel metadata: started
20:02:06     Preparing wheel metadata: finished with status 'done'
20:02:06 Requirement already satisfied: setuptools in /code/.tox/py37/lib/python3.7/site-packages (from PyInstaller==3.5) (41.6.0)
20:02:06 Requirement already satisfied: altgraph in /code/.tox/py37/lib/python3.7/site-packages (from PyInstaller==3.5) (0.16.1)
20:02:06 Building wheels for collected packages: PyInstaller
20:02:06   Building wheel for PyInstaller (PEP 517): started
20:02:07   Building wheel for PyInstaller (PEP 517): finished with status 'done'
20:02:07   Created wheel for PyInstaller: filename=PyInstaller-3.5-cp37-none-any.whl size=2879088 sha256=b2b2277f72d80eb46d1867a4c73f041b41e33b376f5524634a793f98286fa0f3
20:02:07   Stored in directory: /tmp/pip-ephem-wheel-cache-h_todpfl/wheels/87/26/52/6e71dbb2b6d73f545e70263c3d348435a974f03b1e9c578887
20:02:07 Successfully built PyInstaller
20:02:07 Installing collected packages: PyInstaller
20:02:07   Found existing installation: PyInstaller 3.5
20:02:07     Uninstalling PyInstaller-3.5:
20:02:07       Successfully uninstalled PyInstaller-3.5
20:02:07 Successfully installed PyInstaller-3.5
20:02:07 + cd /code
20:02:07 + rm -Rf /tmp/pyinstaller
20:02:07 + /code/.tox/py37/bin/pyinstaller --exclude-module pycrypto --exclude-module PyInstaller docker-compose.spec
20:02:08 36 INFO: PyInstaller: 3.5
20:02:08 36 INFO: Python: 3.7.4
20:02:08 39 INFO: Platform: Linux-4.15.0-1048-aws-x86_64-with
20:02:08 40 INFO: UPX is not available.
20:02:08 41 INFO: Extending PYTHONPATH with paths
20:02:08 ['/code/bin', '/code']
20:02:08 42 INFO: checking Analysis
20:02:08 42 INFO: Building Analysis because Analysis-00.toc is non existent
20:02:08 42 INFO: Initializing module dependency graph...
20:02:08 43 INFO: Initializing module graph hooks...
20:02:08 44 INFO: Analyzing base_library.zip ...
20:02:10 2448 INFO: running Analysis Analysis-00.toc
20:02:10 2458 INFO: Caching module hooks...
20:02:10 2462 INFO: Analyzing bin/docker-compose
20:02:10 2541 INFO: Processing pre-find module path hook   distutils
20:02:10 2542 INFO: distutils: retargeting to non-venv dir '/usr/local/lib/python3.7/distutils'
20:02:10 2715 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
20:02:11 3563 INFO: Processing pre-safe import module hook   six.moves
20:02:14 5869 INFO: Loading module hooks...
20:02:14 5869 INFO: Loading module hook "hook-certifi.py"...
20:02:14 5870 INFO: Loading module hook "hook-jsonschema.py"...
20:02:14 5871 INFO: Loading module hook "hook-xml.py"...
20:02:14 5909 INFO: Loading module hook "hook-nacl.py"...
20:02:14 5910 INFO: Loading module hook "hook-distutils.py"...
20:02:14 5911 INFO: Loading module hook "hook-pkg_resources.py"...
20:02:14 6174 INFO: Processing pre-safe import module hook   win32com
20:02:14 6231 INFO: Loading module hook "hook-pydoc.py"...
20:02:14 6231 INFO: Loading module hook "hook-sysconfig.py"...
20:02:14 6237 INFO: Loading module hook "hook-encodings.py"...
20:02:14 6275 INFO: Loading module hook "hook-cryptography.py"...
20:02:14 6426 INFO: Looking for ctypes DLLs
20:02:14 Illegal option -p
20:02:14 6454 INFO: Analyzing run-time hooks ...
20:02:14 6461 INFO: Including run-time hook 'pyi_rth_certifi.py'
20:02:14 6463 INFO: Including run-time hook 'pyi_rth_pkgres.py'
20:02:14 6472 INFO: Looking for dynamic libraries
20:02:14 6676 INFO: Looking for eggs
20:02:14 6677 INFO: Using Python library /usr/local/lib/libpython3.7m.so.1.0
20:02:14 6686 INFO: Warnings written to /code/build/docker-compose/warn-docker-compose.txt
20:02:14 6737 INFO: Graph cross-reference written to /code/build/docker-compose/xref-docker-compose.html
20:02:14 6759 INFO: checking PYZ
20:02:14 6759 INFO: Building PYZ because PYZ-00.toc is non existent
20:02:14 6759 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/PYZ-00.pyz
20:02:15 7541 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/PYZ-00.pyz completed successfully.
20:02:15 7552 INFO: checking PKG
20:02:15 7552 INFO: Building PKG because PKG-00.toc is non existent
20:02:15 7552 INFO: Building PKG (CArchive) PKG-00.pkg
20:02:28 18667 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
20:02:28 18670 INFO: Bootloader /code/.tox/py37/lib/python3.7/site-packages/PyInstaller/bootloader/Linux-64bit/run
20:02:28 18670 INFO: checking EXE
20:02:28 18670 INFO: Building EXE because EXE-00.toc is non existent
20:02:28 18670 INFO: Building EXE from EXE-00.toc
20:02:28 18670 INFO: Appending archive to ELF section in EXE /code/dist/docker-compose
20:02:28 18979 INFO: Building EXE from EXE-00.toc completed successfully.
20:02:28 + ls -la dist/
20:02:28 total 17124
20:02:28 drwxrwxrwx    2 root     root          4096 Nov  6 20:02 .
20:02:28 drwxr-xr-x    1 root     root          4096 Nov  6 20:02 ..
20:02:28 -rwxr-xr-x    1 root     root      17520784 Nov  6 20:02 docker-compose
20:02:28 + ldd dist/docker-compose
20:02:28 	/lib/ld-musl-x86_64.so.1 (0x7fe58e56a000)
20:02:28 	libz.so.1 => /lib/libz.so.1 (0x7fe58e534000)
20:02:28 	libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7fe58e56a000)
20:02:28 + mv dist/docker-compose /usr/local/bin
20:02:28 + docker-compose version
20:02:28 docker-compose version 1.25.0dev, build 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:02:28 docker-py version: 4.1.0
20:02:28 CPython version: 3.7.4
20:02:28 OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
20:02:29 Removing intermediate container 2d2f449f8ea5
20:02:29  ---> a8a0fde41025
20:02:29 Successfully built a8a0fde41025
20:02:29 Successfully tagged dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] sh
20:02:30 + docker push dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:02:30 The push refers to repository [docker.io/dockerbuildbot/compose]
20:02:30 2b31a6c99499: Preparing
20:02:30 2fd59824d719: Preparing
20:02:30 c3722070104d: Preparing
20:02:30 924d359b01f8: Preparing
20:02:30 87f778e947bd: Preparing
20:02:30 aaa6cea6d488: Preparing
20:02:30 895537100cf8: Preparing
20:02:30 cbf53bf92620: Preparing
20:02:30 15bbab403dd8: Preparing
20:02:30 bf7f8d4f54b3: Preparing
20:02:30 f9bf53631db5: Preparing
20:02:30 38b29c62b360: Preparing
20:02:30 8a6685cb2553: Preparing
20:02:30 42c4f8afbb2d: Preparing
20:02:30 a9feb4814066: Preparing
20:02:30 e6cb99f17018: Preparing
20:02:30 2a8b7fd42278: Preparing
20:02:30 6a1aa47d6606: Preparing
20:02:30 7b66164940a3: Preparing
20:02:30 c5728f2d608b: Preparing
20:02:30 03901b4a2ea8: Preparing
20:02:30 aaa6cea6d488: Waiting
20:02:30 895537100cf8: Waiting
20:02:30 cbf53bf92620: Waiting
20:02:30 15bbab403dd8: Waiting
20:02:30 bf7f8d4f54b3: Waiting
20:02:30 f9bf53631db5: Waiting
20:02:30 38b29c62b360: Waiting
20:02:30 8a6685cb2553: Waiting
20:02:30 42c4f8afbb2d: Waiting
20:02:30 a9feb4814066: Waiting
20:02:30 e6cb99f17018: Waiting
20:02:30 2a8b7fd42278: Waiting
20:02:30 6a1aa47d6606: Waiting
20:02:30 7b66164940a3: Waiting
20:02:30 c5728f2d608b: Waiting
20:02:30 03901b4a2ea8: Waiting
20:02:30 87f778e947bd: Layer already exists
20:02:30 aaa6cea6d488: Layer already exists
20:02:30 895537100cf8: Layer already exists
20:02:30 cbf53bf92620: Layer already exists
20:02:31 15bbab403dd8: Layer already exists
20:02:31 bf7f8d4f54b3: Layer already exists
20:02:32 924d359b01f8: Pushed
20:02:32 f9bf53631db5: Layer already exists
20:02:32 2fd59824d719: Pushed
20:02:32 38b29c62b360: Layer already exists
20:02:33 8a6685cb2553: Layer already exists
20:02:33 42c4f8afbb2d: Layer already exists
20:02:33 a9feb4814066: Layer already exists
20:02:33 e6cb99f17018: Layer already exists
20:02:33 2a8b7fd42278: Layer already exists
20:02:33 6a1aa47d6606: Layer already exists
20:02:33 7b66164940a3: Layer already exists
20:02:33 c5728f2d608b: Layer already exists
20:02:33 03901b4a2ea8: Layer already exists
20:02:36 2b31a6c99499: Pushed
20:02:41 c3722070104d: Pushed
20:02:42 alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b: digest: sha256:860655e37e44e0db717800e640d4ac042beaef4da3e94b0fbdba58bc5e03db98 size: 4715
[Pipeline] echo
20:02:42 dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] echo
image.id: dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0c0144143f9aeb202) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] {
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/a510fa67-53ef-4421-a807-a802118f164d/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] sh
20:02:43 + docker run --rm --entrypoint=/code/.tox/py27/bin/python dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b /code/script/test/versions.py -n 2 docker/docker-ce recent
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0c0144143f9aeb202) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] {
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/edb46de5-83d0-487f-b940-5de50abe6024/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] echo
20:02:44 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:02:44 chowning workspace
[Pipeline] sh
20:02:45 + uname -m
[Pipeline] sh
20:02:45 + pwd
20:02:45 + id -u
20:02:45 + id -g
20:02:45 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
[Pipeline] echo
20:02:46 Removing all docker containers
[Pipeline] sh
20:02:46 + docker container ls -aq
[Pipeline] echo
20:02:46 Docker containers have been removed
[Pipeline] echo
20:02:46 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
[Pipeline] echo
20:02:46 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (build image for "debian")
[Pipeline] checkout
20:02:46 using credential sf-release-bot.github.ssh
20:02:46 Cloning the remote Git repository
20:02:46 Cloning with configured refspecs honoured and without tags
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
20:02:48 Fetching without tags
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
20:02:49 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:02:49 Commit message: "label one-off containers with current count + 1"
[Pipeline] sh
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:02:50 + docker pull dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:02:50 Error response from daemon: manifest for dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b not found: manifest unknown: manifest unknown
[Pipeline] sh
20:02:50 + script/build/write-git-sha
20:02:50 + GIT_COMMIT=97551c75
20:02:50 + docker build -t dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b --target build --build-arg BUILD_PLATFORM=debian --build-arg GIT_COMMIT=97551c75f48b12c6d714aa9a430222e0bd853e9b .
20:02:50 Sending build context to Docker daemon  1.867MB

20:02:50 Step 1/32 : ARG DOCKER_VERSION=18.09.7
20:02:50 Step 2/32 : ARG PYTHON_VERSION=3.7.4
20:02:50 Step 3/32 : ARG BUILD_ALPINE_VERSION=3.10
20:02:50 Step 4/32 : ARG BUILD_DEBIAN_VERSION=slim-stretch
20:02:50 Step 5/32 : ARG RUNTIME_ALPINE_VERSION=3.10.1
20:02:50 Step 6/32 : ARG RUNTIME_DEBIAN_VERSION=stretch-20190812-slim
20:02:50 Step 7/32 : ARG BUILD_PLATFORM=alpine
20:02:50 Step 8/32 : FROM docker:${DOCKER_VERSION} AS docker-cli
20:02:50  ---> 108a4437ed8c
20:02:50 Step 9/32 : FROM python:${PYTHON_VERSION}-alpine${BUILD_ALPINE_VERSION} AS build-alpine
20:02:50  ---> f309434dea3a
20:02:50 Step 10/32 : RUN apk add --no-cache     bash     build-base     ca-certificates     curl     gcc     git     libc-dev     libffi-dev     libgcc     make     musl-dev     openssl     openssl-dev     python2     python2-dev     zlib-dev
20:02:50  ---> Using cache
20:02:50  ---> c361329087b8
20:02:50 Step 11/32 : ENV BUILD_BOOTLOADER=1
20:02:50  ---> Using cache
20:02:50  ---> d0a932ef4167
20:02:50 Step 12/32 : FROM python:${PYTHON_VERSION}-${BUILD_DEBIAN_VERSION} AS build-debian
20:02:50  ---> fad2b9f06d3b
20:02:50 Step 13/32 : RUN apt-get update && apt-get install --no-install-recommends -y     curl     gcc     git     libc-dev     libffi-dev     libgcc-6-dev     libssl-dev     make     openssl     python2.7-dev     zlib1g-dev
20:02:50  ---> Using cache
20:02:50  ---> 29cab1da3d1a
20:02:50 Step 14/32 : FROM build-${BUILD_PLATFORM} AS build
20:02:50  ---> 29cab1da3d1a
20:02:50 Step 15/32 : COPY docker-compose-entrypoint.sh /usr/local/bin/
20:02:50  ---> Using cache
20:02:50  ---> 8e8c0a7d099a
20:02:50 Step 16/32 : ENTRYPOINT ["sh", "/usr/local/bin/docker-compose-entrypoint.sh"]
20:02:50  ---> Using cache
20:02:50  ---> b201b7cfe1ad
20:02:50 Step 17/32 : COPY --from=docker-cli /usr/local/bin/docker /usr/local/bin/docker
20:02:50  ---> Using cache
20:02:50  ---> 28518c1886b1
20:02:50 Step 18/32 : WORKDIR /code/
20:02:50  ---> Using cache
20:02:50  ---> 283e5df1c867
20:02:50 Step 19/32 : RUN pip install virtualenv==16.2.0
20:02:50  ---> Using cache
20:02:50  ---> faacdef439d0
20:02:50 Step 20/32 : RUN pip install tox==2.9.1
20:02:50  ---> Using cache
20:02:50  ---> bb1ae7533b9f
20:02:50 Step 21/32 : COPY requirements.txt .
20:02:50  ---> Using cache
20:02:50  ---> d2612d5d0ce6
20:02:50 Step 22/32 : COPY requirements-dev.txt .
20:02:50  ---> Using cache
20:02:50  ---> 7ad33e3672e6
20:02:50 Step 23/32 : COPY .pre-commit-config.yaml .
20:02:50  ---> Using cache
20:02:50  ---> 75fbd936469e
20:02:50 Step 24/32 : COPY tox.ini .
20:02:50  ---> Using cache
20:02:50  ---> 3ca5e5cfe81d
20:02:50 Step 25/32 : COPY setup.py .
20:02:50  ---> Using cache
20:02:50  ---> 117b5d5d7773
20:02:50 Step 26/32 : COPY README.md .
20:02:50  ---> Using cache
20:02:50  ---> c1f895e72624
20:02:50 Step 27/32 : COPY compose compose/
20:02:50  ---> c3845d59d1d5
20:02:50 Step 28/32 : RUN tox --notest
20:02:50  ---> Running in 28164b116cb8
20:02:51 py27 create: /code/.tox/py27
20:03:04 py27 installdeps: -rrequirements.txt, -rrequirements-dev.txt
20:03:22 py27 develop-inst: /code
20:03:30 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0
20:03:30 py37 create: /code/.tox/py37
20:03:40 py37 installdeps: -rrequirements.txt, -rrequirements-dev.txt
20:03:58 py37 develop-inst: /code
20:03:58 py37 installed: atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0
20:03:58 pre-commit create: /code/.tox/pre-commit
20:04:11 pre-commit installdeps: pre-commit
20:04:23 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0
20:04:23 ___________________________________ summary ____________________________________
20:04:23   py27: skipped tests
20:04:23   py37: skipped tests
20:04:23   pre-commit: skipped tests
20:04:23   congratulations :)
20:04:25 Removing intermediate container 28164b116cb8
20:04:25  ---> d381929bf4d6
20:04:25 Step 29/32 : COPY . .
20:04:25  ---> c787d26cc58e
20:04:25 Step 30/32 : ARG GIT_COMMIT=unknown
20:04:25  ---> Running in a73cf29c4b0a
20:04:26 Removing intermediate container a73cf29c4b0a
20:04:26  ---> c4248c330baf
20:04:26 Step 31/32 : ENV DOCKER_COMPOSE_GITSHA=$GIT_COMMIT
20:04:26  ---> Running in 748020ab83ae
20:04:26 Removing intermediate container 748020ab83ae
20:04:26  ---> c12e9fb23d1d
20:04:26 Step 32/32 : RUN script/build/linux-entrypoint
20:04:26  ---> Running in 9bfca6208464
20:04:26 + CODE_PATH=/code
20:04:26 + VENV=/code/.tox/py37
20:04:26 + cd /code
20:04:26 + mkdir -p dist
20:04:26 + chmod 777 dist
20:04:26 + /code/.tox/py37/bin/pip3 install -q -r requirements-build.txt
20:04:45 + '[' -z 97551c75f48b12c6d714aa9a430222e0bd853e9b ']'
20:04:45 + echo 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:04:45 + export PATH=/code/pyinstaller:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
20:04:45 + PATH=/code/pyinstaller:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
20:04:45 + '[' '!' -z '' ']'
20:04:45 + echo 'NOT compiling bootloader!!!'
20:04:45 + /code/.tox/py37/bin/pyinstaller --exclude-module pycrypto --exclude-module PyInstaller docker-compose.spec
20:04:45 NOT compiling bootloader!!!
20:04:45 36 INFO: PyInstaller: 3.5
20:04:45 36 INFO: Python: 3.7.4
20:04:45 37 INFO: Platform: Linux-4.15.0-1048-aws-x86_64-with-debian-9.11
20:04:45 38 INFO: UPX is not available.
20:04:45 39 INFO: Extending PYTHONPATH with paths
20:04:45 ['/code/bin', '/code']
20:04:45 39 INFO: checking Analysis
20:04:45 39 INFO: Building Analysis because Analysis-00.toc is non existent
20:04:45 39 INFO: Initializing module dependency graph...
20:04:45 41 INFO: Initializing module graph hooks...
20:04:45 42 INFO: Analyzing base_library.zip ...
20:04:47 2531 INFO: running Analysis Analysis-00.toc
20:04:47 2548 INFO: Caching module hooks...
20:04:47 2552 INFO: Analyzing bin/docker-compose
20:04:47 2633 INFO: Processing pre-find module path hook   distutils
20:04:47 2633 INFO: distutils: retargeting to non-venv dir '/usr/local/lib/python3.7/distutils'
20:04:47 2805 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
20:04:48 3654 INFO: Processing pre-safe import module hook   six.moves
20:04:51 6020 INFO: Loading module hooks...
20:04:51 6020 INFO: Loading module hook "hook-certifi.py"...
20:04:51 6021 INFO: Loading module hook "hook-jsonschema.py"...
20:04:51 6022 INFO: Loading module hook "hook-xml.py"...
20:04:51 6060 INFO: Loading module hook "hook-nacl.py"...
20:04:51 6061 INFO: Loading module hook "hook-distutils.py"...
20:04:51 6063 INFO: Loading module hook "hook-pkg_resources.py"...
20:04:51 6341 INFO: Processing pre-safe import module hook   win32com
20:04:51 6386 INFO: Loading module hook "hook-pydoc.py"...
20:04:51 6386 INFO: Loading module hook "hook-sysconfig.py"...
20:04:51 6392 INFO: Loading module hook "hook-encodings.py"...
20:04:51 6431 INFO: Loading module hook "hook-cryptography.py"...
20:04:51 6577 INFO: Looking for ctypes DLLs
20:04:51 6610 INFO: Analyzing run-time hooks ...
20:04:51 6619 INFO: Including run-time hook 'pyi_rth_certifi.py'
20:04:51 6620 INFO: Including run-time hook 'pyi_rth_pkgres.py'
20:04:51 6631 INFO: Looking for dynamic libraries
20:04:52 7153 INFO: Looking for eggs
20:04:52 7153 INFO: Using Python library /usr/local/lib/libpython3.7m.so.1.0
20:04:52 7162 INFO: Warnings written to /code/build/docker-compose/warn-docker-compose.txt
20:04:52 7216 INFO: Graph cross-reference written to /code/build/docker-compose/xref-docker-compose.html
20:04:52 7238 INFO: checking PYZ
20:04:52 7238 INFO: Building PYZ because PYZ-00.toc is non existent
20:04:52 7238 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/PYZ-00.pyz
20:04:52 7922 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/PYZ-00.pyz completed successfully.
20:04:52 7933 INFO: checking PKG
20:04:52 7933 INFO: Building PKG because PKG-00.toc is non existent
20:04:52 7933 INFO: Building PKG (CArchive) PKG-00.pkg
20:05:02 17635 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
20:05:02 17638 INFO: Bootloader /code/.tox/py37/lib/python3.7/site-packages/PyInstaller/bootloader/Linux-64bit/run
20:05:02 17639 INFO: checking EXE
20:05:02 17639 INFO: Building EXE because EXE-00.toc is non existent
20:05:02 17639 INFO: Building EXE from EXE-00.toc
20:05:02 17639 INFO: Appending archive to ELF section in EXE /code/dist/docker-compose
20:05:02 17686 INFO: Building EXE from EXE-00.toc completed successfully.
20:05:02 + ls -la dist/
20:05:02 total 16648
20:05:02 drwxrwxrwx 2 root root     4096 Nov  6 20:05 .
20:05:02 drwxr-xr-x 1 root root     4096 Nov  6 20:04 ..
20:05:02 -rwxr-xr-x 1 root root 17032160 Nov  6 20:05 docker-compose
20:05:02 + ldd dist/docker-compose
20:05:02 	linux-vdso.so.1 (0x00007fff9cf22000)
20:05:02 	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f521e341000)
20:05:02 	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f521e127000)
20:05:02 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f521dd88000)
20:05:02 	/lib64/ld-linux-x86-64.so.2 (0x00007f521e545000)
20:05:02 + mv dist/docker-compose /usr/local/bin
20:05:02 + docker-compose version
20:05:03 docker-compose version 1.25.0dev, build 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:03 docker-py version: 4.1.0
20:05:03 CPython version: 3.7.4
20:05:03 OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
20:05:04 Removing intermediate container 9bfca6208464
20:05:04  ---> f31253d9e68a
20:05:04 Successfully built f31253d9e68a
20:05:04 Successfully tagged dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] sh
20:05:04 + docker push dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:04 The push refers to repository [docker.io/dockerbuildbot/compose]
20:05:04 b552a207b727: Preparing
20:05:04 4d0bc75e2074: Preparing
20:05:04 cc958f3c6fb1: Preparing
20:05:04 2fe3a7f46127: Preparing
20:05:04 47139c6d1e1d: Preparing
20:05:04 606147b06a36: Preparing
20:05:04 ac087ef75ef5: Preparing
20:05:04 3a30e171cc95: Preparing
20:05:04 0df71f476b8b: Preparing
20:05:04 0de271b50e69: Preparing
20:05:04 2d9dd36de98f: Preparing
20:05:04 fad3ffa4cc62: Preparing
20:05:04 d522b478f6cd: Preparing
20:05:04 cdc05b8fa52d: Preparing
20:05:04 efc79e0de688: Preparing
20:05:04 d64b56cc801a: Preparing
20:05:04 99a2e7cd1f0d: Preparing
20:05:04 a8f0218d77da: Preparing
20:05:04 b3edacbcd846: Preparing
20:05:04 896510bee743: Preparing
20:05:04 67ecfc9591c8: Preparing
20:05:04 606147b06a36: Waiting
20:05:04 ac087ef75ef5: Waiting
20:05:04 3a30e171cc95: Waiting
20:05:04 0df71f476b8b: Waiting
20:05:04 0de271b50e69: Waiting
20:05:04 2d9dd36de98f: Waiting
20:05:04 fad3ffa4cc62: Waiting
20:05:04 d522b478f6cd: Waiting
20:05:04 cdc05b8fa52d: Waiting
20:05:04 efc79e0de688: Waiting
20:05:04 d64b56cc801a: Waiting
20:05:04 99a2e7cd1f0d: Waiting
20:05:04 a8f0218d77da: Waiting
20:05:04 b3edacbcd846: Waiting
20:05:04 896510bee743: Waiting
20:05:04 67ecfc9591c8: Waiting
20:05:04 47139c6d1e1d: Layer already exists
20:05:04 606147b06a36: Layer already exists
20:05:04 ac087ef75ef5: Layer already exists
20:05:05 3a30e171cc95: Layer already exists
20:05:05 0df71f476b8b: Layer already exists
20:05:05 0de271b50e69: Layer already exists
20:05:05 2d9dd36de98f: Layer already exists
20:05:06 fad3ffa4cc62: Layer already exists
20:05:06 d522b478f6cd: Layer already exists
20:05:07 4d0bc75e2074: Pushed
20:05:07 2fe3a7f46127: Pushed
20:05:07 cdc05b8fa52d: Layer already exists
20:05:07 efc79e0de688: Layer already exists
20:05:07 d64b56cc801a: Layer already exists
20:05:08 99a2e7cd1f0d: Layer already exists
20:05:08 b3edacbcd846: Layer already exists
20:05:08 a8f0218d77da: Layer already exists
20:05:08 896510bee743: Layer already exists
20:05:08 67ecfc9591c8: Layer already exists
20:05:11 b552a207b727: Pushed
20:05:15 cc958f3c6fb1: Pushed
20:05:16 debian-97551c75f48b12c6d714aa9a430222e0bd853e9b: digest: sha256:6e2406096dcdbafd22f53ed9e083962e58e3c0ed054e69c3a51a36a60601a518 size: 4718
[Pipeline] echo
20:05:16 dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] echo
image.id: dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0c0144143f9aeb202) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] {
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/28afc3a2-6b0e-4334-8f76-f42dfa3e7c12/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] sh
20:05:16 + docker run --rm --entrypoint=/code/.tox/py27/bin/python dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b /code/script/test/versions.py -n 2 docker/docker-ce recent
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] parallel
[Pipeline] { (Branch: alpine_19.03.5-rc1_py27)
[Pipeline] { (Branch: alpine_19.03.5-rc1_py37)
[Pipeline] { (Branch: alpine_18.09.9_py27)
[Pipeline] { (Branch: alpine_18.09.9_py37)
[Pipeline] { (Branch: debian_19.03.5-rc1_py27)
[Pipeline] { (Branch: debian_19.03.5-rc1_py37)
[Pipeline] { (Branch: debian_18.09.9_py27)
[Pipeline] { (Branch: debian_18.09.9_py37)
[Pipeline] node
[Pipeline] node
[Pipeline] node
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0640df5ecb7b727d3) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0477140df04fcdda0) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-03126ca68ff6b14eb) in /home/ubuntu/workspace/compose_PR-6647
Running on ubuntu-1804-overlay2 (i-05966ee8d08f8709c) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] node
[Pipeline] node
Running on ubuntu-1804-overlay2 (i-0c0144143f9aeb202) in /home/ubuntu/workspace/compose_PR-6647
Running on ubuntu-1804-overlay2 (i-030b17c152a32bf28) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] {
Running on ubuntu-1804-overlay2 (i-0abee6691bac171a0) in /home/ubuntu/workspace/compose_PR-6647
[Pipeline] withDockerRegistry
[Pipeline] withDockerRegistry
Running on ubuntu-1804-overlay2 (i-0fd1372b25a304901) in /home/ubuntu/workspace/compose_PR-6647
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
[Pipeline] withDockerRegistry
[Pipeline] withDockerRegistry
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
[Pipeline] {
[Pipeline] {
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
[Pipeline] withDockerRegistry
[Pipeline] withDockerRegistry
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
$ docker login -u dockerbuildbot -p ******** https://index.docker.io/v1/
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/5f39c678-2214-4a9c-8cff-2eee7871a38b/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/4321a8c3-decf-4c9c-8038-f08d0c6d975a/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/c7564905-92a9-47dc-bf3b-a77608468637/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/c4c6ea65-b4c4-4b38-8f86-147ba3e746e1/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] {
[Pipeline] wrap
[Pipeline] wrap
[Pipeline] {
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/cecffbc5-8e19-4091-97c4-4aa3dc71c9ba/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/f69e52eb-7d22-46d5-ad23-0c30e7fc1947/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/ac858c6c-a35f-4cb5-9a5c-4315fc089b3a/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] {
[Pipeline] wrap
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/workspace/compose_PR-6647@tmp/1d9f97a1-2d0e-42db-a001-22558584719b/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[Pipeline] wrap
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] {
[Pipeline] wrap
[Pipeline] wrap
[Pipeline] wrap
[Pipeline] {
[Pipeline] {
[Pipeline] wrap
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
[Pipeline] {
[Pipeline] {
[Pipeline] wrap
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] wrap
[Pipeline] {
[Pipeline] {
[Pipeline] {
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
[Pipeline] {
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
20:05:18 + uname -m
[Pipeline] echo
20:05:18 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:18 chowning workspace
[Pipeline] sh
20:05:18 + uname -m
[Pipeline] echo
20:05:19 cleanWorkspace: Ensuring workspace is owned by ubuntu
[Pipeline] echo
20:05:19 chowning workspace
[Pipeline] sh
20:05:19 + uname -m
[Pipeline] sh
20:05:19 + uname -m
[Pipeline] sh
[Pipeline] sh
20:05:19 + uname -m
[Pipeline] sh
[Pipeline] sh
20:05:19 + uname -m
[Pipeline] sh
20:05:19 + uname -m
[Pipeline] sh
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + uname -m
[Pipeline] sh
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
20:05:19 + pwd
20:05:19 + id -u
20:05:19 + id -g
20:05:19 + docker run --rm -v /home/ubuntu/workspace/compose_PR-6647:/workspace busybox chown -R 1000:1000 /workspace
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
20:05:20 + docker container ls -aq
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
20:05:20 + docker container ls -aq
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
[Pipeline] stage
[Pipeline] { (test python=py27 / docker=19.03.5-rc1 / baseImage=alpine)
20:05:20 + docker container ls -aq
[Pipeline] checkout
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
20:05:20 using credential sf-release-bot.github.ssh
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
[Pipeline] stage
[Pipeline] { (test python=py37 / docker=19.03.5-rc1 / baseImage=debian)
[Pipeline] checkout
20:05:20 + docker container ls -aq
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py37 / docker=18.09.9 / baseImage=alpine)
20:05:20 using credential sf-release-bot.github.ssh
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
[Pipeline] checkout
20:05:20 + docker container ls -aq
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py37 / docker=18.09.9 / baseImage=debian)
20:05:20 + docker container ls -aq
20:05:20 using credential sf-release-bot.github.ssh
[Pipeline] echo
20:05:20 Removing all docker containers
[Pipeline] sh
20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
[Pipeline] checkout
20:05:20 + docker container ls -aq
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
20:05:20 using credential sf-release-bot.github.ssh
20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py27 / docker=18.09.9 / baseImage=debian)
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py37 / docker=19.03.5-rc1 / baseImage=alpine)
[Pipeline] checkout
[Pipeline] checkout
20:05:20 using credential sf-release-bot.github.ssh
[Pipeline] echo
20:05:20 Docker containers have been removed
[Pipeline] echo
20:05:20 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
20:05:20 20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
using credential sf-release-bot.github.ssh
20:05:20 Cloning the remote Git repository
20:05:20 Cloning with configured refspecs honoured and without tags
[Pipeline] echo
20:05:20 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py27 / docker=19.03.5-rc1 / baseImage=debian)
[Pipeline] checkout
20:05:21 using credential sf-release-bot.github.ssh
20:05:21 Cloning the remote Git repository
20:05:21 Cloning with configured refspecs honoured and without tags
20:05:21 + docker container ls -aq
[Pipeline] echo
20:05:21 Docker containers have been removed
[Pipeline] echo
20:05:21 cleanWorkspace: Removing existing workspace
[Pipeline] deleteDir
[Pipeline] echo
20:05:21 cleanWorkspace: Workspace is clean.
[Pipeline] stage
[Pipeline] { (test python=py27 / docker=18.09.9 / baseImage=alpine)
[Pipeline] checkout
20:05:21 using credential sf-release-bot.github.ssh
20:05:21 Cloning the remote Git repository
20:05:21 Cloning with configured refspecs honoured and without tags
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
Cloning repository git@github.com:docker/compose.git
 > git init /home/ubuntu/workspace/compose_PR-6647 # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
 > git --version # timeout=10
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
20:05:22 Fetching without tags
20:05:22 Fetching without tags
20:05:22 Fetching without tags
20:05:22 Fetching without tags
20:05:22 Fetching without tags
20:05:22 Fetching without tags
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Fetching without tags
20:05:22 Commit message: "label one-off containers with current count + 1"
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
20:05:22 Commit message: "label one-off containers with current count + 1"
20:05:22 Fetching without tags
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Commit message: "label one-off containers with current count + 1"
20:05:22 Commit message: "label one-off containers with current count + 1"
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
20:05:22 Commit message: "label one-off containers with current count + 1"
20:05:22 Commit message: "label one-off containers with current count + 1"
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:22 Commit message: "label one-off containers with current count + 1"
20:05:22 Checking out Revision 97551c75f48b12c6d714aa9a430222e0bd853e9b (PR-6647)
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:23 Commit message: "label one-off containers with current count + 1"
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
 > git config --add remote.origin.fetch +refs/pull/6647/head:refs/remotes/origin/PR-6647 # timeout=10
 > git config remote.origin.url git@github.com:docker/compose.git # timeout=10
Fetching upstream changes from git@github.com:docker/compose.git
using GIT_SSH to set credentials docker-jenkins user on github.com
 > git fetch --no-tags --progress -- git@github.com:docker/compose.git +refs/pull/6647/head:refs/remotes/origin/PR-6647
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] sh
[Pipeline] sh
[Pipeline] sh
[Pipeline] sh
[Pipeline] sh
[Pipeline] sh
[Pipeline] sh
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 WARNING: No swap limit support
[Pipeline] echo
20:05:23 Using local system's storage driver: 
[Pipeline] sh
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 WARNING: No swap limit support
[Pipeline] echo
20:05:23 Using local system's storage driver: 
[Pipeline] sh
[Pipeline] sh
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 WARNING: No swap limit support
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] echo
20:05:23 Using local system's storage driver: 
[Pipeline] sh
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 WARNING: No swap limit support
[Pipeline] echo
20:05:23 Using local system's storage driver: 
[Pipeline] sh
20:05:23 + docker info
20:05:23 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:23 WARNING: No swap limit support
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 97551c75f48b12c6d714aa9a430222e0bd853e9b
[Pipeline] echo
20:05:24 Using local system's storage driver: 
[Pipeline] sh
20:05:24 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:24 + docker info
20:05:24 WARNING: No swap limit support
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=19.03.5-rc1 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py27 --entrypoint=script/test/ci dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 9d48c3bd43c5: Already exists
20:05:24 c0ea575d71b9: Already exists
20:05:24 0f535eceebd5: Already exists
20:05:24 8a30f5893bea: Already exists
20:05:24 287089fe229e: Already exists
20:05:24 3bfa42f08d45: Already exists
20:05:24 023b6c611d12: Already exists
20:05:24 1284607e03d1: Already exists
20:05:24 228eecdc53fd: Already exists
20:05:24 770e40ec3156: Already exists
20:05:24 0460d077bcff: Already exists
20:05:24 6682f19710d3: Already exists
20:05:24 b429e3cd1970: Already exists
20:05:24 323015b3acd0: Already exists
20:05:24 aca137a768cc: Already exists
20:05:24 c23bb74692d9: Already exists
20:05:24 ce500c7ba0db: Already exists
20:05:24 74cf24f356b4: Pulling fs layer
20:05:24 4aa43ad8b30d: Pulling fs layer
20:05:24 a60e06cae6c8: Pulling fs layer
20:05:24 84f60a59ecd9: Pulling fs layer
20:05:24 84f60a59ecd9: Waiting
20:05:24 + awk -F :  $1 == "Storage Driver" { print $2; exit }
20:05:24 + docker info
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=18.09.9 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py37 --entrypoint=script/test/ci dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 debian-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 80369df48736: Already exists
20:05:24 aaba0609d543: Already exists
20:05:24 33536ac8210e: Already exists
20:05:24 35aa8bff600e: Already exists
20:05:24 6e4c9666aa4e: Already exists
20:05:24 669bde12a6f1: Already exists
20:05:24 f505ff8fe013: Already exists
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=19.03.5-rc1 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py37 --entrypoint=script/test/ci dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 debian-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 80369df48736: Already exists
20:05:24 aaba0609d543: Already exists
20:05:24 33536ac8210e: Already exists
20:05:24 35aa8bff600e: Already exists
20:05:24 6e4c9666aa4e: Already exists
20:05:24 669bde12a6f1: Already exists
20:05:24 f505ff8fe013: Already exists
20:05:24 5ca2505ea930: Already exists
20:05:24 4fc1865d2260: Already exists
20:05:24 2bd0fa61a6dd: Already exists
20:05:24 de701d1c66f5: Already exists
20:05:24 09ae42fc6bd5: Already exists
20:05:24 7629cb155ac9: Already exists
20:05:24 6918aff44553: Already exists
20:05:24 24c5a410dddf: Already exists
20:05:24 092321a5352a: Already exists
20:05:24 c95badf27ccc: Already exists
20:05:24 b05b6a375482: Pulling fs layer
20:05:24 b9a8bc6c5fbd: Pulling fs layer
20:05:24 028c53fc56e4: Pulling fs layer
20:05:24 f22a5b826271: Pulling fs layer
20:05:24 f22a5b826271: Waiting
20:05:24 028c53fc56e4: Verifying Checksum
20:05:24 028c53fc56e4: Download complete
20:05:24 b05b6a375482: Verifying Checksum
20:05:24 b05b6a375482: Download complete
[Pipeline] echo
20:05:24 Using local system's storage driver: 
[Pipeline] sh
20:05:24 WARNING: No swap limit support
[Pipeline] echo
20:05:24 Using local system's storage driver: 
[Pipeline] sh
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=18.09.9 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py27 --entrypoint=script/test/ci dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 9d48c3bd43c5: Already exists
20:05:24 c0ea575d71b9: Already exists
20:05:24 0f535eceebd5: Already exists
20:05:24 8a30f5893bea: Already exists
20:05:24 287089fe229e: Already exists
20:05:24 3bfa42f08d45: Already exists
20:05:24 023b6c611d12: Already exists
20:05:24 1284607e03d1: Already exists
20:05:24 228eecdc53fd: Already exists
20:05:24 770e40ec3156: Already exists
20:05:24 0460d077bcff: Already exists
20:05:24 6682f19710d3: Already exists
20:05:24 b429e3cd1970: Already exists
20:05:24 323015b3acd0: Already exists
20:05:24 aca137a768cc: Already exists
20:05:24 c23bb74692d9: Already exists
20:05:24 ce500c7ba0db: Already exists
20:05:24 74cf24f356b4: Pulling fs layer
20:05:24 4aa43ad8b30d: Pulling fs layer
20:05:24 a60e06cae6c8: Pulling fs layer
20:05:24 84f60a59ecd9: Pulling fs layer
20:05:24 84f60a59ecd9: Waiting
20:05:24 74cf24f356b4: Download complete
20:05:24 a60e06cae6c8: Verifying Checksum
20:05:24 a60e06cae6c8: Download complete
20:05:24 74cf24f356b4: Verifying Checksum
20:05:24 74cf24f356b4: Download complete
20:05:24 a60e06cae6c8: Verifying Checksum
20:05:24 a60e06cae6c8: Download complete
20:05:24 74cf24f356b4: Pull complete
20:05:24 5ca2505ea930: Already exists
20:05:24 4fc1865d2260: Already exists
20:05:24 2bd0fa61a6dd: Already exists
20:05:24 de701d1c66f5: Already exists
20:05:24 09ae42fc6bd5: Already exists
20:05:24 7629cb155ac9: Already exists
20:05:24 6918aff44553: Already exists
20:05:24 24c5a410dddf: Already exists
20:05:24 092321a5352a: Already exists
20:05:24 c95badf27ccc: Already exists
20:05:24 b05b6a375482: Pulling fs layer
20:05:24 b9a8bc6c5fbd: Pulling fs layer
20:05:24 028c53fc56e4: Pulling fs layer
20:05:24 f22a5b826271: Pulling fs layer
20:05:24 f22a5b826271: Waiting
20:05:24 028c53fc56e4: Verifying Checksum
20:05:24 028c53fc56e4: Download complete
20:05:24 b05b6a375482: Verifying Checksum
20:05:24 b05b6a375482: Download complete
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=19.03.5-rc1 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py37 --entrypoint=script/test/ci dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 9d48c3bd43c5: Already exists
20:05:24 c0ea575d71b9: Already exists
20:05:24 0f535eceebd5: Already exists
20:05:24 8a30f5893bea: Already exists
20:05:24 287089fe229e: Already exists
20:05:24 3bfa42f08d45: Already exists
20:05:24 023b6c611d12: Already exists
20:05:24 1284607e03d1: Already exists
20:05:24 228eecdc53fd: Already exists
20:05:24 770e40ec3156: Already exists
20:05:24 0460d077bcff: Already exists
20:05:24 6682f19710d3: Already exists
20:05:24 b429e3cd1970: Already exists
20:05:24 323015b3acd0: Already exists
20:05:24 aca137a768cc: Already exists
20:05:24 c23bb74692d9: Already exists
20:05:24 ce500c7ba0db: Already exists
20:05:24 74cf24f356b4: Pulling fs layer
20:05:24 4aa43ad8b30d: Pulling fs layer
20:05:24 a60e06cae6c8: Pulling fs layer
20:05:24 84f60a59ecd9: Pulling fs layer
20:05:24 84f60a59ecd9: Waiting
20:05:24 WARNING: No swap limit support
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=18.09.9 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py37 --entrypoint=script/test/ci dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 9d48c3bd43c5: Already exists
20:05:24 c0ea575d71b9: Already exists
20:05:24 0f535eceebd5: Already exists
20:05:24 8a30f5893bea: Already exists
20:05:24 287089fe229e: Already exists
20:05:24 3bfa42f08d45: Already exists
20:05:24 023b6c611d12: Already exists
20:05:24 1284607e03d1: Already exists
20:05:24 228eecdc53fd: Already exists
20:05:24 770e40ec3156: Already exists
20:05:24 0460d077bcff: Already exists
20:05:24 6682f19710d3: Already exists
20:05:24 b429e3cd1970: Already exists
20:05:24 323015b3acd0: Already exists
20:05:24 aca137a768cc: Already exists
20:05:24 c23bb74692d9: Already exists
20:05:24 ce500c7ba0db: Already exists
20:05:24 74cf24f356b4: Pulling fs layer
20:05:24 4aa43ad8b30d: Pulling fs layer
20:05:24 a60e06cae6c8: Pulling fs layer
20:05:24 84f60a59ecd9: Pulling fs layer
20:05:24 84f60a59ecd9: Waiting
[Pipeline] echo
20:05:24 Using local system's storage driver: 
[Pipeline] sh
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=18.09.9 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py27 --entrypoint=script/test/ci dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 Unable to find image 'dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b' locally
20:05:24 debian-97551c75f48b12c6d714aa9a430222e0bd853e9b: Pulling from dockerbuildbot/compose
20:05:24 80369df48736: Already exists
20:05:24 aaba0609d543: Already exists
20:05:24 33536ac8210e: Already exists
20:05:24 35aa8bff600e: Already exists
20:05:24 6e4c9666aa4e: Already exists
20:05:24 669bde12a6f1: Already exists
20:05:24 f505ff8fe013: Already exists
20:05:24 5ca2505ea930: Already exists
20:05:24 4fc1865d2260: Already exists
20:05:24 2bd0fa61a6dd: Already exists
20:05:24 de701d1c66f5: Already exists
20:05:24 09ae42fc6bd5: Already exists
20:05:24 7629cb155ac9: Already exists
20:05:24 74cf24f356b4: Pull complete
20:05:24 b05b6a375482: Pull complete
20:05:24 74cf24f356b4: Download complete
20:05:24 a60e06cae6c8: Verifying Checksum
20:05:24 a60e06cae6c8: Download complete
20:05:24 74cf24f356b4: Pull complete
20:05:24 a60e06cae6c8: Download complete
20:05:24 74cf24f356b4: Download complete
20:05:24 b05b6a375482: Pull complete
20:05:24 6918aff44553: Already exists
20:05:24 24c5a410dddf: Already exists
20:05:24 092321a5352a: Already exists
20:05:24 c95badf27ccc: Already exists
20:05:24 b05b6a375482: Pulling fs layer
20:05:24 b9a8bc6c5fbd: Pulling fs layer
20:05:24 028c53fc56e4: Pulling fs layer
20:05:24 f22a5b826271: Pulling fs layer
20:05:24 f22a5b826271: Waiting
20:05:24 b05b6a375482: Verifying Checksum
20:05:24 b05b6a375482: Download complete
20:05:24 028c53fc56e4: Verifying Checksum
20:05:24 028c53fc56e4: Download complete
20:05:24 + pwd
20:05:24 + docker run -t --rm --privileged --volume=/home/ubuntu/workspace/compose_PR-6647/.git:/code/.git --volume=/var/run/docker.sock:/var/run/docker.sock -e TAG=dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e STORAGE_DRIVER= -e DOCKER_VERSIONS=19.03.5-rc1 -e BUILD_NUMBER=jenkins-compose-PR-6647-8 -e PY_TEST_VERSIONS=py27 --entrypoint=script/test/ci dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b --verbose
20:05:24 4aa43ad8b30d: Verifying Checksum
20:05:24 4aa43ad8b30d: Download complete
20:05:24 b9a8bc6c5fbd: Download complete
20:05:24 74cf24f356b4: Pull complete
20:05:24 b9a8bc6c5fbd: Verifying Checksum
20:05:24 b9a8bc6c5fbd: Download complete
20:05:24 f22a5b826271: Download complete
20:05:24 b05b6a375482: Pull complete
20:05:24 4aa43ad8b30d: Verifying Checksum
20:05:24 4aa43ad8b30d: Download complete
20:05:24 84f60a59ecd9: Verifying Checksum
20:05:24 84f60a59ecd9: Download complete
20:05:25 84f60a59ecd9: Verifying Checksum
20:05:25 84f60a59ecd9: Download complete
20:05:25 84f60a59ecd9: Verifying Checksum
20:05:25 84f60a59ecd9: Download complete
20:05:25 4aa43ad8b30d: Verifying Checksum
20:05:25 4aa43ad8b30d: Download complete
20:05:25 84f60a59ecd9: Verifying Checksum
20:05:25 84f60a59ecd9: Download complete
20:05:25 4aa43ad8b30d: Verifying Checksum
20:05:25 4aa43ad8b30d: Download complete
20:05:25 b9a8bc6c5fbd: Verifying Checksum
20:05:25 b9a8bc6c5fbd: Download complete
20:05:25 + docker version
20:05:25 Client: Docker Engine - Community
20:05:25  Version:           18.09.7
20:05:25  API version:       1.39
20:05:25  Go version:        go1.10.8
20:05:25  Git commit:        2d0083d
20:05:25  Built:             Thu Jun 27 17:54:15 2019
20:05:25  OS/Arch:           linux/amd64
20:05:25  Experimental:      false
20:05:25 
20:05:25 Server: Docker Engine - Community
20:05:25  Engine:
20:05:25   Version:          19.03.2
20:05:25   API version:      1.40 (minimum version 1.12)
20:05:25   Go version:       go1.12.8
20:05:25   Git commit:       6a30dfc
20:05:25   Built:            Thu Aug 29 05:27:45 2019
20:05:25   OS/Arch:          linux/amd64
20:05:25   Experimental:     true
20:05:25  containerd:
20:05:25   Version:          1.2.6
20:05:25   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:25  runc:
20:05:25   Version:          1.0.0-rc8
20:05:25   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:25  docker-init:
20:05:25   Version:          0.18.0
20:05:25   GitCommit:        fec3683
20:05:25 + export DOCKER_VERSIONS=19.03.5-rc1
20:05:25 + DOCKER_VERSIONS=19.03.5-rc1
20:05:25 + STORAGE_DRIVER=overlay
20:05:25 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:25 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:25 ++ hostname
20:05:25 + GIT_VOLUME=--volumes-from=724e811de631
20:05:25 + . script/test/all
20:05:25 ++ set -e
20:05:25 ++ echo 'Running lint checks'
20:05:25 Running lint checks
20:05:25 ++ docker run --rm --tty --volumes-from=724e811de631 dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:25 f22a5b826271: Verifying Checksum
20:05:25 f22a5b826271: Download complete
20:05:26 f22a5b826271: Verifying Checksum
20:05:26 f22a5b826271: Download complete
20:05:27 4aa43ad8b30d: Pull complete
20:05:27 b9a8bc6c5fbd: Pull complete
20:05:27 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:27 pre-commit runtests: PYTHONHASHSEED='2560427107'

20:05:27 pre-commit runtests: commands[0] | pre-commit install

20:05:27 pre-commit installed at .git/hooks/pre-commit

20:05:27 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:27 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:27 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:27 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:27 a60e06cae6c8: Pull complete
20:05:27 028c53fc56e4: Pull complete
20:05:27 b9a8bc6c5fbd: Pull complete
20:05:27 028c53fc56e4: Pull complete
20:05:27 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:27 4aa43ad8b30d: Pull complete
20:05:27 a60e06cae6c8: Pull complete
20:05:27 b9a8bc6c5fbd: Pull complete
20:05:27 028c53fc56e4: Pull complete
20:05:27 4aa43ad8b30d: Pull complete
20:05:27 a60e06cae6c8: Pull complete
20:05:27 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:27 [INFO] Once installed this environment will be reused.

20:05:27 [INFO] This may take a few minutes...

20:05:27 4aa43ad8b30d: Pull complete
20:05:27 a60e06cae6c8: Pull complete
20:05:27 84f60a59ecd9: Pull complete
20:05:27 Digest: sha256:860655e37e44e0db717800e640d4ac042beaef4da3e94b0fbdba58bc5e03db98
20:05:27 Status: Downloaded newer image for dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 f22a5b826271: Pull complete
20:05:28 Digest: sha256:6e2406096dcdbafd22f53ed9e083962e58e3c0ed054e69c3a51a36a60601a518
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 f22a5b826271: Pull complete
20:05:28 Digest: sha256:6e2406096dcdbafd22f53ed9e083962e58e3c0ed054e69c3a51a36a60601a518
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 84f60a59ecd9: Pull complete
20:05:28 Digest: sha256:860655e37e44e0db717800e640d4ac042beaef4da3e94b0fbdba58bc5e03db98
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 84f60a59ecd9: Pull complete
20:05:28 Digest: sha256:860655e37e44e0db717800e640d4ac042beaef4da3e94b0fbdba58bc5e03db98
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 84f60a59ecd9: Pull complete
20:05:28 Digest: sha256:860655e37e44e0db717800e640d4ac042beaef4da3e94b0fbdba58bc5e03db98
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:28 f22a5b826271: Pull complete
20:05:28 Digest: sha256:6e2406096dcdbafd22f53ed9e083962e58e3c0ed054e69c3a51a36a60601a518
20:05:28 Status: Downloaded newer image for dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:05:29 + docker version
20:05:29 Client: Docker Engine - Community
20:05:29  Version:           18.09.7
20:05:29  API version:       1.39
20:05:29  Go version:        go1.10.8
20:05:29  Git commit:        2d0083d
20:05:29  Built:             Thu Jun 27 17:54:15 2019
20:05:29  OS/Arch:           linux/amd64
20:05:29  Experimental:      false
20:05:29 
20:05:29 Server: Docker Engine - Community
20:05:29  Engine:
20:05:29   Version:          19.03.2
20:05:29   API version:      1.40 (minimum version 1.12)
20:05:29   Go version:       go1.12.8
20:05:29   Git commit:       6a30dfc
20:05:29   Built:            Thu Aug 29 05:27:45 2019
20:05:29   OS/Arch:          linux/amd64
20:05:29   Experimental:     true
20:05:29  containerd:
20:05:29   Version:          1.2.6
20:05:29   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:29  runc:
20:05:29   Version:          1.0.0-rc8
20:05:29   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:29  docker-init:
20:05:29   Version:          0.18.0
20:05:29   GitCommit:        fec3683
20:05:29 + export DOCKER_VERSIONS=18.09.9
20:05:29 + DOCKER_VERSIONS=18.09.9
20:05:29 + STORAGE_DRIVER=overlay
20:05:29 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:29 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:29 ++ hostname
20:05:29 + GIT_VOLUME=--volumes-from=ceacc32a5d44
20:05:29 + . script/test/all
20:05:29 ++ set -e
20:05:29 ++ echo 'Running lint checks'
20:05:29 Running lint checks
20:05:29 ++ docker run --rm --tty --volumes-from=ceacc32a5d44 dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:29 + docker version
20:05:30 + docker version
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=18.09.9
20:05:30 + DOCKER_VERSIONS=18.09.9
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=313841347b73
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=313841347b73 dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:30 + docker version
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=e706bc1c1dd2
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=e706bc1c1dd2 dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=65bddbaf840d
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=65bddbaf840d dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:30 + docker version
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=18.09.9
20:05:30 + DOCKER_VERSIONS=18.09.9
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=c252586b6b4a
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=c252586b6b4a dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:30 + docker version
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=18.09.9
20:05:30 + DOCKER_VERSIONS=18.09.9
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=c0d0da9aa22c
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=c0d0da9aa22c dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:30 + docker version
20:05:30 Client: Docker Engine - Community
20:05:30  Version:           18.09.7
20:05:30  API version:       1.39
20:05:30  Go version:        go1.10.8
20:05:30  Git commit:        2d0083d
20:05:30  Built:             Thu Jun 27 17:54:15 2019
20:05:30  OS/Arch:           linux/amd64
20:05:30  Experimental:      false
20:05:30 
20:05:30 Server: Docker Engine - Community
20:05:30  Engine:
20:05:30   Version:          19.03.2
20:05:30   API version:      1.40 (minimum version 1.12)
20:05:30   Go version:       go1.12.8
20:05:30   Git commit:       6a30dfc
20:05:30   Built:            Thu Aug 29 05:27:45 2019
20:05:30   OS/Arch:          linux/amd64
20:05:30   Experimental:     true
20:05:30  containerd:
20:05:30   Version:          1.2.6
20:05:30   GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
20:05:30  runc:
20:05:30   Version:          1.0.0-rc8
20:05:30   GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
20:05:30  docker-init:
20:05:30   Version:          0.18.0
20:05:30   GitCommit:        fec3683
20:05:30 + export DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + DOCKER_VERSIONS=19.03.5-rc1
20:05:30 + STORAGE_DRIVER=overlay
20:05:30 + export DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 + DOCKER_DAEMON_ARGS=--storage-driver=overlay
20:05:30 ++ hostname
20:05:30 + GIT_VOLUME=--volumes-from=4d7f82ae421d
20:05:30 + . script/test/all
20:05:30 ++ set -e
20:05:30 ++ echo 'Running lint checks'
20:05:30 Running lint checks
20:05:30 ++ docker run --rm --tty --volumes-from=4d7f82ae421d dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b tox -e pre-commit
20:05:31 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:31 pre-commit runtests: PYTHONHASHSEED='2432144862'

20:05:31 pre-commit runtests: commands[0] | pre-commit install

20:05:31 pre-commit installed at .git/hooks/pre-commit

20:05:31 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:31 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:31 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:31 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:31 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:31 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:31 [INFO] Once installed this environment will be reused.

20:05:31 [INFO] This may take a few minutes...

20:05:31 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:31 pre-commit runtests: PYTHONHASHSEED='346657863'

20:05:31 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:32 pre-commit runtests: PYTHONHASHSEED='3511114036'

20:05:32 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:32 pre-commit runtests: PYTHONHASHSEED='2598940020'

20:05:32 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:32 pre-commit runtests: PYTHONHASHSEED='2853319812'

20:05:32 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:32 pre-commit runtests: PYTHONHASHSEED='660796849'

20:05:32 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 pre-commit installed: aspy.yaml==1.3.0,cfgv==2.0.1,identify==1.4.7,importlib-metadata==0.23,more-itertools==7.2.0,nodeenv==1.3.3,pre-commit==1.20.0,PyYAML==5.1.2,six==1.13.0,toml==0.10.0,virtualenv==16.7.7,zipp==0.6.0

20:05:32 pre-commit runtests: PYTHONHASHSEED='2171345648'

20:05:32 pre-commit runtests: commands[0] | pre-commit install

20:05:32 pre-commit installed at .git/hooks/pre-commit

20:05:32 pre-commit runtests: commands[1] | pre-commit run --all-files

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/pre-commit/pre-commit-hooks: sha

20:05:32 [WARNING] Unexpected key(s) present on git://github.com/asottile/reorder_python_imports: sha

20:05:32 [INFO] Initializing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:32 [INFO] Initializing environment for git://github.com/asottile/reorder_python_imports.

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:32 [INFO] Installing environment for git://github.com/pre-commit/pre-commit-hooks.

20:05:32 [INFO] Once installed this environment will be reused.

20:05:32 [INFO] This may take a few minutes...

20:05:45 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:45 [INFO] Once installed this environment will be reused.

20:05:45 [INFO] This may take a few minutes...

20:05:49 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:49 [INFO] Once installed this environment will be reused.

20:05:49 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:50 [INFO] Installing environment for git://github.com/asottile/reorder_python_imports.

20:05:50 [INFO] Once installed this environment will be reused.

20:05:50 [INFO] This may take a few minutes...

20:05:55 Check for added large files..............................................Passed

20:05:56 Check docstring is first.................................................Passed

20:05:56 Check for merge conflicts................................................Passed

20:05:56 Check Yaml...............................................................Passed

20:05:56 Check JSON...............................................................Passed

20:05:57 Debug Statements (Python)................................................Passed

20:05:57 Fix End of Files.........................................................Passed

20:06:00 Check for added large files..............................................Passed

20:06:00 Check for added large files..............................................Passed

20:06:00 Check for added large files..............................................Passed

20:06:01 Check docstring is first.................................................Passed

20:06:01 Check docstring is first.................................................Passed

20:06:01 Check for merge conflicts................................................Passed

20:06:01 Check docstring is first.................................................Passed

20:06:01 Check for merge conflicts................................................Passed

20:06:01 Check Yaml...............................................................Passed

20:06:01 Check Yaml...............................................................Passed

20:06:01 Check JSON...............................................................Passed

20:06:02 Check for added large files..............................................Passed

20:06:02 Check docstring is first.................................................Passed

20:06:02 Check for merge conflicts................................................Passed

20:06:02 Check Yaml...............................................................Passed

20:06:02 Check JSON...............................................................Passed

20:06:02 Debug Statements (Python)................................................Passed

20:06:02 Check for merge conflicts................................................Passed

20:06:02 Check JSON...............................................................Passed

20:06:02 Debug Statements (Python)................................................Passed

20:06:02 Check Yaml...............................................................Passed

20:06:02 Check JSON...............................................................Passed

20:06:02 Debug Statements (Python)................................................Passed

20:06:02 Debug Statements (Python)................................................Passed

20:06:02 Fix End of Files.........................................................Passed

20:06:02 Fix End of Files.........................................................Passed

20:06:02 Check for added large files..............................................Passed

20:06:02 Check docstring is first.................................................Passed

20:06:02 Check for merge conflicts................................................Passed

20:06:02 Check Yaml...............................................................Passed

20:06:02 Check JSON...............................................................Passed

20:06:02 Debug Statements (Python)................................................Passed

20:06:02 Check for added large files..............................................Passed

20:06:02 Check docstring is first.................................................Passed

20:06:02 Check for merge conflicts................................................Passed

20:06:02 Check Yaml...............................................................Passed

20:06:02 Check JSON...............................................................Passed

20:06:03 Fix End of Files.........................................................Passed

20:06:03 Fix End of Files.........................................................Passed

20:06:03 Check for added large files..............................................Passed

20:06:03 Check docstring is first.................................................Passed

20:06:03 Check for merge conflicts................................................Passed

20:06:03 Check Yaml...............................................................Passed

20:06:03 Check JSON...............................................................Passed

20:06:03 Debug Statements (Python)................................................Passed

20:06:03 Debug Statements (Python)................................................Passed

20:06:03 Fix End of Files.........................................................Passed

20:06:03 Fix End of Files.........................................................Passed

20:06:04 Fix End of Files.........................................................Passed

20:06:05 Flake8...................................................................Passed

20:06:05 Tests should end in _test.py.............................................Passed

20:06:05 Fix requirements.txt.....................................................Passed

20:06:05 Trim Trailing Whitespace.................................................Passed

20:06:06 Reorder python imports...................................................Passed

20:06:06 ___________________________________ summary ____________________________________

20:06:06   pre-commit: commands succeeded

20:06:06   congratulations :)

20:06:06 ++ get_versions='docker run --rm
20:06:06     --entrypoint=/code/.tox/py27/bin/python
20:06:06     dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:06     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:06 ++ '[' 19.03.5-rc1 == '' ']'
20:06:06 ++ '[' 19.03.5-rc1 == all ']'
20:06:06 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:06 ++ PY_TEST_VERSIONS=py27
20:06:06 ++ for version in $DOCKER_VERSIONS
20:06:06 ++ echo 'Running tests against Docker 19.03.5-rc1'
20:06:06 Running tests against Docker 19.03.5-rc1
20:06:06 ++ daemon_container=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:06:06 ++ trap on_exit EXIT
20:06:06 ++ repo=dockerswarm/dind
20:06:06 ++ docker run -d --name compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:19.03.5-rc1 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:06 ++ tail -n 10
20:06:10 Flake8...................................................................Passed

20:06:10 Tests should end in _test.py.............................................Passed

20:06:10 Fix requirements.txt.....................................................Passed

20:06:10 Trim Trailing Whitespace.................................................Passed

20:06:10 Flake8...................................................................Passed

20:06:10 Tests should end in _test.py.............................................Passed

20:06:10 Fix requirements.txt.....................................................Passed

20:06:11 Flake8...................................................................Passed

20:06:11 Tests should end in _test.py.............................................Passed

20:06:11 Fix requirements.txt.....................................................Passed

20:06:11 Trim Trailing Whitespace.................................................Passed

20:06:11 Flake8...................................................................Passed

20:06:11 Tests should end in _test.py.............................................Passed

20:06:11 Fix requirements.txt.....................................................Passed

20:06:11 Trim Trailing Whitespace.................................................Passed

20:06:11 Reorder python imports...................................................Passed

20:06:11 ___________________________________ summary ____________________________________

20:06:11   pre-commit: commands succeeded

20:06:11   congratulations :)

20:06:11 Trim Trailing Whitespace.................................................Passed

20:06:11 Flake8...................................................................Passed

20:06:11 Tests should end in _test.py.............................................Passed

20:06:11 Fix requirements.txt.....................................................Passed

20:06:11 Trim Trailing Whitespace.................................................Passed

20:06:11 Flake8...................................................................Passed

20:06:11 Tests should end in _test.py.............................................Passed

20:06:11 Fix requirements.txt.....................................................Passed

20:06:11 Trim Trailing Whitespace.................................................Passed

20:06:11 ++ get_versions='docker run --rm
20:06:11     --entrypoint=/code/.tox/py27/bin/python
20:06:11     dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:11     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:11 ++ '[' 18.09.9 == '' ']'
20:06:11 ++ '[' 18.09.9 == all ']'
20:06:11 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:11 ++ PY_TEST_VERSIONS=py27
20:06:11 ++ for version in $DOCKER_VERSIONS
20:06:11 ++ echo 'Running tests against Docker 18.09.9'
20:06:11 Running tests against Docker 18.09.9
20:06:11 ++ daemon_container=compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:06:11 ++ trap on_exit EXIT
20:06:11 ++ repo=dockerswarm/dind
20:06:11 ++ docker run -d --name compose-dind-18.09.9-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:18.09.9 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:11 ++ tail -n 10
20:06:12 Reorder python imports...................................................Passed

20:06:12 ___________________________________ summary ____________________________________

20:06:12   pre-commit: commands succeeded

20:06:12   congratulations :)

20:06:12 Reorder python imports...................................................Passed

20:06:12 ___________________________________ summary ____________________________________

20:06:12   pre-commit: commands succeeded

20:06:12   congratulations :)

20:06:12 Flake8...................................................................Passed

20:06:12 Tests should end in _test.py.............................................Passed

20:06:12 Fix requirements.txt.....................................................Passed

20:06:12 Trim Trailing Whitespace.................................................Passed

20:06:12 Reorder python imports...................................................Passed

20:06:12 ___________________________________ summary ____________________________________

20:06:12   pre-commit: commands succeeded

20:06:12   congratulations :)

20:06:12 ++ get_versions='docker run --rm
20:06:12     --entrypoint=/code/.tox/py27/bin/python
20:06:12     dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:12     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:12 ++ '[' 18.09.9 == '' ']'
20:06:12 ++ '[' 18.09.9 == all ']'
20:06:12 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:12 ++ PY_TEST_VERSIONS=py37
20:06:12 ++ for version in $DOCKER_VERSIONS
20:06:12 ++ echo 'Running tests against Docker 18.09.9'
20:06:12 Running tests against Docker 18.09.9
20:06:12 ++ daemon_container=compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:06:12 ++ trap on_exit EXIT
20:06:12 ++ repo=dockerswarm/dind
20:06:12 ++ docker run -d --name compose-dind-18.09.9-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:18.09.9 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:12 ++ tail -n 10
20:06:12 Reorder python imports...................................................Passed

20:06:12 ___________________________________ summary ____________________________________

20:06:12   pre-commit: commands succeeded

20:06:12   congratulations :)

20:06:12 Reorder python imports...................................................Passed

20:06:12 ___________________________________ summary ____________________________________

20:06:12   pre-commit: commands succeeded

20:06:12   congratulations :)

20:06:12 ++ get_versions='docker run --rm
20:06:12     --entrypoint=/code/.tox/py27/bin/python
20:06:12     dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:12     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:12 ++ '[' 18.09.9 == '' ']'
20:06:12 ++ '[' 18.09.9 == all ']'
20:06:12 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:12 ++ PY_TEST_VERSIONS=py37
20:06:12 ++ for version in $DOCKER_VERSIONS
20:06:12 ++ echo 'Running tests against Docker 18.09.9'
20:06:12 Running tests against Docker 18.09.9
20:06:12 ++ daemon_container=compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:06:12 ++ trap on_exit EXIT
20:06:12 ++ repo=dockerswarm/dind
20:06:12 ++ docker run -d --name compose-dind-18.09.9-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:18.09.9 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:12 ++ tail -n 10
20:06:12 ++ get_versions='docker run --rm
20:06:12     --entrypoint=/code/.tox/py27/bin/python
20:06:12     dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:12     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:12 ++ '[' 19.03.5-rc1 == '' ']'
20:06:12 ++ '[' 19.03.5-rc1 == all ']'
20:06:12 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:12 ++ PY_TEST_VERSIONS=py37
20:06:12 ++ for version in $DOCKER_VERSIONS
20:06:12 ++ echo 'Running tests against Docker 19.03.5-rc1'
20:06:12 Running tests against Docker 19.03.5-rc1
20:06:12 ++ daemon_container=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:06:12 ++ trap on_exit EXIT
20:06:12 ++ repo=dockerswarm/dind
20:06:12 ++ docker run -d --name compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:19.03.5-rc1 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:12 ++ tail -n 10
20:06:12 ++ get_versions='docker run --rm
20:06:12     --entrypoint=/code/.tox/py27/bin/python
20:06:12     dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:12     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:12 ++ '[' 19.03.5-rc1 == '' ']'
20:06:12 ++ '[' 19.03.5-rc1 == all ']'
20:06:12 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:12 ++ PY_TEST_VERSIONS=py27
20:06:12 ++ for version in $DOCKER_VERSIONS
20:06:12 ++ echo 'Running tests against Docker 19.03.5-rc1'
20:06:12 Running tests against Docker 19.03.5-rc1
20:06:12 ++ daemon_container=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:06:12 ++ trap on_exit EXIT
20:06:12 ++ repo=dockerswarm/dind
20:06:12 ++ tail -n 10
20:06:12 ++ docker run -d --name compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:19.03.5-rc1 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:13 Reorder python imports...................................................Passed

20:06:13 ___________________________________ summary ____________________________________

20:06:13   pre-commit: commands succeeded

20:06:13   congratulations :)

20:06:13 ++ get_versions='docker run --rm
20:06:13     --entrypoint=/code/.tox/py27/bin/python
20:06:13     dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:13     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:13 ++ '[' 18.09.9 == '' ']'
20:06:13 ++ '[' 18.09.9 == all ']'
20:06:13 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:13 ++ PY_TEST_VERSIONS=py27
20:06:13 ++ for version in $DOCKER_VERSIONS
20:06:13 ++ echo 'Running tests against Docker 18.09.9'
20:06:13 Running tests against Docker 18.09.9
20:06:13 ++ daemon_container=compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:06:13 ++ trap on_exit EXIT
20:06:13 ++ repo=dockerswarm/dind
20:06:13 ++ docker run -d --name compose-dind-18.09.9-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:18.09.9 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:13 ++ tail -n 10
20:06:13 ++ get_versions='docker run --rm
20:06:13     --entrypoint=/code/.tox/py27/bin/python
20:06:13     dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b
20:06:13     /code/script/test/versions.py docker/docker-ce,moby/moby'
20:06:13 ++ '[' 19.03.5-rc1 == '' ']'
20:06:13 ++ '[' 19.03.5-rc1 == all ']'
20:06:13 ++ BUILD_NUMBER=jenkins-compose-PR-6647-8
20:06:13 ++ PY_TEST_VERSIONS=py37
20:06:13 ++ for version in $DOCKER_VERSIONS
20:06:13 ++ echo 'Running tests against Docker 19.03.5-rc1'
20:06:13 Running tests against Docker 19.03.5-rc1
20:06:13 ++ daemon_container=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:06:13 ++ trap on_exit EXIT
20:06:13 ++ repo=dockerswarm/dind
20:06:13 ++ docker run -d --name compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8 --privileged --volume=/var/lib/docker dockerswarm/dind:19.03.5-rc1 dockerd -H tcp://0.0.0.0:2375 --storage-driver=overlay
20:06:13 ++ tail -n 10
20:06:16 1c3fa6dbd719: Verifying Checksum
20:06:16 1c3fa6dbd719: Download complete
20:06:16 779c3a25c03c: Pull complete
20:06:16 21edb77f284d: Pull complete
20:06:16 4f13f8785abb: Pull complete
20:06:16 1c3fa6dbd719: Pull complete
20:06:16 0437f220621b: Pull complete
20:06:16 Digest: sha256:a5cf2393c21734355552dd93fdb39f5a9455dd17554313b925b0c92a55096679
20:06:16 Status: Downloaded newer image for dockerswarm/dind:19.03.5-rc1
20:06:16 9e3fe61fb327995a49d4f0433ade0f4ab32d759e2e26c360a4df273bd68abf99
20:06:16 ++ docker run --rm --tty --link=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=19.03.5-rc1 --entrypoint=tox dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py27 -- --verbose
20:06:18 py27 develop-inst-nodeps: /code

20:06:19 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:19 py27 runtests: PYTHONHASHSEED='2698075327'

20:06:19 py27 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:19 py27 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:19 ============================= test session starts ==============================

20:06:19 platform linux2 -- Python 2.7.13, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py27/bin/python2.7

20:06:19 cachedir: .pytest_cache

20:06:19 rootdir: /code, inifile: tox.ini

20:06:19 plugins: cov-2.5.1

20:06:20 52af2c2d2f0f: Verifying Checksum
20:06:20 52af2c2d2f0f: Download complete
20:06:20 b0b8081c21b9: Pull complete
20:06:20 fe627842e5f0: Pull complete
20:06:20 7cf61dda384e: Pull complete
20:06:20 52af2c2d2f0f: Pull complete
20:06:20 2c69fa696ee3: Pull complete
20:06:20 Digest: sha256:f9012abb64524df1272f4818244593fb94db77467be591bbbad032402d80242d
20:06:20 Status: Downloaded newer image for dockerswarm/dind:18.09.9
20:06:20 c639acba0ccf9d64ad9e849bd79c9be8391d0840f7709669fc61490161edb0f5
20:06:20 ++ docker run --rm --tty --link=compose-dind-18.09.9-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=18.09.9 --entrypoint=tox dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py27 -- --verbose
20:06:21 py27 develop-inst-nodeps: /code

20:06:22 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:22 py27 runtests: PYTHONHASHSEED='3706361967'

20:06:22 py27 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:22 py27 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:22 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:22 

20:06:22 ============================= test session starts ==============================

20:06:22 platform linux2 -- Python 2.7.16, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py27/bin/python2.7

20:06:22 cachedir: .pytest_cache

20:06:22 rootdir: /code, inifile: tox.ini

20:06:22 plugins: cov-2.5.1

20:06:23 52af2c2d2f0f: Verifying Checksum
20:06:23 52af2c2d2f0f: Download complete
20:06:23 b0b8081c21b9: Pull complete
20:06:23 fe627842e5f0: Pull complete
20:06:23 7cf61dda384e: Pull complete
20:06:23 52af2c2d2f0f: Pull complete
20:06:23 2c69fa696ee3: Pull complete
20:06:23 Digest: sha256:f9012abb64524df1272f4818244593fb94db77467be591bbbad032402d80242d
20:06:23 Status: Downloaded newer image for dockerswarm/dind:18.09.9
20:06:23 bfdc84161b639d3de5f8a67b533bd86349f8c2131f2c42e2be59091928f6c256
20:06:23 ++ docker run --rm --tty --link=compose-dind-18.09.9-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=18.09.9 --entrypoint=tox dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py27 -- --verbose
20:06:23 py27 develop-inst-nodeps: /code

20:06:24 52af2c2d2f0f: Verifying Checksum
20:06:24 52af2c2d2f0f: Download complete
20:06:24 b0b8081c21b9: Pull complete
20:06:24 fe627842e5f0: Pull complete
20:06:24 7cf61dda384e: Pull complete
20:06:24 52af2c2d2f0f: Pull complete
20:06:24 2c69fa696ee3: Pull complete
20:06:24 Digest: sha256:f9012abb64524df1272f4818244593fb94db77467be591bbbad032402d80242d
20:06:24 Status: Downloaded newer image for dockerswarm/dind:18.09.9
20:06:24 fb33d416577db079e6b25a0f388fcdcd14765d030429f928600e144cada64295
20:06:24 ++ docker run --rm --tty --link=compose-dind-18.09.9-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=18.09.9 --entrypoint=tox dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py37 -- --verbose
20:06:24 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:24 py27 runtests: PYTHONHASHSEED='3523840357'

20:06:24 py27 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:24 py27 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:24 52af2c2d2f0f: Verifying Checksum
20:06:24 52af2c2d2f0f: Download complete
20:06:24 b0b8081c21b9: Pull complete
20:06:24 fe627842e5f0: Pull complete
20:06:24 7cf61dda384e: Pull complete
20:06:24 52af2c2d2f0f: Pull complete
20:06:24 2c69fa696ee3: Pull complete
20:06:24 Digest: sha256:f9012abb64524df1272f4818244593fb94db77467be591bbbad032402d80242d
20:06:24 Status: Downloaded newer image for dockerswarm/dind:18.09.9
20:06:24 6cfc738eea22a657ff1602f4f355438f8423ab35adb832d3ed49a2ef421b96a2
20:06:24 ++ docker run --rm --tty --link=compose-dind-18.09.9-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=18.09.9 --entrypoint=tox dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py37 -- --verbose
20:06:25 1c3fa6dbd719: Verifying Checksum
20:06:25 1c3fa6dbd719: Download complete
20:06:25 779c3a25c03c: Pull complete
20:06:25 21edb77f284d: Pull complete
20:06:25 4f13f8785abb: Pull complete
20:06:25 1c3fa6dbd719: Pull complete
20:06:25 0437f220621b: Pull complete
20:06:25 Digest: sha256:a5cf2393c21734355552dd93fdb39f5a9455dd17554313b925b0c92a55096679
20:06:25 Status: Downloaded newer image for dockerswarm/dind:19.03.5-rc1
20:06:25 97869ad9c1c1109817c1d0a1280a63f6d0d88150e5d8bf794ec93a24d25c1633
20:06:25 ++ docker run --rm --tty --link=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=19.03.5-rc1 --entrypoint=tox dockerbuildbot/compose:debian-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py37 -- --verbose
20:06:25 1c3fa6dbd719: Verifying Checksum
20:06:25 1c3fa6dbd719: Download complete
20:06:25 779c3a25c03c: Pull complete
20:06:25 21edb77f284d: Pull complete
20:06:25 4f13f8785abb: Pull complete
20:06:25 1c3fa6dbd719: Pull complete
20:06:25 0437f220621b: Pull complete
20:06:25 Digest: sha256:a5cf2393c21734355552dd93fdb39f5a9455dd17554313b925b0c92a55096679
20:06:25 Status: Downloaded newer image for dockerswarm/dind:19.03.5-rc1
20:06:25 fc3ed2af4a1c6fefbe4c0b50f7fd96ebe8459b121b6c9d7bb15ca0141a241e30
20:06:25 ++ docker run --rm --tty --link=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=19.03.5-rc1 --entrypoint=tox dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py27 -- --verbose
20:06:25 ============================= test session starts ==============================

20:06:25 platform linux2 -- Python 2.7.13, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py27/bin/python2.7

20:06:25 cachedir: .pytest_cache

20:06:25 rootdir: /code, inifile: tox.ini

20:06:25 plugins: cov-2.5.1

20:06:25 py27 develop-inst-nodeps: /code

20:06:25 py37 develop-inst-nodeps: /code

20:06:25 py37 develop-inst-nodeps: /code

20:06:25 py37 develop-inst-nodeps: /code

20:06:25 1c3fa6dbd719: Verifying Checksum
20:06:25 1c3fa6dbd719: Download complete
20:06:25 779c3a25c03c: Pull complete
20:06:25 21edb77f284d: Pull complete
20:06:25 4f13f8785abb: Pull complete
20:06:25 1c3fa6dbd719: Pull complete
20:06:25 0437f220621b: Pull complete
20:06:25 Digest: sha256:a5cf2393c21734355552dd93fdb39f5a9455dd17554313b925b0c92a55096679
20:06:25 Status: Downloaded newer image for dockerswarm/dind:19.03.5-rc1
20:06:25 b9373912ac7236d1943550dacfbcb70d857c27ec1a7fcbcf4749265c215e37b8
20:06:25 ++ docker run --rm --tty --link=compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8:docker --env=DOCKER_HOST=tcp://docker:2375 --env=DOCKER_VERSION=19.03.5-rc1 --entrypoint=tox dockerbuildbot/compose:alpine-97551c75f48b12c6d714aa9a430222e0bd853e9b -e py37 -- --verbose
20:06:25 py37 develop-inst-nodeps: /code

20:06:26 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:26 

20:06:26 py37 installed: altgraph==0.16.1,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyInstaller==3.5,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:26 py37 runtests: PYTHONHASHSEED='4112395405'

20:06:26 py37 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:26 py37 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:26 py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,backports.ssl-match-hostname==3.5.0.1,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,configparser==4.0.2,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,enum34==1.1.6,flake8==3.5.0,funcsigs==1.0.2,functools32==3.2.3.post2,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==5.0.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,subprocess32==3.5.4,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:26 py27 runtests: PYTHONHASHSEED='3286009368'

20:06:26 py27 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:26 py27 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:26 py37 installed: altgraph==0.16.1,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyInstaller==3.5,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:26 py37 runtests: PYTHONHASHSEED='771546243'

20:06:26 py37 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:26 py37 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:26 py37 installed: altgraph==0.16.1,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyInstaller==3.5,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:26 py37 runtests: PYTHONHASHSEED='4239076450'

20:06:26 py37 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:26 py37 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:26 ============================= test session starts ==============================

20:06:26 platform linux -- Python 3.7.4, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py37/bin/python3.7

20:06:26 cachedir: .pytest_cache

20:06:26 rootdir: /code, inifile: tox.ini

20:06:26 plugins: cov-2.5.1

20:06:27 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:27 py37 installed: altgraph==0.16.1,atomicwrites==1.3.0,attrs==19.3.0,backports.shutil-get-terminal-size==1.0.0,bcrypt==3.1.7,cached-property==1.3.0,certifi==2017.4.17,cffi==1.13.2,chardet==3.0.4,coverage==4.4.2,cryptography==2.8,ddt==1.2.0,docker==4.1.0,# Editable install with no version control (docker-compose==1.25.0.dev0),-e /code,docker-pycreds==0.4.0,dockerpty==0.4.1,docopt==0.6.2,flake8==3.5.0,idna==2.5,ipaddress==1.0.18,jsonschema==3.0.1,mccabe==0.6.1,mock==3.0.5,more-itertools==7.2.0,paramiko==2.6.0,pluggy==0.6.0,py==1.8.0,pycodestyle==2.3.1,pycparser==2.19,pyflakes==1.6.0,PyInstaller==3.5,PyNaCl==1.3.0,pyrsistent==0.15.5,PySocks==1.6.7,pytest==3.6.3,pytest-cov==2.5.1,PyYAML==4.2b1,requests==2.22.0,six==1.12.0,texttable==1.6.2,urllib3==1.25.6,websocket-client==0.32.0

20:06:27 py37 runtests: PYTHONHASHSEED='613661821'

20:06:27 py37 runtests: commands[0] | mkdir -p .coverage-binfiles

20:06:27 py37 runtests: commands[1] | py.test -v --cov=compose --cov-report html --cov-report term --cov-config=tox.ini --verbose

20:06:27 ============================= test session starts ==============================

20:06:27 platform linux2 -- Python 2.7.16, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py27/bin/python2.7

20:06:27 cachedir: .pytest_cache

20:06:27 rootdir: /code, inifile: tox.ini

20:06:27 plugins: cov-2.5.1

20:06:27 ============================= test session starts ==============================

20:06:27 platform linux -- Python 3.7.4, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py37/bin/python3.7

20:06:27 cachedir: .pytest_cache

20:06:27 rootdir: /code, inifile: tox.ini

20:06:27 plugins: cov-2.5.1

20:06:27 ============================= test session starts ==============================

20:06:27 platform linux -- Python 3.7.4, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py37/bin/python3.7

20:06:27 cachedir: .pytest_cache

20:06:27 rootdir: /code, inifile: tox.ini

20:06:27 plugins: cov-2.5.1

20:06:27 ============================= test session starts ==============================

20:06:27 platform linux -- Python 3.7.4, pytest-3.6.3, py-1.8.0, pluggy-0.6.0 -- /code/.tox/py37/bin/python3.7

20:06:27 cachedir: .pytest_cache

20:06:27 rootdir: /code, inifile: tox.ini

20:06:27 plugins: cov-2.5.1

20:06:28 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:28 

20:06:30 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:30 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:30 

20:06:30 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:30 

20:06:30 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:30 

20:06:30 

20:06:30 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:31 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:31 
collecting 0 items                                                             
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 197 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 198 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 201 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 269 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 272 items                                                           
collecting 401 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 405 items                                                           
collecting 408 items                                                           
collecting 417 items                                                           
collecting 428 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 436 items                                                           
collecting 447 items                                                           
collecting 447 items                                                           
collecting 464 items                                                           
collecting 477 items                                                           
collecting 477 items                                                           
collecting 495 items                                                           
collecting 496 items                                                           
collecting 496 items                                                           
collecting 504 items                                                           
collecting 504 items                                                           
collecting 509 items                                                           
collecting 512 items                                                           
collecting 521 items                                                           
collecting 521 items                                                           
collecting 552 items                                                           
collecting 552 items                                                           
collecting 626 items                                                           
collecting 627 items                                                           
collecting 630 items                                                           
collecting 634 items                                                           
collecting 635 items                                                           
collecting 645 items                                                           
collecting 648 items                                                           
collecting 651 items                                                           
collecting 651 items                                                           
collecting 656 items                                                           
collecting 656 items                                                           
collecting 669 items                                                           
collecting 672 items                                                           
collecting 672 items                                                           
collecting 674 items                                                           
collecting 674 items                                                           
collecting 676 items                                                           
collecting 676 items                                                           
collecting 677 items                                                           
collecting 677 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 678 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 680 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 688 items                                                           
collecting 692 items                                                           
collecting 708 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 711 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 719 items                                                           
collecting 725 items                                                           
collecting 725 items                                                           
collecting 727 items                                                           
collecting 727 items                                                           
collecting 730 items                                                           
collecting 730 items                                                           
collecting 734 items                                                           
collecting 734 items                                                           
collecting 738 items                                                           
collecting 738 items                                                           
collecting 741 items                                                           
collecting 746 items                                                           
collecting 746 items                                                           
collecting 749 items                                                           
collecting 749 items                                                           
collecting 753 items                                                           
collecting 753 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 760 items                                                           
collecting 764 items                                                           
collecting 769 items                                                           
collecting 769 items                                                           
collecting 773 items                                                           
collecting 773 items                                                           
collecting 917 items                                                           
collecting 925 items                                                           
collecting 933 items                                                           
collecting 936 items                                                           
collecting 946 items                                                           
collecting 957 items                                                           
collecting 963 items                                                           
collecting 969 items                                                           
collecting 972 items                                                           
collecting 977 items                                                           
collecting 985 items                                                           
collecting 989 items                                                           
collecting 995 items                                                           
collecting 998 items                                                           
collecting 1001 items                                                          
collecting 1013 items                                                          
collecting 1044 items                                                          
collecting 1047 items                                                          
collecting 1050 items                                                          
collecting 1057 items                                                          
collecting 1061 items                                                          
collecting 1063 items                                                          
collecting 1078 items                                                          
collecting 1078 items                                                          
collecting 1083 items                                                          
collecting 1083 items                                                          
collecting 1104 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1116 items                                                          
collecting 1125 items                                                          
collecting 1125 items                                                          
collecting 1137 items                                                          
collecting 1137 items                                                          
collecting 1146 items                                                          
collecting 1146 items                                                          
collecting 1148 items                                                          
collected 1148 items                                                           

20:06:31 

20:06:33 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:35 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:35 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:35 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:35 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:35 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:36 tests/acceptance/cli_test.py::CLITestCase::test_build_failed PASSED      [  0%]

20:06:37 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:38 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:38 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:39 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:39 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:39 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:39 tests/acceptance/cli_test.py::CLITestCase::test_build_failed_forcerm PASSED [  0%]

20:06:41 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:45 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:45 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:47 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:48 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:49 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:49 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:49 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:49 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:49 tests/acceptance/cli_test.py::CLITestCase::test_build_log_level PASSED   [  0%]

20:06:51 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:51 tests/acceptance/cli_test.py::CLITestCase::test_build_memory_build_option PASSED [  0%]

20:06:51 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:52 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:06:53 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:53 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:53 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:06:53 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:53 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:54 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:06:56 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache PASSED    [  0%]

20:06:57 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:06:58 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:06:58 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:06:58 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:06:59 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:00 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:01 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:02 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:02 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:03 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:03 tests/acceptance/cli_test.py::CLITestCase::test_build_no_cache_pull PASSED [  0%]

20:07:03 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:04 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:04 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:05 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:05 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir PASSED [  0%]

20:07:05 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:05 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:05 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:06 tests/acceptance/cli_test.py::CLITestCase::test_build_override_dir_invalid_path PASSED [  0%]

20:07:06 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:07 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:08 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:08 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:08 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:08 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:08 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:09 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:09 tests/acceptance/cli_test.py::CLITestCase::test_build_parallel PASSED    [  0%]

20:07:11 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:11 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:11 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:11 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:11 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:12 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:12 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:13 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:13 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:13 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:13 tests/acceptance/cli_test.py::CLITestCase::test_build_plain PASSED       [  0%]

20:07:13 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:14 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:14 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:15 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:15 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:15 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:16 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:16 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:17 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:17 tests/acceptance/cli_test.py::CLITestCase::test_build_pull PASSED        [  0%]

20:07:18 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:19 tests/acceptance/cli_test.py::CLITestCase::test_build_rm XPASS           [  1%]

20:07:19 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:19 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:19 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:20 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:20 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:20 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:20 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:21 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:21 tests/acceptance/cli_test.py::CLITestCase::test_build_shm_size_build_option PASSED [  1%]

20:07:21 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:22 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:22 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:23 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:23 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:23 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:24 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:24 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:24 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:25 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:25 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:25 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:25 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_cli_override PASSED [  1%]

20:07:26 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:26 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:27 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:27 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:27 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:27 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:28 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_from_compose_file PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:29 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:30 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:31 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:32 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_build_with_buildarg_old_api_version PASSED [  1%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:33 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_bundle_with_digests PASSED [  1%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:34 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_compatibility_mode PASSED [  1%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:35 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_default PASSED    [  1%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:36 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network PASSED [  1%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_external_network_v3_5 PASSED [  1%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:37 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2 PASSED [  1%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:38 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v2_x PASSED [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:39 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_4 PASSED [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:40 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_external_volume_v3_x PASSED [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:41 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_list_services PASSED [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:42 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_list_volumes PASSED [  2%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:43 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet PASSED      [  2%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_quiet_with_error PASSED [  2%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:44 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_config_restart PASSED    [  2%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:45 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:46 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:46 tests/acceptance/cli_test.py::CLITestCase::test_config_v1 PASSED         [  2%]

20:07:46 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:46 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:47 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:47 tests/acceptance/cli_test.py::CLITestCase::test_config_v3 PASSED         [  2%]

20:07:47 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:47 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:47 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env PASSED [  2%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:48 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_config_with_dot_env_and_override_dir PASSED [  2%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:49 tests/acceptance/cli_test.py::CLITestCase::test_config_with_env_file PASSED [  3%]

20:07:50 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:50 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:51 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:51 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:51 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:51 tests/acceptance/cli_test.py::CLITestCase::test_config_with_hash_option PASSED [  3%]

20:07:52 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:53 tests/acceptance/cli_test.py::CLITestCase::test_create PASSED            [  3%]

20:07:54 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:07:55 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate PASSED [  3%]

20:07:56 tests/acceptance/cli_test.py::CLITestCase::test_create_with_force_recreate_and_no_recreate PASSED [  3%]

20:07:57 tests/acceptance/cli_test.py::CLITestCase::test_create_with_no_recreate PASSED [  3%]

20:08:03 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:03 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:05 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:08 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:09 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:11 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:11 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:12 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:12 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:12 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:12 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:12 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:13 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:14 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:14 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:14 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:15 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:16 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:16 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:16 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:16 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:16 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:17 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:17 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:17 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:17 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:17 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:18 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:18 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_down PASSED              [  3%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_down_invalid_rmi_flag PASSED [  3%]

20:08:19 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:20 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:20 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:21 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:21 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:21 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:21 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:22 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:22 tests/acceptance/cli_test.py::CLITestCase::test_down_signal PASSED       [  3%]

20:08:22 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:22 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:23 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:23 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:24 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:24 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:24 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:25 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:25 tests/acceptance/cli_test.py::CLITestCase::test_down_timeout PASSED      [  3%]

20:08:25 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_env_file_relative_to_compose_file PASSED [  3%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:26 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:27 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:28 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:28 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:28 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:29 tests/acceptance/cli_test.py::CLITestCase::test_events_human_readable PASSED [  4%]

20:08:29 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:29 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:29 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:29 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:30 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:30 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:31 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:31 tests/acceptance/cli_test.py::CLITestCase::test_events_json PASSED       [  4%]

20:08:32 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:32 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:32 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:33 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:33 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:34 tests/acceptance/cli_test.py::CLITestCase::test_exec_custom_user PASSED  [  4%]

20:08:34 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:34 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:34 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:35 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:35 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:36 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:36 tests/acceptance/cli_test.py::CLITestCase::test_exec_detach_long_form PASSED [  4%]

20:08:36 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:37 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:37 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:37 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:37 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:38 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:39 tests/acceptance/cli_test.py::CLITestCase::test_exec_on_run_containers PASSED [  4%]

20:08:40 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:41 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:42 tests/acceptance/cli_test.py::CLITestCase::test_exec_service_with_environment_overridden PASSED [  4%]

20:08:43 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:45 tests/acceptance/cli_test.py::CLITestCase::test_exec_without_tty PASSED  [  4%]

20:08:45 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:45 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:47 tests/acceptance/cli_test.py::CLITestCase::test_exec_workdir PASSED      [  4%]

20:08:48 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:49 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:49 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:49 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:50 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:53 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:53 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:54 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:54 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:54 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:08:57 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:08:57 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:08:58 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:08:58 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:08:59 tests/acceptance/cli_test.py::CLITestCase::test_exit_code_from_signal_stop PASSED [  4%]

20:09:00 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:01 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:01 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:02 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:03 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:09:03 tests/acceptance/cli_test.py::CLITestCase::test_expanded_port PASSED     [  4%]

20:09:05 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:05 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:05 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:05 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:06 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:07 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:08 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:08 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:08 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:09 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:10 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:11 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:11 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:11 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:11 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:11 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:12 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:13 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:13 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:14 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:14 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:15 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:16 tests/acceptance/cli_test.py::CLITestCase::test_forward_exitval PASSED   [  4%]

20:09:16 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:16 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_help PASSED              [  4%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_help_nonexistent PASSED  [  5%]

20:09:17 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:18 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:19 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:19 tests/acceptance/cli_test.py::CLITestCase::test_home_and_env_var_in_volume_path PASSED [  5%]

20:09:20 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:20 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:20 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable PASSED [  5%]

20:09:20 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:20 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:21 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:21 tests/acceptance/cli_test.py::CLITestCase::test_host_not_reachable_volumes_from_container PASSED [  5%]

20:09:21 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:22 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:22 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:22 tests/acceptance/cli_test.py::CLITestCase::test_images PASSED            [  5%]

20:09:22 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:23 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:24 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:24 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:24 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:25 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:25 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:25 tests/acceptance/cli_test.py::CLITestCase::test_images_default_composefile PASSED [  5%]

20:09:25 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:26 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:26 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:27 tests/acceptance/cli_test.py::CLITestCase::test_images_tagless_image PASSED [  5%]

20:09:27 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:27 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:28 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:28 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:29 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:30 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:31 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:31 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:31 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:31 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:31 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_images_use_service_tag PASSED [  5%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:32 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:33 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:33 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:33 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:33 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:34 tests/acceptance/cli_test.py::CLITestCase::test_kill PASSED              [  5%]

20:09:35 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:35 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:35 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:36 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:36 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:36 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:36 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:37 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:37 tests/acceptance/cli_test.py::CLITestCase::test_kill_signal_sigstop PASSED [  5%]

20:09:38 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:38 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:38 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:38 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:39 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:39 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:39 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:39 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:40 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:40 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:40 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_kill_stopped_service PASSED [  5%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_logs_default SKIPPED     [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:41 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:42 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:42 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:42 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:42 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:42 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:43 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow PASSED       [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_new_containers SKIPPED [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_logs_follow_logs_from_restarted_containers SKIPPED [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_logs_invalid_service_name PASSED [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:44 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:45 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:45 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:45 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:46 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:46 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:47 tests/acceptance/cli_test.py::CLITestCase::test_logs_on_stopped_containers_exits PASSED [  6%]

20:09:47 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:48 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:48 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:49 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:49 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:49 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:49 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:09:50 tests/acceptance/cli_test.py::CLITestCase::test_logs_tail PASSED         [  6%]

20:09:51 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:51 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:51 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:09:52 tests/acceptance/cli_test.py::CLITestCase::test_logs_timestamps PASSED   [  6%]

20:09:53 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:53 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:53 tests/acceptance/cli_test.py::CLITestCase::test_pause_no_containers PASSED [  6%]

20:09:53 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:09:54 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:54 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:54 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:54 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:54 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:55 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:55 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:55 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:09:55 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:09:55 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:56 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:56 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:57 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:57 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:57 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:09:57 tests/acceptance/cli_test.py::CLITestCase::test_pause_unpause PASSED     [  6%]

20:09:58 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:58 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:58 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:59 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:09:59 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:10:00 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:00 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:00 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:01 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:01 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:01 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:01 tests/acceptance/cli_test.py::CLITestCase::test_port PASSED              [  6%]

20:10:02 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:02 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:02 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:03 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:03 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:03 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:04 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:04 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:04 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:05 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:10:05 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:10:05 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:06 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:07 tests/acceptance/cli_test.py::CLITestCase::test_port_with_scale PASSED   [  6%]

20:10:07 tests/acceptance/cli_test.py::CLITestCase::test_ps PASSED                [  7%]

20:10:07 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:07 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:10:08 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:09 tests/acceptance/cli_test.py::CLITestCase::test_ps_all PASSED            [  7%]

20:10:09 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:09 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:10 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:11 tests/acceptance/cli_test.py::CLITestCase::test_ps_alternate_composefile PASSED [  7%]

20:10:12 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:12 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:12 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:12 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:12 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:13 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:13 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:13 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:13 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_ps_default_composefile PASSED [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:14 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:15 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:15 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:15 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:15 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:15 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_option PASSED [  7%]

20:10:16 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:17 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:17 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:17 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:17 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:17 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:18 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:19 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:19 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:19 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:19 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:19 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:22 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:22 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:23 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:23 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:23 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:23 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:23 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_ps_services_filter_status PASSED [  7%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_pull PASSED              [  7%]

20:10:24 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:25 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:25 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:25 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_build PASSED   [  7%]

20:10:25 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:26 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:27 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_digest PASSED  [  7%]

20:10:27 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:28 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:28 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_ignore_pull_failures PASSED [  7%]

20:10:28 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:29 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:29 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:29 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:29 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:29 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_include_deps PASSED [  7%]

20:10:30 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:30 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:30 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_no_deps PASSED [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_parallel_failure PASSED [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:31 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:32 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:32 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:32 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:33 tests/acceptance/cli_test.py::CLITestCase::test_pull_with_quiet PASSED   [  8%]

20:10:33 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:33 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:35 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:36 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:37 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:38 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:38 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:38 tests/acceptance/cli_test.py::CLITestCase::test_quiet_build PASSED       [  8%]

20:10:38 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:39 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:39 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:39 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:39 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:40 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:40 tests/acceptance/cli_test.py::CLITestCase::test_restart PASSED           [  8%]

20:10:40 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:41 tests/acceptance/cli_test.py::CLITestCase::test_restart_no_containers PASSED [  8%]

20:10:41 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:42 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:43 tests/acceptance/cli_test.py::CLITestCase::test_restart_stopped_container PASSED [  8%]

20:10:43 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:44 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:44 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:44 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:45 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:45 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:46 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:46 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:46 tests/acceptance/cli_test.py::CLITestCase::test_rm PASSED                [  8%]

20:10:46 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:46 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:10:47 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:47 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:48 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:48 tests/acceptance/cli_test.py::CLITestCase::test_rm_all PASSED            [  8%]

20:10:48 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:48 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:49 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:49 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:10:49 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:50 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:50 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:50 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:50 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:10:50 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:51 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:51 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:10:52 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:53 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:53 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:53 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:10:54 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:55 tests/acceptance/cli_test.py::CLITestCase::test_rm_stop PASSED           [  8%]

20:10:55 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:10:56 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:10:57 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:10:59 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:11:00 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:00 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:00 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:00 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:01 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:01 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:01 tests/acceptance/cli_test.py::CLITestCase::test_run_detached_connects_to_network PASSED [  8%]

20:11:02 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:02 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:02 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:11:02 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:02 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:03 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:03 tests/acceptance/cli_test.py::CLITestCase::test_run_does_not_recreate_linked_containers PASSED [  8%]

20:11:04 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:04 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:11:04 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:04 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:04 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:05 tests/acceptance/cli_test.py::CLITestCase::test_run_env_values_from_system PASSED [  9%]

20:11:05 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:05 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:06 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:11:06 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:06 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:06 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:07 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sighup PASSED [  9%]

20:11:07 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:07 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:11:07 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:08 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:08 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:08 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigint PASSED [  9%]

20:11:08 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:09 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:11:09 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:09 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:09 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:09 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:10 tests/acceptance/cli_test.py::CLITestCase::test_run_handles_sigterm PASSED [  9%]

20:11:10 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:10 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:11 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:11 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:12 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:12 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:12 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:13 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:13 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:13 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:14 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:14 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:14 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:15 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:15 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:16 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:16 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:16 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:16 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:17 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:17 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:17 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_interactive_connects_to_network PASSED [  9%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:18 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:19 tests/acceptance/cli_test.py::CLITestCase::test_run_label_flag PASSED    [  9%]

20:11:19 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:20 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:22 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:22 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:23 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_multiple_volumes PASSED [  9%]

20:11:23 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:24 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:25 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:25 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:25 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume PASSED [  9%]

20:11:25 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:27 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:27 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:27 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:28 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:28 tests/acceptance/cli_test.py::CLITestCase::test_run_one_off_with_volume_merge PASSED [  9%]

20:11:28 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:29 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:29 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:30 tests/acceptance/cli_test.py::CLITestCase::test_run_rm PASSED            [  9%]

20:11:30 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:30 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:30 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:30 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:31 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:31 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:31 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:32 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint PASSED [  9%]

20:11:32 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:33 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:34 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:34 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_command_overridden PASSED [ 10%]

20:11:34 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:35 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:35 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:35 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:35 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:36 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:36 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_and_empty_string_command PASSED [ 10%]

20:11:36 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:36 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:37 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:37 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:37 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:37 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:38 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:38 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:38 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_compose_file_entrypoint_overridden PASSED [ 10%]

20:11:38 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:39 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:39 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:39 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:39 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:40 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:40 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:40 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:40 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:41 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:41 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:42 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dependencies PASSED [ 10%]

20:11:42 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:42 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:42 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:42 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:43 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:43 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:43 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:44 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:44 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:46 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:11:46 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:11:47 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:47 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint PASSED [ 10%]

20:11:47 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:11:48 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:11:48 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:48 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:49 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:11:49 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:50 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:50 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:11:51 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_and_command_overridden PASSED [ 10%]

20:11:51 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:11:53 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:11:53 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:11:54 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:11:54 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:54 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:11:54 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:11:54 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:11:55 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:11:55 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:11:55 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:11:56 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:11:56 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:56 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:11:56 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_dockerfile_entrypoint_overridden PASSED [ 10%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:11:57 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:11:58 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:11:58 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_environment_overridden PASSED [ 10%]

20:11:58 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:11:58 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:11:58 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:11:59 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:11:59 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:11:59 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:11:59 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:11:59 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:12:00 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:00 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ip_ports PASSED [ 10%]

20:12:00 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:12:00 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:00 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_explicitly_mapped_ports PASSED [ 10%]

20:12:01 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:02 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:12:03 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:12:03 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:04 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:04 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_links PASSED [ 10%]

20:12:04 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:04 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:12:05 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:05 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:05 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:05 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:06 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_map_ports PASSED [ 10%]

20:12:06 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:06 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:06 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:07 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:07 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:07 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:07 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:08 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:12:08 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:08 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:08 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:09 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:09 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:09 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:09 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:10 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:10 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:11 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:11 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:11 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:11 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_scaled_dependencies PASSED [ 11%]

20:12:12 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:13 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:13 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:13 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:14 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:14 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:15 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:16 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:16 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:12:16 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:16 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:17 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:12:17 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:17 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:18 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:12:18 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:19 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:12:19 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_unset_entrypoint PASSED [ 11%]

20:12:20 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:20 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_use_aliases PASSED [ 11%]

20:12:21 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:12:21 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden PASSED [ 11%]

20:12:21 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:21 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:22 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:22 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:22 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:23 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_user_overridden_short_form PASSED [ 11%]

20:12:23 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:23 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:23 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:24 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:24 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:24 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:24 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:24 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden PASSED [ 11%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:25 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:26 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:26 tests/acceptance/cli_test.py::CLITestCase::test_run_service_with_workdir_overridden_short_form PASSED [ 11%]

20:12:26 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:26 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:26 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:27 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:28 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_links PASSED [ 11%]

20:12:28 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_run_service_without_map_ports PASSED [ 11%]

20:12:29 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:30 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:30 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:30 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:31 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:31 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:31 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:31 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:32 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:32 tests/acceptance/cli_test.py::CLITestCase::test_run_unicode_env_values_from_system PASSED [ 11%]

20:12:32 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:33 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:33 tests/acceptance/cli_test.py::CLITestCase::test_run_with_custom_name PASSED [ 11%]

20:12:34 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:34 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:34 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_run_with_expose_ports PASSED [ 12%]

20:12:35 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:36 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_run_with_no_deps PASSED  [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:37 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:38 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:38 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:39 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:39 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:39 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:40 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:41 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:41 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:41 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:41 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:41 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:12:42 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:42 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:43 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:43 tests/acceptance/cli_test.py::CLITestCase::test_run_without_command PASSED [ 12%]

20:12:43 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:43 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:43 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:44 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:44 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:45 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:12:46 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:47 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:47 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:47 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:47 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:48 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:48 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:12:48 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:49 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:49 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:12:49 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:49 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:12:50 tests/acceptance/cli_test.py::CLITestCase::test_scale PASSED             [ 12%]

20:12:50 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:50 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:12:50 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:50 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:51 tests/acceptance/cli_test.py::CLITestCase::test_scale_v2_2 PASSED        [ 12%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:52 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt PASSED [ 12%]

20:12:53 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:12:53 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_shorthand_host_opt_interactive PASSED [ 12%]

20:12:54 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:12:55 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:12:55 tests/acceptance/cli_test.py::CLITestCase::test_start_no_containers PASSED [ 12%]

20:12:56 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:12:56 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:12:57 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:12:57 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:12:57 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:12:57 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:12:57 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:12:58 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:12:58 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:12:58 tests/acceptance/cli_test.py::CLITestCase::test_stop PASSED              [ 12%]

20:12:58 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:12:59 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:12:59 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:12:59 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:12:59 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:00 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:00 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:13:00 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:13:00 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:00 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:01 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:13:01 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:13:01 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:02 tests/acceptance/cli_test.py::CLITestCase::test_stop_signal PASSED       [ 12%]

20:13:02 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:03 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:03 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:03 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:13:03 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:13:03 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:13:04 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:04 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:04 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:04 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:05 tests/acceptance/cli_test.py::CLITestCase::test_top_processes_running PASSED [ 12%]

20:13:05 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:05 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:05 tests/acceptance/cli_test.py::CLITestCase::test_top_services_not_running PASSED [ 12%]

20:13:05 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:13:06 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:06 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:06 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:07 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:13:07 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:07 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_top_services_running PASSED [ 13%]

20:13:08 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:09 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:13:09 tests/acceptance/cli_test.py::CLITestCase::test_unpause_no_containers PASSED [ 13%]

20:13:09 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:10 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:10 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:11 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:11 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:13:11 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:12 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:12 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:12 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:12 tests/acceptance/cli_test.py::CLITestCase::test_up PASSED                [ 13%]

20:13:13 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:13 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:13 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:13:13 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:14 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:14 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:14 tests/acceptance/cli_test.py::CLITestCase::test_up_attached PASSED       [ 13%]

20:13:15 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:15 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:15 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:16 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:16 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:16 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:13:17 tests/acceptance/cli_test.py::CLITestCase::test_up_detached PASSED       [ 13%]

20:13:17 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:18 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:13:19 tests/acceptance/cli_test.py::CLITestCase::test_up_detached_long_form PASSED [ 13%]

20:13:19 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:20 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:20 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:13:21 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:21 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:21 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:22 tests/acceptance/cli_test.py::CLITestCase::test_up_external_networks PASSED [ 13%]

20:13:22 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:23 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:13:23 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:24 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit PASSED [ 13%]

20:13:24 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:24 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:24 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:25 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:13:25 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:26 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:26 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_abort_on_container_exit_code PASSED [ 13%]

20:13:27 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:27 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:28 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:28 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:29 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_force_shutdown PASSED [ 13%]

20:13:29 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:30 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:31 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigint PASSED [ 13%]

20:13:31 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:31 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:31 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:32 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:32 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:32 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:32 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:33 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:33 tests/acceptance/cli_test.py::CLITestCase::test_up_handles_sigterm PASSED [ 14%]

20:13:34 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:34 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:35 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:35 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:35 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:36 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:36 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:36 tests/acceptance/cli_test.py::CLITestCase::test_up_logging PASSED        [ 14%]

20:13:36 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:37 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:37 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_logging_legacy PASSED [ 14%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:39 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:39 tests/acceptance/cli_test.py::CLITestCase::test_up_missing_network PASSED [ 14%]

20:13:39 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:39 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:40 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:40 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:41 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:13:41 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:41 tests/acceptance/cli_test.py::CLITestCase::test_up_no_ansi PASSED        [ 14%]

20:13:41 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:41 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:42 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:42 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:42 tests/acceptance/cli_test.py::CLITestCase::test_up_no_services PASSED    [ 14%]

20:13:43 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:43 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:43 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:13:44 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start PASSED       [ 14%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:13:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:47 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:47 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:13:48 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:48 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:48 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:48 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:13:49 tests/acceptance/cli_test.py::CLITestCase::test_up_no_start_remove_orphans PASSED [ 14%]

20:13:49 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:13:50 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:51 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:52 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:13:52 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:13:52 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:53 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:13:54 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_reset PASSED    [ 14%]

20:13:55 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:13:55 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 <- tests/integration/testcases.py PASSED [ 16%]

20:13:55 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:13:55 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:13:56 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:13:56 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:13:56 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:13:56 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:13:57 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:13:57 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:13:57 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:13:58 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:13:58 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:13:58 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_down PASSED [ 14%]

20:13:59 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:13:59 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:13:59 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:13:59 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:02 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:14:03 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 PASSED    [ 16%]

20:14:03 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 PASSED    [ 16%]

20:14:03 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:03 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:03 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_scale_up PASSED [ 14%]

20:14:04 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:14:04 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:14:04 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:05 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:14:05 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:05 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:05 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 PASSED    [ 16%]

20:14:06 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:06 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:06 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:06 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:14:06 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:14:07 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:07 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:14:07 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 PASSED    [ 16%]

20:14:07 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:08 tests/acceptance/cli_test.py::CLITestCase::test_up_scale_to_zero PASSED  [ 14%]

20:14:08 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:09 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:14:09 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:09 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:09 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:10 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:10 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:10 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_network_config PASSED [ 15%]

20:14:10 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:11 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:11 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:11 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:11 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:12 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:14:12 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode PASSED [ 16%]

20:14:13 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode PASSED [ 16%]

20:14:13 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 <- tests/integration/testcases.py PASSED [ 16%]

20:14:13 tests/acceptance/cli_test.py::CLITestCase::test_up_with_default_override_file PASSED [ 15%]

20:14:13 tests/acceptance/cli_test.py::CLITestCase::test_up_with_duplicate_override_yaml_files PASSED [ 15%]

20:14:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode PASSED [ 16%]

20:14:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:15 tests/acceptance/cli_test.py::CLITestCase::test_up_with_extends PASSED   [ 15%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode PASSED [ 16%]

20:14:16 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:14:17 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:18 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:18 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:18 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:19 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:20 tests/acceptance/cli_test.py::CLITestCase::test_up_with_external_default_network PASSED [ 15%]

20:14:20 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:20 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:20 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:20 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:21 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:22 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:22 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:22 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:23 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate PASSED [ 15%]

20:14:23 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:23 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_force_recreate_and_no_recreate PASSED [ 15%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:24 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:14:25 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:25 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:14:26 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:27 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:27 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:27 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:27 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:27 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:27 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:14:28 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode PASSED  [ 16%]

20:14:28 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:29 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode PASSED  [ 16%]

20:14:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:29 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:29 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:30 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:30 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode PASSED  [ 16%]

20:14:30 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:30 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:30 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:30 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:31 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes <- tests/integration/testcases.py PASSED [ 18%]

20:14:31 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_healthcheck PASSED [ 15%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:32 tests/acceptance/cli_test.py::CLITestCase::test_up_with_ignore_remove_orphans PASSED [ 15%]

20:14:33 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode PASSED  [ 16%]

20:14:33 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:34 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 <- tests/integration/testcases.py PASSED [ 16%]

20:14:34 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:34 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:34 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:34 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:34 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:34 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:35 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:35 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:35 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:35 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:35 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:35 tests/acceptance/cli_test.py::CLITestCase::test_up_with_links_v1 PASSED  [ 15%]

20:14:35 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:36 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:36 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:36 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:36 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:36 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:36 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:36 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:36 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:36 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:37 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:38 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:38 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:39 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:39 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:39 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:39 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:39 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:39 tests/acceptance/cli_test.py::CLITestCase::test_up_with_multiple_files PASSED [ 15%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:39 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:40 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_is_invalid PASSED [ 16%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:40 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:41 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:41 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes PASSED [ 18%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:41 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:42 tests/acceptance/cli_test.py::CLITestCase::test_up_with_net_v1 <- tests/integration/testcases.py PASSED [ 16%]

20:14:42 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:43 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:43 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:43 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:43 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:43 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:43 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:14:44 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:44 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:44 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:44 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes PASSED [ 18%]

20:14:44 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:44 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_aliases PASSED [ 16%]

20:14:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:46 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:14:46 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:14:46 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:14:46 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:14:46 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_internal PASSED [ 16%]

20:14:46 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:14:46 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:14:46 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver <- tests/integration/testcases.py PASSED [ 18%]

20:14:46 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts <- tests/integration/testcases.py PASSED [ 18%]

20:14:47 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:14:47 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 <- tests/integration/testcases.py PASSED [ 18%]

20:14:48 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 <- tests/integration/testcases.py PASSED [ 19%]

20:14:49 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_labels PASSED [ 16%]

20:14:49 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:14:49 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:14:50 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container <- tests/integration/testcases.py PASSED [ 19%]

20:14:50 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:50 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:14:50 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:14:51 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service <- tests/integration/testcases.py PASSED [ 19%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes <- tests/integration/testcases.py PASSED [ 18%]

20:14:51 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:14:52 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:14:52 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_mode <- tests/integration/testcases.py PASSED [ 16%]

20:14:54 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:14:54 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:14:54 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver PASSED [ 18%]

20:14:54 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts PASSED [ 18%]

20:14:54 tests/acceptance/cli_test.py::CLITestCase::test_up_with_network_static_addresses PASSED [ 16%]

20:14:54 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:14:55 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 PASSED [ 18%]

20:14:56 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 PASSED [ 19%]

20:14:56 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:14:57 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container PASSED [ 19%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver PASSED [ 18%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts PASSED [ 18%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 PASSED [ 18%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 PASSED [ 19%]

20:14:58 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container PASSED [ 19%]

20:14:58 tests/acceptance/cli_test.py::CLITestCase::test_up_with_networks PASSED  [ 16%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 PASSED [ 18%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service PASSED [ 19%]

20:14:59 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:00 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 PASSED [ 18%]

20:15:00 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_deps PASSED   [ 16%]

20:15:00 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:01 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode <- tests/integration/testcases.py PASSED [ 16%]

20:15:01 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:01 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service PASSED [ 19%]

20:15:01 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:01 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 PASSED [ 19%]

20:15:01 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:02 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container PASSED [ 19%]

20:15:02 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:15:03 tests/acceptance/cli_test.py::CLITestCase::test_up_with_no_recreate PASSED [ 16%]

20:15:03 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:03 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:04 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service PASSED [ 19%]

20:15:04 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:04 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:15:05 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:05 tests/acceptance/cli_test.py::CLITestCase::test_up_with_override_yaml PASSED [ 16%]

20:15:05 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:06 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:06 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:15:06 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:15:07 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver <- tests/integration/testcases.py PASSED [ 18%]

20:15:07 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts <- tests/integration/testcases.py PASSED [ 18%]

20:15:07 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:07 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char <- tests/integration/testcases.py PASSED [ 19%]

20:15:08 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 <- tests/integration/testcases.py PASSED [ 18%]

20:15:08 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:15:08 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:15:08 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:15:08 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:15:08 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:08 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:08 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:09 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:15:09 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 <- tests/integration/testcases.py PASSED [ 19%]

20:15:09 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:10 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:10 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:10 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container <- tests/integration/testcases.py PASSED [ 19%]

20:15:10 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:15:10 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:15:10 tests/acceptance/cli_test.py::CLITestCase::test_up_with_pid_mode <- tests/integration/testcases.py PASSED [ 16%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:15:11 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:15:12 tests/acceptance/cli_test.py::CLITestCase::test_up_with_timeout PASSED   [ 17%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service <- tests/integration/testcases.py PASSED [ 19%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes <- tests/integration/testcases.py PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:15:12 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:13 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:13 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:13 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:14 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:14 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:14 tests/acceptance/cli_test.py::CLITestCase::test_up_with_volume_labels PASSED [ 17%]

20:15:15 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char PASSED [ 19%]

20:15:15 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:15 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:15 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:15 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:16 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char PASSED [ 19%]

20:15:16 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:16 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:17 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char PASSED [ 19%]

20:15:17 tests/integration/environment_test.py::EnvironmentOverrideFileTest::test_env_file_override PASSED [ 17%]

20:15:17 tests/integration/network_test.py::NetworkTest::test_network_default_labels PASSED [ 17%]

20:15:17 tests/integration/network_test.py::NetworkTest::test_network_external_default_ensure PASSED [ 17%]

20:15:17 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:17 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:17 tests/integration/network_test.py::NetworkTest::test_network_external_overlay_ensure PASSED [ 17%]

20:15:18 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:18 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:18 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:18 tests/integration/project_test.py::ProjectTest::test_containers PASSED   [ 17%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_containers_stopped PASSED [ 17%]

20:15:19 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:20 tests/integration/project_test.py::ProjectTest::test_containers_with_extra_service PASSED [ 17%]

20:15:20 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:20 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:20 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char PASSED [ 19%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_containers_with_service_names PASSED [ 17%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_create PASSED       [ 17%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_create_strategy_always PASSED [ 18%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:21 tests/integration/project_test.py::ProjectTest::test_create_strategy_never PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_create_twice PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_create_with_links PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_initialize_volumes PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_external_volumes <- tests/integration/testcases.py PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_inexistent_external_volume PASSED [ 18%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:22 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:23 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:23 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:23 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:23 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:24 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:24 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:24 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:24 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:25 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:25 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:26 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:26 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:26 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:27 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char <- tests/integration/testcases.py PASSED [ 19%]

20:15:28 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:28 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:28 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:28 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:28 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:29 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:29 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:29 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver <- tests/integration/testcases.py PASSED [ 18%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts <- tests/integration/testcases.py PASSED [ 18%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 <- tests/integration/testcases.py PASSED [ 18%]

20:15:30 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 <- tests/integration/testcases.py PASSED [ 19%]

20:15:31 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:31 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:31 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:31 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container <- tests/integration/testcases.py PASSED [ 19%]

20:15:32 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:32 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:32 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:32 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service <- tests/integration/testcases.py PASSED [ 19%]

20:15:33 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:34 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:34 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:34 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:34 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:34 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:35 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:35 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:35 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:36 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:36 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:36 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:36 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:37 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:37 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:37 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:37 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:38 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:38 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:38 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:38 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:39 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:39 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:15:39 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:39 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:39 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_invalid_volume_driver PASSED [ 18%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_blank_driver PASSED [ 18%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver <- tests/integration/testcases.py PASSED [ 18%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_initialize_volumes_updated_driver_opts <- tests/integration/testcases.py PASSED [ 18%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_net_from_container_v1 <- tests/integration/testcases.py PASSED [ 18%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_net_from_service_v1 <- tests/integration/testcases.py PASSED [ 19%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:40 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:15:41 tests/integration/project_test.py::ProjectTest::test_network_mode_from_container <- tests/integration/testcases.py PASSED [ 19%]

20:15:41 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:41 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:42 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:42 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:15:42 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:42 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:42 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_network_mode_from_service <- tests/integration/testcases.py PASSED [ 19%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_parallel_pull_with_no_image PASSED [ 19%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:43 tests/integration/project_test.py::ProjectTest::test_project_up PASSED   [ 19%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:44 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:15:45 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:15:45 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:45 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:15:46 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:15:47 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:48 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:48 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:15:48 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char <- tests/integration/testcases.py PASSED [ 19%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:15:49 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:15:50 tests/integration/project_test.py::ProjectTest::test_project_up_config_scale PASSED [ 19%]

20:15:50 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:15:50 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:15:50 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:50 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:15:51 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:15:51 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:15:51 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:15:52 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:52 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:15:52 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:15:52 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:15:52 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:15:53 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:15:53 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:15:53 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:15:53 tests/integration/project_test.py::ProjectTest::test_project_up_healthy_dependency PASSED [ 19%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:15:54 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:15:55 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:15:55 tests/integration/project_test.py::ProjectTest::test_project_up_ignore_orphans PASSED [ 19%]

20:15:55 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:15:55 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:15:55 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_project_up_implicit_volume_driver PASSED [ 19%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:15:56 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime <- tests/integration/testcases.py SKIPPED [ 23%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:15:57 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_project_up_logging_with_multiple_files PASSED [ 19%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_runtime <- tests/integration/testcases.py PASSED [ 23%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:15:58 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:15:59 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:15:59 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:15:59 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:15:59 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:00 tests/integration/project_test.py::ProjectTest::test_project_up_name_starts_with_illegal_char <- tests/integration/testcases.py PASSED [ 19%]

20:16:00 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:01 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:16:01 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:16:01 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:01 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:16:01 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:16:01 tests/integration/project_test.py::ProjectTest::test_project_up_named_volumes_in_binds PASSED [ 20%]

20:16:02 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:02 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:16:02 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:02 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:02 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:02 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:02 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:16:02 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_project_up_networks PASSED [ 20%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:16:03 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:16:04 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:16:04 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:04 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:04 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime SKIPPED [ 23%]

20:16:04 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:04 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_project_up_no_healthcheck_dependency PASSED [ 20%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_up_with_runtime PASSED [ 23%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:05 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime SKIPPED [ 23%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:16:06 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:16:06 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:06 tests/integration/project_test.py::ProjectTest::test_project_up_orphans PASSED [ 20%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:07 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:07 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_up_with_runtime PASSED [ 23%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:07 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_project_up_port_mappings_with_multiple_files PASSED [ 20%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:16:08 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:08 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime SKIPPED [ 23%]

20:16:08 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:09 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:09 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:09 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:09 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:09 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:09 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:16:09 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:09 tests/integration/project_test.py::ProjectTest::test_up_with_runtime PASSED [ 23%]

20:16:09 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:09 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:10 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:16:10 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:10 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:16:10 tests/integration/project_test.py::ProjectTest::test_project_up_recreate_with_tmpfs_volume PASSED [ 20%]

20:16:10 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:16:10 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:16:11 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:11 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:11 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:16:11 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:11 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:11 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:11 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:11 tests/integration/project_test.py::ProjectTest::test_project_up_seccomp_profile PASSED [ 20%]

20:16:12 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:16:12 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:16:12 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:12 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:12 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:12 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:16:13 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:13 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:13 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:13 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:13 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime SKIPPED [ 23%]

20:16:13 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:14 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:14 tests/integration/project_test.py::ProjectTest::test_project_up_starts_depends PASSED [ 20%]

20:16:14 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:14 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:14 tests/integration/project_test.py::ProjectTest::test_up_with_runtime PASSED [ 23%]

20:16:14 tests/integration/service_test.py::ServiceTest::test_build_with_network <- tests/integration/testcases.py PASSED [ 24%]

20:16:14 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:16:15 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:15 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:15 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:15 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:15 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:16 tests/integration/project_test.py::ProjectTest::test_project_up_starts_links PASSED [ 20%]

20:16:16 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:16:16 tests/integration/service_test.py::ServiceTest::test_build_with_target <- tests/integration/testcases.py PASSED [ 25%]

20:16:16 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:16 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:16 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:16 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:16 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:17 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:17 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:17 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:17 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:18 tests/integration/project_test.py::ProjectTest::test_project_up_starts_uncreated_services PASSED [ 20%]

20:16:18 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:16:18 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:18 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:18 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:19 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:19 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:19 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:19 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:20 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:20 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:20 tests/integration/project_test.py::ProjectTest::test_project_up_unhealthy_dependency PASSED [ 20%]

20:16:20 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:21 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:21 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime <- tests/integration/testcases.py SKIPPED [ 23%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:21 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:21 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:16:21 tests/integration/project_test.py::ProjectTest::test_project_up_volumes PASSED [ 20%]

20:16:22 tests/integration/project_test.py::ProjectTest::test_up_with_runtime <- tests/integration/testcases.py PASSED [ 23%]

20:16:22 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:22 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:22 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:22 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:22 tests/integration/service_test.py::ServiceTest::test_build_with_network PASSED [ 24%]

20:16:22 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:22 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:23 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:23 tests/integration/service_test.py::ServiceTest::test_build_with_network PASSED [ 24%]

20:16:23 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_target PASSED [ 25%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:24 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:25 tests/integration/project_test.py::ProjectTest::test_project_up_with_added_secrets PASSED [ 21%]

20:16:25 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_build_with_target PASSED [ 25%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:25 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:26 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_internal PASSED [ 21%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_build_with_network PASSED [ 24%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:26 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:26 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:26 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:27 tests/integration/project_test.py::ProjectTest::test_project_up_with_network_label PASSED [ 21%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:27 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_build_with_target PASSED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:28 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_deps PASSED [ 21%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:29 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:16:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:30 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:16:30 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_running PASSED [ 21%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:31 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:16:31 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:31 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:16:31 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:32 tests/integration/project_test.py::ProjectTest::test_project_up_with_no_recreate_stopped PASSED [ 21%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:32 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:32 tests/integration/service_test.py::ServiceTest::test_build_with_network PASSED [ 24%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:34 tests/integration/project_test.py::ProjectTest::test_project_up_with_secrets PASSED [ 21%]

20:16:34 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_build_with_target PASSED [ 25%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:16:35 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:35 tests/integration/project_test.py::ProjectTest::test_project_up_with_volume_labels PASSED [ 21%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:16:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:36 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:36 tests/integration/project_test.py::ProjectTest::test_project_up_without_all_services PASSED [ 21%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:38 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_mounts PASSED [ 21%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:39 tests/integration/service_test.py::ServiceTest::test_build_with_network <- tests/integration/testcases.py PASSED [ 24%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:40 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:40 tests/integration/project_test.py::ProjectTest::test_recreate_preserves_volumes PASSED [ 21%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_build_with_target <- tests/integration/testcases.py PASSED [ 25%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:16:41 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:16:41 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:16:41 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime <- tests/integration/testcases.py SKIPPED [ 23%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:41 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:42 tests/integration/project_test.py::ProjectTest::test_up_with_runtime <- tests/integration/testcases.py PASSED [ 23%]

20:16:42 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:16:42 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:16:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:43 tests/integration/project_test.py::ProjectTest::test_start_pause_unpause_stop_kill_remove PASSED [ 22%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:16:44 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:16:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:45 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:45 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:46 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:16:47 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:16:47 tests/integration/project_test.py::ProjectTest::test_unscale_after_restart PASSED [ 22%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:16:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:16:48 tests/integration/project_test.py::ProjectTest::test_up_with_custom_name_resources PASSED [ 22%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:16:49 20:16:49 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:16:49 tests/integration/project_test.py::ProjectTest::test_up_with_enable_ipv6 PASSED [ 22%]

20:16:49 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_isolation PASSED [ 22%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:16:49 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:50 tests/integration/project_test.py::ProjectTest::test_up_with_invalid_runtime PASSED [ 22%]

20:16:50 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:16:50 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:16:50 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:50 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:16:50 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:51 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_config PASSED [ 22%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:51 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:16:52 tests/integration/project_test.py::ProjectTest::test_up_with_ipam_options PASSED [ 22%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:52 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:16:53 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:16:53 tests/integration/project_test.py::ProjectTest::test_up_with_isolation PASSED [ 22%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:16:54 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:16:55 tests/integration/project_test.py::ProjectTest::test_up_with_network_link_local_ips PASSED [ 22%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:16:55 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:16:56 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:16:56 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:16:56 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:16:56 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:16:56 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:16:57 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:16:58 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:16:59 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:17:00 tests/integration/service_test.py::ServiceTest::test_build_with_network <- tests/integration/testcases.py PASSED [ 24%]

20:17:00 tests/integration/project_test.py::ProjectTest::test_up_with_network_priorities PASSED [ 22%]

20:17:00 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:17:00 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses PASSED [ 22%]

20:17:01 tests/integration/project_test.py::ProjectTest::test_up_with_network_static_addresses_missing_subnet PASSED [ 23%]

20:17:01 tests/integration/project_test.py::ProjectTest::test_up_with_nvidia_runtime <- tests/integration/testcases.py SKIPPED [ 23%]

20:17:01 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:01 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:17:01 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_build_with_target <- tests/integration/testcases.py PASSED [ 25%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:17:02 tests/integration/project_test.py::ProjectTest::test_up_with_runtime <- tests/integration/testcases.py PASSED [ 23%]

20:17:02 tests/integration/project_test.py::ProjectTest::test_volumes_from_container PASSED [ 23%]

20:17:02 tests/integration/project_test.py::ProjectTest::test_volumes_from_service PASSED [ 23%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:02 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:17:03 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:03 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:17:03 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:03 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:17:04 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:17:04 tests/integration/resilience_test.py::ResilienceTest::test_create_failure PASSED [ 23%]

20:17:04 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:04 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:17:05 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:17:06 tests/integration/resilience_test.py::ResilienceTest::test_start_failure PASSED [ 23%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:17:06 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:07 tests/integration/resilience_test.py::ResilienceTest::test_successful_recreate PASSED [ 23%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_build PASSED        [ 23%]

20:17:07 tests/integration/service_test.py::ServiceTest::test_build_cli PASSED    [ 23%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_build_non_ascii_filename PASSED [ 23%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:17:08 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:17:09 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:17:09 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:17:09 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:17:09 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:17:10 tests/integration/service_test.py::ServiceTest::test_build_with_build_args PASSED [ 24%]

20:17:10 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:17:10 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:11 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:17:11 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:17:11 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:11 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_build_with_build_args_override PASSED [ 24%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:12 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:17:13 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:17:13 tests/integration/service_test.py::ServiceTest::test_build_with_build_labels PASSED [ 24%]

20:17:13 tests/integration/service_test.py::ServiceTest::test_build_with_cachefrom PASSED [ 24%]

20:17:13 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:17:14 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:17:14 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:14 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:14 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:17:15 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:17:15 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:17:15 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:17:15 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:17:15 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:16 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:16 tests/integration/service_test.py::ServiceTest::test_build_with_extra_hosts PASSED [ 24%]

20:17:16 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_build_with_git_url PASSED [ 24%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:17 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:18 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:17:18 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_build_with_gzip PASSED [ 24%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:19 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_build_with_illegal_leading_chars PASSED [ 24%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_build_with_image_name PASSED [ 24%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_build_with_isolation PASSED [ 24%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:17:20 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:21 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:17:22 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:17:22 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:22 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:22 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:22 tests/integration/service_test.py::ServiceTest::test_build_with_network <- tests/integration/testcases.py PASSED [ 24%]

20:17:23 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:23 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:17:23 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:23 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:17:23 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_build_with_target <- tests/integration/testcases.py PASSED [ 25%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:24 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_cap_add_list PASSED [ 25%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:17:25 tests/integration/service_test.py::ServiceTest::test_cap_drop_list PASSED [ 25%]

20:17:26 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:26 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:17:26 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:26 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:17:27 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_containers PASSED   [ 25%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_containers_one_off PASSED [ 25%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_create_container_with_blkio_config PASSED [ 25%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:28 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_count PASSED [ 25%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_percent SKIPPED [ 25%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:29 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_quota PASSED [ 25%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt xfail [ 25%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:30 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_set PASSED [ 25%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:31 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_shares PASSED [ 25%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_cpus PASSED [ 26%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_create_container_with_device_cgroup_rules PASSED [ 26%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:32 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_dicts PASSED [ 26%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:33 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_extra_hosts_list PASSED [ 26%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_create_container_with_healthcheck_config PASSED [ 26%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:34 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_create_container_with_host_mount PASSED [ 26%]

20:17:35 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_bool PASSED [ 26%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:36 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:37 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:17:37 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:37 tests/integration/service_test.py::ServiceTest::test_create_container_with_init_path XPASS [ 26%]

20:17:37 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:17:38 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:38 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:38 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_mount PASSED [ 26%]

20:17:38 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:17:38 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:39 tests/integration/service_test.py::ServiceTest::test_create_container_with_legacy_tmpfs_mount PASSED [ 26%]

20:17:39 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:39 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_mac_address PASSED [ 26%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off PASSED [ 27%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_one_off_when_existing_container_is_running PASSED [ 27%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_create_container_with_oom_kill_disable PASSED [ 27%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:40 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_pids_limit XPASS [ 27%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_create_container_with_read_only_root_fs PASSED [ 27%]

20:17:41 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:42 tests/integration/service_test.py::ServiceTest::test_create_container_with_security_opt PASSED [ 27%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_create_container_with_shm_size PASSED [ 27%]

20:17:43 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_specified_volume PASSED [ 27%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt xfail [ 27%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:17:44 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount PASSED [ 27%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:17:45 tests/integration/service_test.py::ServiceTest::test_create_container_with_tmpfs_mount_tmpfs_size PASSED [ 27%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_create_container_with_unspecified_volume PASSED [ 27%]

20:17:46 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_driver PASSED [ 28%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links <- tests/integration/testcases.py PASSED [ 33%]

20:17:47 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_create_container_with_volume_mount PASSED [ 28%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:17:48 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_create_container_with_volumes_from PASSED [ 28%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_create_with_image_id PASSED [ 28%]

20:17:49 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names <- tests/integration/testcases.py PASSED [ 33%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_custom_container_name PASSED [ 28%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:17:50 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_devices PASSED      [ 28%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:17:51 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_dns_list PASSED     [ 28%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:17:52 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_dns_no_value PASSED [ 28%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_dns_opt_value PASSED [ 28%]

20:17:53 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_dns_search PASSED   [ 28%]

20:17:54 tests/integration/service_test.py::ServiceTest::test_duplicate_containers PASSED [ 28%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:17:55 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:17:56 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:17:56 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:17:56 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:17:56 tests/integration/service_test.py::ServiceTest::test_duplicate_volume_trailing_slash PASSED [ 29%]

20:17:56 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links <- tests/integration/testcases.py PASSED [ 34%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_empty_labels PASSED [ 29%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links PASSED [ 33%]

20:17:57 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:17:58 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:17:58 tests/integration/service_test.py::ServiceTest::test_env_from_file_combined_with_env PASSED [ 29%]

20:17:59 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:17:59 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:17:59 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names PASSED [ 33%]

20:17:59 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links PASSED [ 33%]

20:17:59 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:18:00 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_recreate_then_renew PASSED [ 29%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names PASSED [ 33%]

20:18:01 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_anonymous_volume_renew PASSED [ 29%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links PASSED [ 33%]

20:18:02 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:18:03 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names PASSED [ 33%]

20:18:04 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:18:05 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:18:05 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:06 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:06 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:06 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:06 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:18:07 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:18:07 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:07 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links PASSED [ 34%]

20:18:07 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:18:07 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:18:08 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:18:08 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:08 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:08 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:18:08 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:18:08 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service PASSED [ 34%]

20:18:09 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links PASSED [ 34%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_image_with_volume_is_removed PASSED [ 29%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:18:09 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate PASSED [ 29%]

20:18:10 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service PASSED [ 34%]

20:18:10 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:11 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:18:11 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:11 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service PASSED [ 34%]

20:18:11 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:11 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_change_mount_target PASSED [ 29%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:18:12 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links PASSED [ 34%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service PASSED [ 34%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links PASSED [ 33%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:13 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice PASSED [ 29%]

20:18:14 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service PASSED [ 34%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names PASSED [ 33%]

20:18:15 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:18:15 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:15 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:16 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:16 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:16 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:16 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service PASSED [ 34%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_recreate_twice_with_mount PASSED [ 29%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:17 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:17 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_containers_are_stopped PASSED [ 29%]

20:18:18 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:18 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:18 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:18 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:18 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:18:18 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:18 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:18 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:18:18 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:19 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:19 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:19 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:20 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:20 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:20 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:20 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links <- tests/integration/testcases.py PASSED [ 33%]

20:18:20 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:21 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:21 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:21 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:21 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:22 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_host_volume_is_removed PASSED [ 29%]

20:18:22 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names <- tests/integration/testcases.py PASSED [ 33%]

20:18:22 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:22 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:22 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:22 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:18:23 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:23 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:18:23 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:23 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:23 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links PASSED [ 34%]

20:18:23 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:18:24 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:24 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:24 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:18:24 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:25 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:25 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:25 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:25 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service PASSED [ 34%]

20:18:25 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:26 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_when_image_volume_masks_config PASSED [ 30%]

20:18:26 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:18:27 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:27 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service PASSED [ 34%]

20:18:27 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:18:27 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:18:27 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:27 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:28 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:28 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:18:28 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:28 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:28 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:18:29 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:18:29 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:30 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:30 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume PASSED [ 30%]

20:18:30 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:18:30 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:31 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:31 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:31 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:31 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links <- tests/integration/testcases.py PASSED [ 34%]

20:18:31 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:31 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:18:32 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:32 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:18:32 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:32 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:33 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:18:33 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:33 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:34 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:18:34 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:34 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_with_image_declared_volume_renew PASSED [ 30%]

20:18:34 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:18:34 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:18:35 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:18:35 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:35 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:35 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:18:36 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:36 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:36 tests/integration/service_test.py::ServiceTest::test_execute_convergence_plan_without_start PASSED [ 30%]

20:18:36 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:18:36 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:37 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:37 tests/integration/service_test.py::ServiceTest::test_expose_does_not_publish_ports PASSED [ 30%]

20:18:37 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:37 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:18:38 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_group_add_value PASSED [ 30%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:18:38 tests/integration/service_test.py::ServiceTest::test_labels PASSED       [ 30%]

20:18:39 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:39 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:18:39 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:39 tests/integration/service_test.py::ServiceTest::test_log_drive_empty_default_jsonfile PASSED [ 30%]

20:18:39 tests/integration/service_test.py::ServiceTest::test_log_drive_invalid SKIPPED [ 30%]

20:18:39 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:18:40 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:18:40 tests/integration/service_test.py::ServiceTest::test_log_drive_none PASSED [ 30%]

20:18:40 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:18:40 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:18:40 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:18:41 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:18:41 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links <- tests/integration/testcases.py PASSED [ 33%]

20:18:41 tests/integration/service_test.py::ServiceTest::test_mem_reservation PASSED [ 30%]

20:18:42 tests/integration/service_test.py::ServiceTest::test_mem_swappiness PASSED [ 31%]

20:18:42 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:18:43 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names <- tests/integration/testcases.py PASSED [ 33%]

20:18:43 tests/integration/service_test.py::ServiceTest::test_network_mode_bridged PASSED [ 31%]

20:18:43 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:43 tests/integration/service_test.py::ServiceTest::test_network_mode_host PASSED [ 31%]

20:18:43 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:18:43 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:18:43 tests/integration/service_test.py::ServiceTest::test_network_mode_none PASSED [ 31%]

20:18:44 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:18:44 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:18:44 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:18:44 tests/integration/service_test.py::ServiceTest::test_oom_score_adj_value PASSED [ 31%]

20:18:45 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:18:45 tests/integration/service_test.py::ServiceTest::test_pid_mode_host PASSED [ 31%]

20:18:45 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:18:45 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:18:46 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:18:46 tests/integration/service_test.py::ServiceTest::test_pid_mode_none_defined PASSED [ 31%]

20:18:46 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:18:46 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:47 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:18:47 tests/integration/service_test.py::ServiceTest::test_port_with_explicit_interface PASSED [ 31%]

20:18:47 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:18:48 tests/integration/service_test.py::ServiceTest::test_project_is_added_to_container_name PASSED [ 31%]

20:18:48 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:18:48 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:18:48 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:18:49 tests/integration/service_test.py::ServiceTest::test_recreate_preserves_volume_with_trailing_slash PASSED [ 31%]

20:18:49 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:18:50 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:18:50 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:18:52 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links <- tests/integration/testcases.py PASSED [ 34%]

20:18:52 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:18:53 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:53 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:18:53 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:18:53 tests/integration/service_test.py::ServiceTest::test_recreate_volume_to_mount PASSED [ 31%]

20:18:54 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:18:54 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:18:54 tests/integration/service_test.py::ServiceTest::test_resolve_env PASSED  [ 31%]

20:18:55 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:18:55 tests/integration/service_test.py::ServiceTest::test_restart_always_value PASSED [ 32%]

20:18:56 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:18:56 tests/integration/service_test.py::ServiceTest::test_restart_on_failure_value PASSED [ 32%]

20:18:56 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:18:56 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:18:56 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:18:56 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:18:57 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:18:58 tests/integration/service_test.py::ServiceTest::test_scale PASSED        [ 32%]

20:18:58 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:18:58 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:18:58 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:18:58 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:18:58 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:18:59 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:18:59 tests/integration/service_test.py::ServiceTest::test_scale_sets_ports PASSED [ 32%]

20:18:59 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:18:59 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:19:00 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:19:00 tests/integration/service_test.py::ServiceTest::test_scale_with_api_error PASSED [ 32%]

20:19:01 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:19:01 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:19:01 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:19:01 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:19:01 tests/integration/service_test.py::ServiceTest::test_scale_with_custom_container_name_outputs_warning PASSED [ 32%]

20:19:02 tests/integration/service_test.py::ServiceTest::test_scale_with_desired_number_already_achieved PASSED [ 32%]

20:19:02 tests/integration/service_test.py::ServiceTest::test_scale_with_immediate_exit PASSED [ 32%]

20:19:03 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:19:03 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:19:03 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:03 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:19:04 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers PASSED [ 32%]

20:19:04 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:19:04 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:19:04 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:19:05 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:06 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:06 tests/integration/service_test.py::ServiceTest::test_scale_with_stopped_containers_and_needing_creation PASSED [ 32%]

20:19:06 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:06 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:19:06 tests/integration/service_test.py::ServiceTest::test_scale_with_unexpected_exception PASSED [ 32%]

20:19:07 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:07 tests/integration/service_test.py::ServiceTest::test_split_env PASSED    [ 33%]

20:19:08 tests/integration/service_test.py::ServiceTest::test_start_container_becomes_privileged PASSED [ 33%]

20:19:09 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:10 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:19:10 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:10 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:19:10 tests/integration/service_test.py::ServiceTest::test_start_container_builds_images PASSED [ 33%]

20:19:11 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:11 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports PASSED [ 33%]

20:19:11 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:19:12 tests/integration/service_test.py::ServiceTest::test_start_container_creates_fixed_external_ports_when_it_is_different_to_internal_port PASSED [ 33%]

20:19:12 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:14 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:19:15 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:15 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links <- tests/integration/testcases.py PASSED [ 33%]

20:19:15 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:16 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:19:16 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:19:17 tests/integration/service_test.py::ServiceTest::test_start_container_creates_links_with_names <- tests/integration/testcases.py PASSED [ 33%]

20:19:18 tests/integration/service_test.py::ServiceTest::test_start_container_creates_port_with_explicit_protocol PASSED [ 33%]

20:19:18 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:19:18 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:19 tests/integration/service_test.py::ServiceTest::test_start_container_creates_ports PASSED [ 33%]

20:19:19 tests/integration/service_test.py::ServiceTest::test_start_container_inherits_options_from_constructor PASSED [ 33%]

20:19:19 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:19 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:19:20 tests/integration/service_test.py::ServiceTest::test_start_container_passes_through_options PASSED [ 33%]

20:19:21 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:21 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:21 tests/integration/service_test.py::ServiceTest::test_start_container_stays_unprivileged PASSED [ 33%]

20:19:22 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:23 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:23 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:19:23 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:24 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:19:24 tests/integration/service_test.py::ServiceTest::test_start_container_uses_tagged_image_if_it_exists PASSED [ 34%]

20:19:25 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:19:26 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:27 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:19:27 tests/integration/service_test.py::ServiceTest::test_start_container_with_external_links <- tests/integration/testcases.py PASSED [ 34%]

20:19:28 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:29 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:29 tests/integration/service_test.py::ServiceTest::test_start_normal_container_does_not_create_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:19:30 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:31 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:31 tests/integration/service_test.py::ServiceTest::test_start_one_off_container_creates_links_to_its_own_service <- tests/integration/testcases.py PASSED [ 34%]

20:19:32 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:19:32 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:32 tests/integration/service_test.py::ServiceTest::test_stop_signal PASSED  [ 34%]

20:19:33 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:33 tests/integration/service_test.py::ServiceTest::test_tmpfs PASSED        [ 34%]

20:19:34 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:34 tests/integration/service_test.py::ServiceTest::test_up_build_cli PASSED [ 34%]

20:19:35 tests/integration/service_test.py::ServiceTest::test_userns_mode_host PASSED [ 34%]

20:19:35 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:19:35 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:19:35 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:36 tests/integration/service_test.py::ServiceTest::test_userns_mode_none_defined PASSED [ 34%]

20:19:36 tests/integration/service_test.py::ServiceTest::test_with_high_enough_api_version_we_get_default_network_mode PASSED [ 34%]

20:19:36 tests/integration/service_test.py::ServiceTest::test_working_dir_param PASSED [ 34%]

20:19:36 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:37 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:37 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:19:38 tests/integration/service_test.py::ConfigHashTest::test_config_hash_sticks_around PASSED [ 35%]

20:19:38 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:38 tests/integration/service_test.py::ConfigHashTest::test_config_hash_with_custom_labels PASSED [ 35%]

20:19:38 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_one_off PASSED [ 35%]

20:19:38 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:19:38 tests/integration/service_test.py::ConfigHashTest::test_no_config_hash_when_overriding_options PASSED [ 35%]

20:19:41 tests/integration/state_test.py::BasicProjectTest::test_all_change PASSED [ 35%]

20:19:42 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:42 tests/integration/state_test.py::BasicProjectTest::test_no_change PASSED [ 35%]

20:19:42 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:19:42 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:19:43 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:19:44 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:19:44 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:19:44 tests/integration/state_test.py::BasicProjectTest::test_partial_change PASSED [ 35%]

20:19:46 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:19:46 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:19:47 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:19:48 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:19:49 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_leaf PASSED [ 35%]

20:19:50 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:19:51 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:19:51 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:19:51 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:19:51 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:19:51 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:19:52 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:19:52 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:53 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build <- tests/integration/testcases.py PASSED [ 37%]

20:19:53 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:19:54 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle PASSED [ 35%]

20:19:54 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:19:54 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:19:54 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:19:55 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:19:55 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_exists <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_exists_external <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_external_volume <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_inspect_volume <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_remove_volume <- tests/integration/testcases.py PASSED [ 38%]

20:19:55 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels <- tests/integration/testcases.py PASSED [ 38%]

20:19:56 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:19:56 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:19:56 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:19:56 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:19:56 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:19:57 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:19:57 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:19:57 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:19:57 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:19:57 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:19:57 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:19:57 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:19:57 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:19:57 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:19:57 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:19:57 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:19:57 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:19:57 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:19:57 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:19:57 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:19:58 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:19:58 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:19:58 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:19:58 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:19:58 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:19:58 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:19:58 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:19:58 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:19:58 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:19:58 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:19:58 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:19:58 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:19:58 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:19:58 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:19:58 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:19:58 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:19:58 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:19:58 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:19:58 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:19:59 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:19:59 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:19:59 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:19:59 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:19:59 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:19:59 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:19:59 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:00 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:00 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:20:00 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:20:00 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 35%]

20:20:00 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:01 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build PASSED [ 37%]

20:20:01 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:01 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:01 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:20:01 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:01 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:01 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:20:02 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:02 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:02 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:02 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:02 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:02 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:02 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:20:02 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:20:03 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:03 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:03 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:20:03 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:03 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:20:03 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_exists PASSED         [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_exists_external PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_external_volume PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_inspect_volume PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_remove_volume PASSED  [ 38%]

20:20:03 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels PASSED [ 38%]

20:20:03 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:03 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:04 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:04 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:04 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:04 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:04 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:04 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:04 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:04 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:05 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:05 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:05 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:05 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:05 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:05 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:05 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:05 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:05 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:05 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:05 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:05 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:20:05 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:20:05 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root PASSED [ 35%]

20:20:05 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:05 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build PASSED [ 37%]

20:20:05 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:05 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:05 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:20:05 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:20:05 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:20:05 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:20:05 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:20:05 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:20:05 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:20:05 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:20:05 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:20:05 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:20:05 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:20:05 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:20:05 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:20:05 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:20:05 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:20:05 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:20:06 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:06 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:06 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:20:06 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:20:06 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:06 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:06 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:07 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:20:07 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:20:07 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:20:07 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:07 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:20:07 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:07 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:07 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_exists PASSED         [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_exists_external PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_external_volume PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_inspect_volume PASSED [ 38%]

20:20:07 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:07 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_remove_volume PASSED  [ 38%]

20:20:07 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels PASSED [ 38%]

20:20:07 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:07 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:08 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:08 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:08 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:08 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:08 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:08 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:08 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:08 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:08 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:09 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:09 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build PASSED [ 37%]

20:20:09 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:09 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:09 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:09 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:09 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:09 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:09 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:09 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:09 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:09 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:09 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:09 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:20:09 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:09 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:09 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:09 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:09 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:09 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:09 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:20:09 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:09 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:20:09 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:20:09 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:20:09 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:20:09 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:20:09 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:20:09 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:20:09 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:20:09 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:20:09 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:20:09 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:20:09 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:20:09 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:20:09 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:10 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:10 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:10 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:10 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:20:10 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:10 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:10 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:10 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:11 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_exists PASSED         [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_exists_external PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_external_volume PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_inspect_volume PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_remove_volume PASSED  [ 38%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:11 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels PASSED [ 38%]

20:20:11 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:11 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:11 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:11 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:12 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:12 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:12 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:12 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:12 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:12 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:12 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:12 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:12 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:12 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:12 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:12 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:12 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:12 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:12 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:12 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:12 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:12 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:12 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:12 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:20:12 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:13 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:13 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_always_recreate_deps PASSED [ 35%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:13 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:20:13 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:20:13 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:20:13 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:20:13 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:20:13 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:20:13 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:20:13 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:20:13 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:20:13 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:20:13 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:20:13 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:20:13 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:20:13 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:13 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:20:13 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:14 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:14 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:15 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:15 tests/integration/state_test.py::ProjectWithDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:15 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:20:15 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:16 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:16 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:17 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:17 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:17 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:17 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:17 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:17 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:18 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:18 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:19 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:19 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:19 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:20 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:20:20 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:21 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_recreated_when_dependency_created PASSED [ 36%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:20:21 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:20:21 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:21 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:22 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:22 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:23 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:20:24 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:20:24 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:20:24 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:20:24 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:20:25 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:25 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:25 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:20:25 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:20:25 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:20:25 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:20:25 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:20:26 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:26 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:26 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:20:26 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:26 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:20:26 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:20:26 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:20:26 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:20:26 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:20:26 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:20:26 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:26 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:27 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:20:27 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:27 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build PASSED [ 37%]

20:20:27 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:27 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:20:27 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:27 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:20:27 tests/integration/state_test.py::ProjectWithDependenciesTest::test_service_removed_while_down PASSED [ 36%]

20:20:27 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:27 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:20:27 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:20:27 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:20:28 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:20:28 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:20:28 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:20:28 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:20:28 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:20:28 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:20:29 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:20:29 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:20:29 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:20:29 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:20:29 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:20:29 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:20:29 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:20:29 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:20:29 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:20:29 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:20:29 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:20:29 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:20:29 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:20:29 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:20:29 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:20:29 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:20:29 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:20:29 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:20:29 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:20:29 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:20:29 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:20:29 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env SKIPPED [ 59%]

20:20:29 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:20:29 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:20:29 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:20:29 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:20:29 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:20:29 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:20:29 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:20:29 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:20:29 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:20:29 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:20:29 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_exists PASSED         [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_exists_external PASSED [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased PASSED [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume PASSED [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_external_volume PASSED [ 38%]

20:20:29 tests/integration/volume_test.py::VolumeTest::test_inspect_volume PASSED [ 38%]

20:20:29 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:20:29 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:20:29 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:20:29 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:20:29 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:20:29 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:20:29 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:20:29 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:20:29 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:20:30 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:30 tests/integration/volume_test.py::VolumeTest::test_remove_volume PASSED  [ 38%]

20:20:30 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels PASSED [ 38%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:20:30 tests/integration/state_test.py::ProjectWithDependenciesTest::test_up PASSED [ 36%]

20:20:30 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:20:30 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:20:30 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:20:30 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:20:30 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:20:30 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:20:30 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:20:30 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:20:30 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:20:30 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:20:30 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:20:30 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:20:30 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:20:30 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:20:30 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:20:30 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:20:30 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:20:30 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:20:30 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:20:30 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:20:30 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:30 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:20:30 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:20:30 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:20:31 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:20:31 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:20:31 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:20:31 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:20:31 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:20:31 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:20:31 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:20:31 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:20:31 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:20:31 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:20:31 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:20:31 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:20:31 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:20:31 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:20:31 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:20:31 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:20:31 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:31 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:31 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:31 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:31 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:31 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:31 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:31 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:31 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:31 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:31 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:31 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:20:31 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:20:31 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:20:31 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:20:31 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:20:31 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:20:31 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:20:31 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:20:31 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:20:31 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:20:31 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:20:31 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:20:31 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:20:31 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:20:31 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:20:31 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:20:31 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env PASSED [ 59%]

20:20:31 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:20:31 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:20:31 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:20:31 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:20:31 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:20:31 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:31 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:20:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:20:31 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:20:31 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:20:31 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:20:31 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:20:31 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:20:31 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:20:31 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:20:31 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:20:31 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:20:31 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:20:31 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:20:31 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:20:31 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:20:31 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:20:32 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:20:32 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:20:32 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:20:32 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:20:32 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:20:32 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:20:32 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:20:32 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:20:32 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:20:32 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:20:32 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:20:32 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:20:32 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:20:32 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:20:32 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:20:32 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:20:32 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:20:32 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build <- tests/integration/testcases.py PASSED [ 37%]

20:20:32 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:32 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:20:32 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:20:32 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:20:32 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:20:32 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:20:32 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:20:32 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:20:32 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:20:32 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:20:32 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:20:32 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:20:32 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:20:32 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:20:32 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:20:32 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:20:32 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:20:32 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:20:32 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:20:32 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:20:32 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:20:32 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:20:32 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:20:32 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:20:32 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:20:32 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:20:32 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:20:32 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:20:32 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:20:32 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:20:32 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:20:32 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:20:32 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:20:32 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:20:32 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:20:32 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:20:32 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:20:32 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:20:32 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:20:32 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:20:32 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env SKIPPED [ 59%]

20:20:32 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:20:32 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:20:32 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:33 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:20:33 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:20:33 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:20:33 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:20:33 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:20:33 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:20:33 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:20:33 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:20:33 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:20:33 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:20:33 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:20:33 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:20:33 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:33 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:20:33 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:20:33 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:20:33 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:33 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:20:33 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:20:33 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:20:33 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:20:33 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:20:33 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:20:33 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:20:33 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:20:33 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:20:33 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:20:33 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:20:33 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:20:33 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:20:33 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:20:33 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:20:33 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:20:33 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:33 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:20:33 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:20:34 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:20:34 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:20:34 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:20:34 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_exists <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_exists_external <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_external_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:20:34 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:20:34 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:20:34 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:20:34 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:20:34 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:20:34 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:20:34 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:20:34 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:20:34 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:20:34 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:20:34 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:20:34 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:20:34 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:20:34 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_inspect_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_remove_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels <- tests/integration/testcases.py PASSED [ 38%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:34 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:34 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:20:35 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:20:35 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:20:35 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:20:35 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:20:35 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:35 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:35 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:20:35 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:20:35 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:20:35 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:20:35 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:20:35 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:20:35 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:20:35 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:20:35 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:20:35 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:20:35 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:20:35 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:20:35 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:35 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:35 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:20:35 

20:20:35 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

20:20:35 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:20:35 -----------------------------------------------------------------------------

20:20:35 compose/__init__.py                   3      0      0      0   100%

20:20:35 compose/__main__.py                   4      4      0      0     0%   1-6

20:20:35 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:20:35 compose/cli/__init__.py               0      0      0      0   100%

20:20:35 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:20:35 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:20:35 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:20:35 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:20:35 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:20:35 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

20:20:35 compose/cli/log_printer.py          149     10     54      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:20:35 compose/cli/main.py                 694     91    303     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:20:35 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:20:35 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:20:35 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:20:35 compose/config/__init__.py           13      0      0      0   100%

20:20:35 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:20:35 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

20:20:35 compose/config/errors.py             25      2      2      0    85%   36-40

20:20:35 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

20:20:35 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

20:20:35 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

20:20:35 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:20:35 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:20:35 compose/const.py                     39      0      0      0   100%

20:20:35 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:20:35 compose/errors.py                    17      1      0      0    94%   12

20:20:35 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:20:35 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

20:20:35 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:20:35 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:20:35 compose/service.py                  921     60    457     32    92%   65, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1663, 1704, 1716, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->65, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1662->1663, 1703->1704, 1715->1716, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:20:35 compose/state.py                      0      0      0      0   100%

20:20:35 compose/timeparse.py                 22      0      4      0   100%

20:20:35 compose/utils.py                    117      7     42      5    92%   27, 75-79, 125, 135, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

20:20:35 compose/version.py                    6      0      0      0   100%

20:20:35 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

20:20:35 -----------------------------------------------------------------------------

20:20:35 TOTAL                              5642    443   2433    211    90%

20:20:35 Coverage HTML written to dir coverage-html

20:20:35 

20:20:35 =========================== short test summary info ============================

20:20:35 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:20:35   not supported by kernel

20:20:35 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:20:35   Not supported on most drivers

20:20:35 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:20:35 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:20:35 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:20:35 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:20:35 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:20:35 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:20:35 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:20:35 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

20:20:35 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:20:35 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:20:35 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:20:35 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:20:35 

20:20:35 ======= 1131 passed, 12 skipped, 2 xfailed, 3 xpassed in 848.43 seconds ========

20:20:35 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:20:35 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:20:35 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:35 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:35 ___________________________________ summary ____________________________________

20:20:35   py37: commands succeeded

20:20:35   congratulations :)

20:20:35 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:20:35 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:35 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:35 + on_exit
20:20:35 + [[ 0 != \0 ]]
20:20:35 + docker rm -vf compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:20:35 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:20:35 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:20:35 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:20:35 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:20:35 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:20:35 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:20:35 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:20:35 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:20:35 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:20:35 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:20:35 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:20:35 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:20:35 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:20:35 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:20:35 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:20:35 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:20:35 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:36 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:20:36 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:20:36 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:20:36 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:20:36 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:20:36 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:20:36 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:20:36 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:36 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:20:36 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env SKIPPED [ 59%]

20:20:36 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:20:36 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:20:36 compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:20:36 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_leaf PASSED [ 36%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:20:36 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:20:36 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:20:36 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:20:36 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:20:36 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:36 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:37 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:20:37 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:20:37 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:37 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:37 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:37 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:37 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:37 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:37 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:37 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:37 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:37 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:37 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:37 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:20:37 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:37 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:20:37 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:20:37 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:20:37 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:20:37 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:20:37 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:20:37 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:20:37 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:20:37 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:20:37 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:20:37 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:20:37 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:37 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:37 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:20:37 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:37 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:37 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:20:37 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:37 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:20:38 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:20:38 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:20:38 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:20:38 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:20:38 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:20:38 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:20:38 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:20:38 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:20:38 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:20:38 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:20:38 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:20:38 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:20:38 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:20:38 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:20:38 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:20:38 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:20:38 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:20:38 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:20:38 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:20:38 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:20:38 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:20:38 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:20:38 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:38 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:20:38 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:20:38 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:20:38 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:20:38 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:20:38 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:20:38 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:20:38 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:20:38 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:20:38 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:20:38 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:20:38 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:20:38 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:20:38 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:20:38 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:20:38 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:20:38 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:20:38 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:20:38 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:20:38 

20:20:38 ---------- coverage: platform linux2, python 2.7.13-final-0 ----------

20:20:38 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:20:38 -----------------------------------------------------------------------------

20:20:38 compose/__init__.py                   3      0      0      0   100%

20:20:38 compose/__main__.py                   4      4      0      0     0%   1-6

20:20:38 compose/bundle.py                   144     21     60      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:20:38 compose/cli/__init__.py               0      0      0      0   100%

20:20:38 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:20:38 compose/cli/command.py               97     13     26      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:20:38 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:20:38 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:20:38 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:20:38 compose/cli/formatter.py             37      3      8      1    91%   13, 22-23, 12->13

20:20:38 compose/cli/log_printer.py          149     10     52      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:20:38 compose/cli/main.py                 694     91    288     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:20:38 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:20:38 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:20:38 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:20:38 compose/config/__init__.py           13      0      0      0   100%

20:20:38 compose/config/config.py            826     29    388     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:20:38 compose/config/environment.py        96      7     34      4    92%   41, 98-101, 114, 121, 40->41, 97->98, 113->114, 120->121

20:20:38 compose/config/errors.py             25      2      0      0    92%   36-40

20:20:38 compose/config/interpolation.py     148      7     62      4    94%   66, 148, 196, 222, 227-229, 121->exit, 146->148, 195->196, 221->222

20:20:38 compose/config/serialize.py          97      1     50      2    98%   76, 75->76, 82->85

20:20:38 compose/config/sort_services.py      44      1     18      1    97%   57, 56->57

20:20:38 compose/config/types.py             291     22    112     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:20:38 compose/config/validation.py        254     14    140     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:20:38 compose/const.py                     39      0      0      0   100%

20:20:38 compose/container.py                193      8     48      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:20:38 compose/errors.py                    17      1      0      0    94%   12

20:20:38 compose/network.py                  190     19     92      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:20:38 compose/parallel.py                 199      2     56      1    99%   187, 326, 325->326

20:20:38 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:20:38 compose/project.py                  436     31    180     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:20:38 compose/service.py                  921     58    404     30    92%   67, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1704, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->67, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1703->1704, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:20:38 compose/state.py                      0      0      0      0   100%

20:20:38 compose/timeparse.py                 22      0      4      0   100%

20:20:38 compose/utils.py                    117      8     42      5    92%   26, 75-79, 125, 135, 161, 168, 171, 25->26, 124->125, 134->135, 167->168, 169->171

20:20:38 compose/version.py                    6      0      0      0   100%

20:20:38 compose/volume.py                   126      4     44      4    94%   150, 200, 211-212, 141->150, 199->200, 201->198, 209->211

20:20:38 -----------------------------------------------------------------------------

20:20:38 TOTAL                              5642    441   2256    209    90%

20:20:38 Coverage HTML written to dir coverage-html

20:20:38 

20:20:38 =========================== short test summary info ============================

20:20:38 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:20:38   not supported by kernel

20:20:38 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:20:38   Not supported on most drivers

20:20:38 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:20:38 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:20:38 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:20:38 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:20:38 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:20:38 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:20:38 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:20:38 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:20:38 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:20:38 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:20:38 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:20:38 

20:20:38 ======= 1132 passed, 11 skipped, 2 xfailed, 3 xpassed in 859.10 seconds ========

20:20:38 ___________________________________ summary ____________________________________

20:20:38   py27: commands succeeded

20:20:38   congratulations :)

20:20:39 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:39 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:39 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:20:39 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:20:39 + on_exit
20:20:39 + [[ 0 != \0 ]]
20:20:39 + docker rm -vf compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:20:39 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:39 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:20:39 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:20:39 

20:20:39 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

20:20:39 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:20:39 -----------------------------------------------------------------------------

20:20:39 compose/__init__.py                   3      0      0      0   100%

20:20:39 compose/__main__.py                   4      4      0      0     0%   1-6

20:20:39 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:20:39 compose/cli/__init__.py               0      0      0      0   100%

20:20:39 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:20:39 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:20:39 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:20:39 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:20:39 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:20:39 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

20:20:39 compose/cli/log_printer.py          149     10     54      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:20:39 compose/cli/main.py                 694     91    303     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:20:39 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:20:39 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:20:39 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:20:39 compose/config/__init__.py           13      0      0      0   100%

20:20:39 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:20:39 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

20:20:39 compose/config/errors.py             25      2      2      0    85%   36-40

20:20:39 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

20:20:39 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

20:20:39 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

20:20:39 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:20:39 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:20:39 compose/const.py                     39      0      0      0   100%

20:20:39 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:20:39 compose/errors.py                    17      1      0      0    94%   12

20:20:39 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:20:39 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

20:20:39 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:20:39 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:20:39 compose/service.py                  921     60    457     32    92%   65, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1663, 1704, 1716, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->65, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1662->1663, 1703->1704, 1715->1716, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:20:39 compose/state.py                      0      0      0      0   100%

20:20:39 compose/timeparse.py                 22      0      4      0   100%

20:20:39 compose/utils.py                    117      7     42      5    92%   27, 75-79, 125, 135, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

20:20:39 compose/version.py                    6      0      0      0   100%

20:20:39 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

20:20:39 -----------------------------------------------------------------------------

20:20:39 TOTAL                              5642    443   2433    211    90%

20:20:39 Coverage HTML written to dir coverage-html

20:20:39 

20:20:39 =========================== short test summary info ============================

20:20:39 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:20:39   not supported by kernel

20:20:39 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:20:39   Not supported on most drivers

20:20:39 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:20:39 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:20:39 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:20:39 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:20:39 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:20:39 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:20:39 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:20:39 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

20:20:39 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:20:39 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:20:39 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:20:39 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:20:39 

20:20:39 ======= 1131 passed, 12 skipped, 2 xfailed, 3 xpassed in 851.48 seconds ========

20:20:39 ___________________________________ summary ____________________________________

20:20:39   py37: commands succeeded

20:20:39   congratulations :)

20:20:39 + on_exit
20:20:39 + [[ 0 != \0 ]]
20:20:39 + docker rm -vf compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:20:39 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:39 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:20:39 compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:20:39 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:39 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:39 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:20:40 compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:20:40 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:40 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:20:40 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:40 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:20:40 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:40 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:40 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:20:40 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:40 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:41 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:20:41 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:41 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:20:41 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle PASSED [ 36%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:41 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:42 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:42 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:20:42 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:20:42 

20:20:42 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

20:20:42 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:20:42 -----------------------------------------------------------------------------

20:20:42 compose/__init__.py                   3      0      0      0   100%

20:20:42 compose/__main__.py                   4      4      0      0     0%   1-6

20:20:42 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:20:42 compose/cli/__init__.py               0      0      0      0   100%

20:20:42 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:20:42 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:20:42 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:20:42 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:20:42 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:20:42 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

20:20:42 compose/cli/log_printer.py          149     10     54      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:20:42 compose/cli/main.py                 694     91    303     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:20:42 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:20:42 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:20:42 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:20:42 compose/config/__init__.py           13      0      0      0   100%

20:20:42 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:20:42 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

20:20:42 compose/config/errors.py             25      2      2      0    85%   36-40

20:20:42 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

20:20:42 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

20:20:42 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

20:20:42 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:20:42 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:20:42 compose/const.py                     39      0      0      0   100%

20:20:42 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:20:42 compose/errors.py                    17      1      0      0    94%   12

20:20:42 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:20:42 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

20:20:42 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:20:42 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:20:42 compose/service.py                  921     60    457     32    92%   65, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1663, 1704, 1716, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->65, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1662->1663, 1703->1704, 1715->1716, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:20:42 compose/state.py                      0      0      0      0   100%

20:20:42 compose/timeparse.py                 22      0      4      0   100%

20:20:42 compose/utils.py                    117      7     42      5    92%   27, 75-79, 125, 135, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

20:20:42 compose/version.py                    6      0      0      0   100%

20:20:42 compose/volume.py                   126      4     44      4    94%   150, 200, 211-212, 141->150, 199->200, 201->198, 209->211

20:20:42 -----------------------------------------------------------------------------

20:20:42 TOTAL                              5642    443   2433    212    90%

20:20:42 Coverage HTML written to dir coverage-html

20:20:42 

20:20:42 =========================== short test summary info ============================

20:20:42 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:20:42   not supported by kernel

20:20:42 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:20:42   Not supported on most drivers

20:20:42 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:20:42 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:20:42 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:20:42 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:20:42 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:20:42 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:20:42 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:20:42 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

20:20:42 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:20:42 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:20:42 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:20:42 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:20:42 

20:20:42 ======= 1131 passed, 12 skipped, 2 xfailed, 3 xpassed in 855.49 seconds ========

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:42 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:20:42 ___________________________________ summary ____________________________________

20:20:42   py37: commands succeeded

20:20:42   congratulations :)

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:42 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:42 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:43 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:20:43 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:20:43 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:43 + on_exit
20:20:43 + [[ 0 != \0 ]]
20:20:43 + docker rm -vf compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:20:43 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:20:43 compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:20:43 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:20:43 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:43 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:20:44 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:44 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:44 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:20:44 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:44 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:20:45 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:45 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:20:45 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:45 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:45 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:45 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:20:45 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:20:45 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:45 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:46 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:46 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:20:47 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:20:47 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:20:48 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:20:49 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:20:49 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_middle_always_recreate_deps PASSED [ 36%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:20:50 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:20:50 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:20:51 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:20:51 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:20:51 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:20:51 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:20:51 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:20:51 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:20:51 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:20:52 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:20:52 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:20:52 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:20:52 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:20:52 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:20:52 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:20:52 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:20:52 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:20:52 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:20:52 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:20:52 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:20:53 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:20:53 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:20:53 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:20:54 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:20:54 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:20:54 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:20:54 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:20:54 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build <- tests/integration/testcases.py PASSED [ 37%]

20:20:54 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:20:54 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:20:54 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:20:54 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:20:54 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:20:54 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:20:54 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:20:54 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:20:54 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:20:54 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:20:54 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:20:54 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:20:54 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:20:54 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:20:54 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:20:54 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:20:54 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:20:54 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:20:54 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:20:55 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:20:55 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:20:55 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:20:55 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:20:55 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:20:55 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:20:55 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env SKIPPED [ 59%]

20:20:55 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:20:55 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:20:55 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:20:55 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:20:55 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:20:55 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:20:55 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:20:55 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:20:55 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:20:55 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:20:56 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:20:56 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:20:56 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:20:56 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:20:56 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:20:56 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:20:56 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:20:56 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:20:56 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:20:56 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:20:56 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:20:56 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:20:56 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:20:56 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:20:56 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:20:56 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root PASSED [ 36%]

20:20:56 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_exists <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_exists_external <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_external_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_inspect_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_remove_volume <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels <- tests/integration/testcases.py PASSED [ 38%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:20:56 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:20:56 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:20:57 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:20:57 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:20:57 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:20:57 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:20:57 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:20:57 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:20:57 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:20:57 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:20:57 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:20:57 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:20:57 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:20:57 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:20:57 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:20:57 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:20:57 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:20:57 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:20:57 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:20:57 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:20:57 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:20:57 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:20:57 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:20:57 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:20:57 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:20:57 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:20:57 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:20:57 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:20:58 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:20:58 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:20:58 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:20:58 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:20:58 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:20:58 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:20:58 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

20:20:59 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:20:59 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:20:59 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:20:59 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:20:59 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:20:59 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:20:59 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:20:59 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:20:59 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:20:59 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:20:59 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:20:59 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:20:59 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:20:59 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:20:59 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:20:59 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:20:59 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:20:59 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:21:00 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:21:00 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:21:00 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:21:00 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:21:00 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:21:00 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:21:00 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:21:00 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:21:00 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:21:00 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:21:00 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:21:00 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:21:00 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:21:00 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:21:00 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:21:00 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:21:00 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:21:01 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:21:01 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:21:01 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:21:01 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:21:01 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:21:01 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:21:01 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:21:01 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:21:02 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:21:02 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:21:02 

20:21:02 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

20:21:02 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:21:02 -----------------------------------------------------------------------------

20:21:02 compose/__init__.py                   3      0      0      0   100%

20:21:02 compose/__main__.py                   4      4      0      0     0%   1-6

20:21:02 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:21:02 compose/cli/__init__.py               0      0      0      0   100%

20:21:02 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:21:02 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:21:02 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:21:02 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:21:02 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:21:02 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

20:21:02 compose/cli/log_printer.py          149     10     54      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:21:02 compose/cli/main.py                 694     91    303     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:21:02 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:21:02 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:21:02 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:21:02 compose/config/__init__.py           13      0      0      0   100%

20:21:02 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:21:02 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

20:21:02 compose/config/errors.py             25      2      2      0    85%   36-40

20:21:02 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

20:21:02 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

20:21:02 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

20:21:02 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:21:02 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:21:02 compose/const.py                     39      0      0      0   100%

20:21:02 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:21:02 compose/errors.py                    17      1      0      0    94%   12

20:21:02 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:21:02 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

20:21:02 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:21:02 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:21:02 compose/service.py                  921     60    457     32    92%   65, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1663, 1704, 1716, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->65, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1662->1663, 1703->1704, 1715->1716, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:21:02 compose/state.py                      0      0      0      0   100%

20:21:02 compose/timeparse.py                 22      0      4      0   100%

20:21:02 compose/utils.py                    117      8     42      5    92%   27, 75-79, 125, 135, 161, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

20:21:02 compose/version.py                    6      0      0      0   100%

20:21:02 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

20:21:02 -----------------------------------------------------------------------------

20:21:02 TOTAL                              5642    444   2433    211    90%

20:21:02 Coverage HTML written to dir coverage-html

20:21:02 

20:21:02 =========================== short test summary info ============================

20:21:02 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:21:02   not supported by kernel

20:21:02 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:21:02   Not supported on most drivers

20:21:02 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:21:02 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:21:02 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:21:02 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:21:02 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:21:02 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:21:02 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:21:02 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

20:21:02 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:21:02 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:21:02 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:21:02 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:21:02 

20:21:02 ======= 1131 passed, 12 skipped, 2 xfailed, 3 xpassed in 874.30 seconds ========

20:21:02 ___________________________________ summary ____________________________________

20:21:02   py37: commands succeeded

20:21:02   congratulations :)

20:21:02 + on_exit
20:21:02 + [[ 0 != \0 ]]
20:21:02 + docker rm -vf compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:21:02 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:21:02 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:21:02 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:21:02 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:21:02 compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:21:02 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:21:02 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:21:03 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:21:03 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:21:03 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:21:03 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:21:03 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:21:03 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:21:03 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:21:03 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:21:04 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:21:04 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:21:04 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:21:04 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:21:04 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:21:05 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:21:05 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:21:05 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:21:05 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:21:05 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:21:05 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:21:05 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:21:05 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:21:06 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:21:06 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:21:06 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:21:06 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_always_recreate_deps PASSED [ 36%]

20:21:06 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:21:06 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:21:06 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:21:06 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:21:06 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:21:06 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:21:06 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:21:07 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:21:07 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:21:07 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:21:07 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:21:07 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:21:07 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:21:07 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:21:07 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:21:08 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:21:08 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:21:08 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:21:08 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:21:08 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:21:08 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:21:08 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:21:09 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:21:09 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:21:09 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:21:09 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:21:09 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:21:09 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_change_root_no_recreate PASSED [ 36%]

20:21:09 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:21:09 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:21:09 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:21:10 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:21:10 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:21:10 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:21:10 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:21:10 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:21:10 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:21:11 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:21:11 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:21:11 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:21:11 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:21:11 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:21:11 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:21:11 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:21:11 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:21:11 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:21:11 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:21:11 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:21:11 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:21:11 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:21:11 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:21:11 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:21:11 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:21:11 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:21:11 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:21:11 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:21:11 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:21:11 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:21:11 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:21:11 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env PASSED [ 59%]

20:21:12 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:21:12 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:21:12 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:21:12 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:21:12 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:21:12 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:21:12 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:21:12 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:21:12 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:21:12 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:21:12 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:21:12 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:21:12 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:21:12 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:21:12 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:21:12 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:21:12 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:21:12 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:21:12 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:21:12 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:21:12 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:21:12 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:21:12 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:21:12 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:21:12 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:21:12 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:21:12 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:21:12 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:21:12 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:21:13 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:21:13 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:21:13 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:21:13 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:21:13 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:21:13 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:21:14 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:21:14 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:21:14 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:21:14 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:21:14 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:21:14 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:21:14 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:21:14 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:21:14 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:21:14 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:21:14 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:21:14 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:21:14 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:21:14 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:21:14 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:21:14 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:21:14 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:21:14 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:21:14 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:21:14 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:21:14 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:21:14 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:21:14 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:21:14 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:21:15 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_added PASSED [ 36%]

20:21:15 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:21:15 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:21:15 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:21:16 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:21:16 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:21:16 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:21:16 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:21:17 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:21:17 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:21:17 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:21:18 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:21:18 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:21:18 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:21:18 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:21:19 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:21:19 

20:21:19 ---------- coverage: platform linux2, python 2.7.13-final-0 ----------

20:21:19 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:21:19 -----------------------------------------------------------------------------

20:21:19 compose/__init__.py                   3      0      0      0   100%

20:21:19 compose/__main__.py                   4      4      0      0     0%   1-6

20:21:19 compose/bundle.py                   144     21     60      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:21:19 compose/cli/__init__.py               0      0      0      0   100%

20:21:19 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:21:19 compose/cli/command.py               97     13     26      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:21:19 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:21:19 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:21:19 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:21:19 compose/cli/formatter.py             37      3      8      1    91%   13, 22-23, 12->13

20:21:19 compose/cli/log_printer.py          149     10     52      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:21:19 compose/cli/main.py                 694     91    288     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:21:19 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:21:19 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:21:19 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:21:19 compose/config/__init__.py           13      0      0      0   100%

20:21:19 compose/config/config.py            826     29    388     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:21:19 compose/config/environment.py        96      7     34      4    92%   41, 98-101, 114, 121, 40->41, 97->98, 113->114, 120->121

20:21:19 compose/config/errors.py             25      2      0      0    92%   36-40

20:21:19 compose/config/interpolation.py     148      7     62      4    94%   66, 148, 196, 222, 227-229, 121->exit, 146->148, 195->196, 221->222

20:21:19 compose/config/serialize.py          97      1     50      2    98%   76, 75->76, 82->85

20:21:19 compose/config/sort_services.py      44      1     18      1    97%   57, 56->57

20:21:19 compose/config/types.py             291     22    112     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:21:19 compose/config/validation.py        254     14    140     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:21:19 compose/const.py                     39      0      0      0   100%

20:21:19 compose/container.py                193      8     48      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:21:19 compose/errors.py                    17      1      0      0    94%   12

20:21:19 compose/network.py                  190     19     92      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:21:19 compose/parallel.py                 199      2     56      1    99%   187, 326, 325->326

20:21:19 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:21:19 compose/project.py                  436     31    180     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:21:19 compose/service.py                  921     58    404     30    92%   67, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1704, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->67, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1703->1704, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:21:19 compose/state.py                      0      0      0      0   100%

20:21:19 compose/timeparse.py                 22      0      4      0   100%

20:21:19 compose/utils.py                    117      8     42      5    92%   26, 75-79, 125, 135, 161, 168, 171, 25->26, 124->125, 134->135, 167->168, 169->171

20:21:19 compose/version.py                    6      0      0      0   100%

20:21:19 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

20:21:19 -----------------------------------------------------------------------------

20:21:19 TOTAL                              5642    441   2256    208    90%

20:21:19 Coverage HTML written to dir coverage-html

20:21:19 

20:21:19 =========================== short test summary info ============================

20:21:19 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:21:19   not supported by kernel

20:21:19 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:21:19   Not supported on most drivers

20:21:19 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:21:19 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:21:19 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:21:19 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:21:19 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:21:19 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:21:19 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:21:19 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:21:19 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:21:19 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:21:19 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:21:19 

20:21:19 ======= 1132 passed, 11 skipped, 2 xfailed, 3 xpassed in 893.73 seconds ========

20:21:19 ___________________________________ summary ____________________________________

20:21:19   py27: commands succeeded

20:21:19   congratulations :)

20:21:19 + on_exit
20:21:19 + [[ 0 != \0 ]]
20:21:19 + docker rm -vf compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:21:19 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:21:19 compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:21:20 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:21:20 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:21:20 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:21:21 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:21:21 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:21:22 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:21:22 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:21:22 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:21:22 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:21:23 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:21:23 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_dependency_removed PASSED [ 37%]

20:21:23 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:21:23 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:21:24 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:21:24 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:21:24 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:21:24 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:21:25 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:21:25 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:21:26 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:21:26 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:21:26 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:21:27 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:21:27 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:21:27 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:21:28 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:21:28 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:21:28 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:21:28 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:21:29 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:21:29 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:21:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:21:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:21:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:21:30 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:21:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:21:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:21:31 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:21:32 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:21:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:21:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:21:32 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:21:33 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_down PASSED [ 37%]

20:21:33 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:21:33 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:21:34 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:21:34 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:21:34 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:21:34 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:21:34 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:21:34 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:21:34 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:21:35 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:21:35 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:21:35 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:21:35 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:21:36 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:21:36 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:21:36 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:21:37 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:21:37 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_service_removed_while_up PASSED [ 37%]

20:21:37 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:21:37 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:21:38 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:21:38 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:21:38 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:21:38 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:21:39 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:21:39 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:21:39 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:21:39 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:21:39 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:21:39 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:21:39 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:21:39 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:21:39 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:21:39 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:21:39 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:21:39 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:21:39 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:21:39 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:21:39 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:21:39 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:21:39 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:21:39 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:21:40 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:21:40 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env PASSED [ 59%]

20:21:40 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:21:40 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:21:40 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:21:40 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:21:40 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:21:40 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:21:41 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:21:41 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:21:41 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:21:41 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:21:41 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:21:41 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:21:41 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:21:41 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:21:41 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:21:41 tests/integration/state_test.py::ProjectWithDependsOnDependenciesTest::test_up PASSED [ 37%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:21:41 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:21:42 tests/integration/state_test.py::ServiceStateTest::test_image_changed_to_build PASSED [ 37%]

20:21:42 tests/integration/state_test.py::ServiceStateTest::test_trigger_create PASSED [ 37%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:21:42 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:21:42 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:21:42 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:21:42 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:21:42 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:21:42 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:21:42 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:21:42 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:21:42 tests/integration/state_test.py::ServiceStateTest::test_trigger_noop PASSED [ 37%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:21:43 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:21:43 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:21:43 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:21:43 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:21:43 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:21:43 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:21:43 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:21:43 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:21:43 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:21:43 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:21:43 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:21:43 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:21:43 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:21:43 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:21:44 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_build <- tests/integration/testcases.py PASSED [ 37%]

20:21:44 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_config_change PASSED [ 37%]

20:21:45 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_image_change PASSED [ 37%]

20:21:45 tests/integration/state_test.py::ServiceStateTest::test_trigger_recreate_with_nonexistent_image_tag PASSED [ 37%]

20:21:46 tests/integration/state_test.py::ServiceStateTest::test_trigger_start PASSED [ 37%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_create_volume PASSED  [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_create_volume_custom_name PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_exists <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_exists_external <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_exists_external_aliased <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_external_aliased_volume <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_external_volume <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_inspect_volume <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_recreate_existing_volume PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_remove_volume <- tests/integration/testcases.py PASSED [ 38%]

20:21:46 tests/integration/volume_test.py::VolumeTest::test_volume_default_labels <- tests/integration/testcases.py PASSED [ 38%]

20:21:47 tests/unit/bundle_test.py::test_get_image_digest_exists PASSED           [ 39%]

20:21:47 tests/unit/bundle_test.py::test_get_image_digest_image_uses_digest PASSED [ 39%]

20:21:47 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:21:47 

20:21:47 ---------- coverage: platform linux2, python 2.7.16-final-0 ----------

20:21:47 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:21:47 -----------------------------------------------------------------------------

20:21:47 compose/__init__.py                   3      0      0      0   100%

20:21:47 compose/__main__.py                   4      4      0      0     0%   1-6

20:21:47 compose/bundle.py                   144     21     60      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:21:47 compose/cli/__init__.py               0      0      0      0   100%

20:21:47 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:21:47 compose/cli/command.py               97     13     26      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:21:47 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:21:47 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:21:47 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:21:47 compose/cli/formatter.py             37      3      8      1    91%   13, 22-23, 12->13

20:21:47 compose/cli/log_printer.py          149     10     52      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:21:47 compose/cli/main.py                 694     91    288     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:21:47 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:21:47 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:21:47 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:21:47 compose/config/__init__.py           13      0      0      0   100%

20:21:47 compose/config/config.py            826     29    388     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:21:47 compose/config/environment.py        96      7     34      4    92%   41, 98-101, 114, 121, 40->41, 97->98, 113->114, 120->121

20:21:47 compose/config/errors.py             25      2      0      0    92%   36-40

20:21:47 compose/config/interpolation.py     148      7     62      4    94%   66, 148, 196, 222, 227-229, 121->exit, 146->148, 195->196, 221->222

20:21:47 compose/config/serialize.py          97      1     50      2    98%   76, 75->76, 82->85

20:21:47 compose/config/sort_services.py      44      1     18      1    97%   57, 56->57

20:21:47 compose/config/types.py             291     22    112     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:21:47 compose/config/validation.py        254     14    140     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:21:47 compose/const.py                     39      0      0      0   100%

20:21:47 compose/container.py                193      8     48      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:21:47 compose/errors.py                    17      1      0      0    94%   12

20:21:47 compose/network.py                  190     19     92      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:21:47 compose/parallel.py                 199      2     56      1    99%   187, 326, 325->326

20:21:47 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:21:47 compose/project.py                  436     31    180     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:21:47 compose/service.py                  921     58    404     30    92%   67, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1704, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->67, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1703->1704, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:21:47 compose/state.py                      0      0      0      0   100%

20:21:47 compose/timeparse.py                 22      0      4      0   100%

20:21:47 compose/utils.py                    117      7     42      5    92%   26, 75-79, 125, 135, 168, 171, 25->26, 124->125, 134->135, 167->168, 169->171

20:21:47 compose/version.py                    6      0      0      0   100%

20:21:47 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

20:21:47 -----------------------------------------------------------------------------

20:21:47 TOTAL                              5642    440   2256    208    90%

20:21:47 Coverage HTML written to dir coverage-html

20:21:47 

20:21:47 =========================== short test summary info ============================

20:21:47 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:21:47   not supported by kernel

20:21:47 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:21:47   Not supported on most drivers

20:21:47 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:21:47 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:21:47 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:21:47 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:21:47 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:21:47 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:21:47 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:21:47 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:21:47 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:21:47 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:21:47 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:21:47 

20:21:47 ======= 1132 passed, 11 skipped, 2 xfailed, 3 xpassed in 920.56 seconds ========

20:21:47 ___________________________________ summary ____________________________________

20:21:47   py27: commands succeeded

20:21:47   congratulations :)

20:21:47 tests/unit/bundle_test.py::test_get_image_digest_from_repository PASSED  [ 39%]

20:21:48 + on_exit
20:21:48 + [[ 0 != \0 ]]
20:21:48 + docker rm -vf compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:21:48 tests/unit/bundle_test.py::test_get_image_digest_no_image PASSED         [ 39%]

20:21:48 compose-dind-19.03.5-rc1-jenkins-compose-PR-6647-8
20:21:48 tests/unit/bundle_test.py::test_push_image_with_saved_digest PASSED      [ 39%]

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
20:21:49 tests/unit/bundle_test.py::test_push_image PASSED                        [ 39%]

20:21:49 tests/unit/bundle_test.py::test_to_bundle PASSED                         [ 39%]

20:21:49 tests/unit/bundle_test.py::test_convert_service_to_bundle PASSED         [ 39%]

20:21:49 tests/unit/bundle_test.py::test_set_command_and_args_none PASSED         [ 39%]

20:21:49 tests/unit/bundle_test.py::test_set_command_and_args_from_command PASSED [ 39%]

20:21:49 tests/unit/bundle_test.py::test_set_command_and_args_from_entrypoint PASSED [ 39%]

20:21:49 tests/unit/bundle_test.py::test_set_command_and_args_from_both PASSED    [ 39%]

20:21:49 tests/unit/bundle_test.py::test_make_service_networks_default PASSED     [ 40%]

20:21:49 tests/unit/bundle_test.py::test_make_service_networks PASSED             [ 40%]

20:21:49 tests/unit/bundle_test.py::test_make_port_specs PASSED                   [ 40%]

20:21:49 tests/unit/bundle_test.py::test_make_port_spec_with_protocol PASSED      [ 40%]

20:21:49 tests/unit/bundle_test.py::test_make_port_spec_default_protocol PASSED   [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_command_help PASSED            [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_command_help_nonexistent PASSED [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_command_manual_and_service_ports_together PASSED [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_default_project_name PASSED    [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_get_project PASSED             [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_from_environment_new_var PASSED [ 40%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_with_empty_environment_var PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_with_environment_file PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_base_dir PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_project_name PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_project_name_with_explicit_uppercase_base_dir PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_run_interactive_passes_logs_false PASSED [ 41%]

20:21:49 tests/unit/cli_test.py::CLITestCase::test_run_service_with_restart_always PASSED [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_environment PASSED     [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_from_ps PASSED         [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_from_ps_prefixed PASSED [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_get PASSED             [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_get_local_port PASSED  [ 41%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_has_api_logs PASSED    [ 42%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_none PASSED [ 42%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_human_readable_ports_public_and_private PASSED [ 42%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_human_readable_states_healthy PASSED [ 42%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_human_readable_states_no_health PASSED [ 42%]

20:21:49 tests/unit/container_test.py::ContainerTest::test_human_readable_states_starting PASSED [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_inspect_if_not_inspected PASSED [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_name PASSED            [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_name_without_project PASSED [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_name_without_project_custom_container_name PASSED [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_name_without_project_one_off PASSED [ 42%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_number PASSED          [ 43%]

20:21:50 tests/unit/container_test.py::ContainerTest::test_short_id PASSED        [ 43%]

20:21:50 tests/unit/container_test.py::GetContainerNameTestCase::test_get_container_name PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_driver_mismatch PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_null_remote_ipam_options PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_options_mismatch PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_success PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_config_whitelist PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_check_remote_network_labels_mismatch PASSED [ 43%]

20:21:50 tests/unit/network_test.py::NetworkTest::test_remote_config_labels_none PASSED [ 43%]

20:21:50 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute PASSED  [ 43%]

20:21:50 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_deps PASSED [ 44%]

20:21:50 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_global_limit PASSED [ 44%]

20:21:50 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_limit PASSED [ 44%]

20:21:50 tests/unit/parallel_test.py::ParallelTest::test_parallel_execute_with_upstream_errors PASSED [ 44%]

20:21:50 tests/unit/parallel_test.py::test_parallel_execute_alignment PASSED      [ 44%]

20:21:50 tests/unit/parallel_test.py::test_parallel_execute_ansi PASSED           [ 44%]

20:21:50 tests/unit/parallel_test.py::test_parallel_execute_noansi PASSED         [ 44%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_pull PASSED [ 44%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_get_digest_from_push PASSED [ 44%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_mismatched_encoding_stream_write PASSED [ 44%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output PASSED [ 44%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_div_zero PASSED [ 45%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_no_progress_event_no_tty PASSED [ 45%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_null_total PASSED [ 45%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_no_tty PASSED [ 45%]

20:21:50 tests/unit/progress_stream_test.py::ProgressStreamTestCase::test_stream_output_progress_event_tty PASSED [ 45%]

20:21:50 tests/unit/project_test.py::ProjectTest::test_avoid_multiple_push PASSED [ 45%]

20:21:51 tests/unit/project_test.py::ProjectTest::test_build_container_operation_with_timeout_func_does_not_mutate_options_with_timeout PASSED [ 45%]

20:21:51 tests/unit/project_test.py::ProjectTest::test_container_without_name PASSED [ 45%]

20:21:51 tests/unit/project_test.py::ProjectTest::test_down_with_no_resources PASSED [ 45%]

20:21:52 tests/unit/project_test.py::ProjectTest::test_error_parallel_pull PASSED [ 45%]

20:21:52 tests/unit/project_test.py::ProjectTest::test_events PASSED              [ 45%]

20:21:52 tests/unit/project_test.py::ProjectTest::test_events_legacy PASSED       [ 45%]

20:21:53 tests/unit/project_test.py::ProjectTest::test_from_config_v1 PASSED      [ 46%]

20:21:53 tests/unit/project_test.py::ProjectTest::test_from_config_v2 PASSED      [ 46%]

20:21:53 tests/unit/project_test.py::ProjectTest::test_get_secrets_external_warning PASSED [ 46%]

20:21:53 tests/unit/project_test.py::ProjectTest::test_get_secrets_no_secret_def PASSED [ 46%]

20:21:54 tests/unit/project_test.py::ProjectTest::test_get_secrets_secret_file_warning PASSED [ 46%]

20:21:54 tests/unit/project_test.py::ProjectTest::test_get_secrets_uid_gid_mode_warning PASSED [ 46%]

20:21:55 tests/unit/project_test.py::ProjectTest::test_get_service PASSED         [ 46%]

20:21:55 tests/unit/project_test.py::ProjectTest::test_get_services_removes_duplicates_following_links PASSED [ 46%]

20:21:55 tests/unit/project_test.py::ProjectTest::test_get_services_returns_all_services_without_args PASSED [ 46%]

20:21:55 tests/unit/project_test.py::ProjectTest::test_get_services_returns_listed_services_with_args PASSED [ 46%]

20:21:56 tests/unit/project_test.py::ProjectTest::test_get_services_with_include_links PASSED [ 46%]

20:21:56 tests/unit/project_test.py::ProjectTest::test_net_unset PASSED           [ 47%]

20:21:56 tests/unit/project_test.py::ProjectTest::test_no_such_service_unicode PASSED [ 47%]

20:21:57 tests/unit/project_test.py::ProjectTest::test_no_warning_in_normal_mode PASSED [ 47%]

20:21:57 tests/unit/project_test.py::ProjectTest::test_no_warning_on_stop PASSED  [ 47%]

20:21:57 tests/unit/project_test.py::ProjectTest::test_no_warning_with_no_swarm_info PASSED [ 47%]

20:21:58 tests/unit/project_test.py::ProjectTest::test_project_platform_value PASSED [ 47%]

20:21:58 tests/unit/project_test.py::ProjectTest::test_use_net_from_container PASSED [ 47%]

20:21:58 tests/unit/project_test.py::ProjectTest::test_use_net_from_service PASSED [ 47%]

20:21:58 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_container PASSED [ 47%]

20:21:59 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_container PASSED [ 47%]

20:21:59 tests/unit/project_test.py::ProjectTest::test_use_volumes_from_service_no_container PASSED [ 47%]

20:21:59 tests/unit/project_test.py::ProjectTest::test_uses_default_network_false PASSED [ 47%]

20:22:00 tests/unit/project_test.py::ProjectTest::test_uses_default_network_true PASSED [ 48%]

20:22:00 tests/unit/service_test.py::ServiceTest::test_build_does_not_pull PASSED [ 48%]

20:22:00 tests/unit/service_test.py::ServiceTest::test_build_isolation_from_build_override_service_config PASSED [ 48%]

20:22:01 tests/unit/service_test.py::ServiceTest::test_build_service_with_proxy_config PASSED [ 48%]

20:22:01 tests/unit/service_test.py::ServiceTest::test_build_volume_options_duplicate_binds PASSED [ 48%]

20:22:01 tests/unit/service_test.py::ServiceTest::test_build_with_default_platform PASSED [ 48%]

20:22:01 tests/unit/service_test.py::ServiceTest::test_build_with_isolation_from_service_config PASSED [ 48%]

20:22:02 tests/unit/service_test.py::ServiceTest::test_build_with_override_build_args PASSED [ 48%]

20:22:02 tests/unit/service_test.py::ServiceTest::test_build_with_platform PASSED [ 48%]

20:22:03 tests/unit/service_test.py::ServiceTest::test_cgroup_parent PASSED       [ 48%]

20:22:03 tests/unit/service_test.py::ServiceTest::test_config_dict PASSED         [ 48%]

20:22:03 tests/unit/service_test.py::ServiceTest::test_config_dict_with_network_mode_from_container PASSED [ 49%]

20:22:03 tests/unit/service_test.py::ServiceTest::test_config_hash_matches_label PASSED [ 49%]

20:22:04 tests/unit/service_test.py::ServiceTest::test_container_without_name PASSED [ 49%]

20:22:04 tests/unit/service_test.py::ServiceTest::test_containers PASSED          [ 49%]

20:22:04 tests/unit/service_test.py::ServiceTest::test_containers_with_containers PASSED [ 49%]

20:22:05 tests/unit/service_test.py::ServiceTest::test_create_container PASSED    [ 49%]

20:22:05 tests/unit/service_test.py::ServiceTest::test_create_when_removed_containers_are_listed PASSED [ 49%]

20:22:05 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_force_build PASSED [ 49%]

20:22:06 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build PASSED [ 49%]

20:22:06 tests/unit/service_test.py::ServiceTest::test_ensure_image_exists_no_build_but_needs_build PASSED [ 49%]

20:22:06 tests/unit/service_test.py::ServiceTest::test_get_container PASSED       [ 49%]

20:22:07 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_does_not_mutate_options PASSED [ 50%]

20:22:07 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_no_affinity_without_binds PASSED [ 50%]

20:22:07 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_sets_affinity_with_binds PASSED [ 50%]

20:22:08 tests/unit/service_test.py::ServiceTest::test_get_container_create_options_with_name_option PASSED [ 50%]

20:22:08 tests/unit/service_test.py::ServiceTest::test_get_container_not_found PASSED [ 50%]

20:22:08 tests/unit/service_test.py::ServiceTest::test_get_create_options_with_proxy_config PASSED [ 50%]

20:22:08 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container PASSED [ 50%]

20:22:09 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_container_read_only PASSED [ 50%]

20:22:09 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists PASSED [ 50%]

20:22:10 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_container_exists_with_flags PASSED [ 50%]

20:22:10 tests/unit/service_test.py::ServiceTest::test_get_volumes_from_service_no_container PASSED [ 50%]

20:22:11 tests/unit/service_test.py::ServiceTest::test_image_name_default PASSED  [ 50%]

20:22:11 tests/unit/service_test.py::ServiceTest::test_image_name_from_config PASSED [ 51%]

20:22:11 tests/unit/service_test.py::ServiceTest::test_log_opt PASSED             [ 51%]

20:22:11 tests/unit/service_test.py::ServiceTest::test_mem_reservation PASSED     [ 51%]

20:22:12 tests/unit/service_test.py::ServiceTest::test_memory_swap_limit PASSED   [ 51%]

20:22:12 tests/unit/service_test.py::ServiceTest::test_no_default_hostname_when_not_using_networking PASSED [ 51%]

20:22:13 tests/unit/service_test.py::ServiceTest::test_only_log_warning_when_host_ports_clash PASSED [ 51%]

20:22:13 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config PASSED  [ 51%]

20:22:13 tests/unit/service_test.py::ServiceTest::test_parse_proxy_config_per_host PASSED [ 51%]

20:22:13 tests/unit/service_test.py::ServiceTest::test_parse_repository_tag PASSED [ 51%]

20:22:14 tests/unit/service_test.py::ServiceTest::test_pull_image PASSED          [ 51%]

20:22:14 tests/unit/service_test.py::ServiceTest::test_pull_image_digest PASSED   [ 51%]

20:22:14 tests/unit/service_test.py::ServiceTest::test_pull_image_no_tag PASSED   [ 52%]

20:22:15 tests/unit/service_test.py::ServiceTest::test_pull_image_with_default_platform PASSED [ 52%]

20:22:15 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform PASSED [ 52%]

20:22:16 tests/unit/service_test.py::ServiceTest::test_pull_image_with_platform_unsupported_api PASSED [ 52%]

20:22:16 tests/unit/service_test.py::ServiceTest::test_recreate_container PASSED  [ 52%]

20:22:16 tests/unit/service_test.py::ServiceTest::test_recreate_container_with_timeout PASSED [ 52%]

20:22:17 tests/unit/service_test.py::ServiceTest::test_remove_image_all_does_remove PASSED [ 52%]

20:22:17 tests/unit/service_test.py::ServiceTest::test_remove_image_local_with_image_name_doesnt_remove PASSED [ 52%]

20:22:17 tests/unit/service_test.py::ServiceTest::test_remove_image_local_without_image_name_does_remove PASSED [ 52%]

20:22:17 tests/unit/service_test.py::ServiceTest::test_remove_image_none PASSED   [ 52%]

20:22:18 tests/unit/service_test.py::ServiceTest::test_remove_image_with_error PASSED [ 52%]

20:22:18 tests/unit/service_test.py::ServiceTest::test_remove_non_existing_image PASSED [ 52%]

20:22:19 tests/unit/service_test.py::ServiceTest::test_self_reference_external_link PASSED [ 53%]

20:22:19 tests/unit/service_test.py::ServiceTest::test_service_ignore_default_platform_with_unsupported_api PASSED [ 53%]

20:22:19 tests/unit/service_test.py::ServiceTest::test_service_platform_precedence PASSED [ 53%]

20:22:19 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port PASSED [ 53%]

20:22:20 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_container_port_range PASSED [ 53%]

20:22:20 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port PASSED [ 53%]

20:22:20 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_and_port_range PASSED [ 53%]

20:22:21 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port PASSED [ 53%]

20:22:21 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_ip_no_port_range PASSED [ 53%]

20:22:21 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port PASSED [ 53%]

20:22:22 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_host_port_range PASSED [ 53%]

20:22:22 tests/unit/service_test.py::ServiceTest::test_specifies_host_port_with_no_ports PASSED [ 54%]

20:22:22 tests/unit/service_test.py::ServiceTest::test_split_domainname_both PASSED [ 54%]

20:22:23 tests/unit/service_test.py::ServiceTest::test_split_domainname_fqdn PASSED [ 54%]

20:22:23 tests/unit/service_test.py::ServiceTest::test_split_domainname_none PASSED [ 54%]

20:22:23 tests/unit/service_test.py::ServiceTest::test_split_domainname_weird PASSED [ 54%]

20:22:24 tests/unit/service_test.py::ServiceTest::test_stop_grace_period PASSED   [ 54%]

20:22:24 tests/unit/service_test.py::ServiceTest::test_volumes_order_is_preserved PASSED [ 54%]

20:22:24 tests/unit/service_test.py::TestServiceNetwork::test_connect_container_to_networks_short_aliase_exists PASSED [ 54%]

20:22:24 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_dict PASSED [ 54%]

20:22:24 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_integers_and_dicts PASSED [ 54%]

20:22:24 tests/unit/service_test.py::BuildUlimitsTestCase::test_build_ulimits_with_ints PASSED [ 54%]

20:22:25 tests/unit/service_test.py::NetTestCase::test_network_mode PASSED        [ 54%]

20:22:25 tests/unit/service_test.py::NetTestCase::test_network_mode_container PASSED [ 55%]

20:22:25 tests/unit/service_test.py::NetTestCase::test_network_mode_service PASSED [ 55%]

20:22:25 tests/unit/service_test.py::NetTestCase::test_network_mode_service_no_containers PASSED [ 55%]

20:22:25 tests/unit/service_test.py::ServicePortsTest::test_formatted_ports PASSED [ 55%]

20:22:26 tests/unit/service_test.py::ServiceVolumesTest::test_build_volume_binding PASSED [ 55%]

20:22:26 tests/unit/service_test.py::ServiceVolumesTest::test_create_with_special_volume_mode PASSED [ 55%]

20:22:27 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_create_options_with_different_host_path_in_container_json PASSED [ 55%]

20:22:27 tests/unit/service_test.py::ServiceVolumesTest::test_get_container_data_volumes PASSED [ 55%]

20:22:27 tests/unit/service_test.py::ServiceVolumesTest::test_merge_volume_bindings PASSED [ 55%]

20:22:27 tests/unit/service_test.py::ServiceVolumesTest::test_mount_same_host_path_to_two_volumes PASSED [ 55%]

20:22:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_container_only_option PASSED [ 55%]

20:22:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_no_warning_with_same_path PASSED [ 56%]

20:22:28 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_no_warning_when_no_container_volumes PASSED [ 56%]

20:22:29 tests/unit/service_test.py::ServiceVolumesTest::test_warn_on_masked_volume_when_masked PASSED [ 56%]

20:22:29 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes PASSED [ 56%]

20:22:29 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_abspath PASSED [ 56%]

20:22:30 tests/unit/service_test.py::ServiceSecretTest::test_get_secret_volumes_no_target PASSED [ 56%]

20:22:30 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_unix_path PASSED [ 56%]

20:22:30 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_url_no_prefix PASSED [ 56%]

20:22:30 tests/unit/service_test.py::RewriteBuildPathTest::test_rewrite_windows_path PASSED [ 56%]

20:22:30 tests/unit/split_buffer_test.py::SplitBufferTest::test_chunked_line PASSED [ 56%]

20:22:30 tests/unit/split_buffer_test.py::SplitBufferTest::test_multiple_line_chunk PASSED [ 56%]

20:22:30 tests/unit/split_buffer_test.py::SplitBufferTest::test_no_end_separator PASSED [ 56%]

20:22:30 tests/unit/split_buffer_test.py::SplitBufferTest::test_preserves_unicode_sequences_within_lines PASSED [ 57%]

20:22:30 tests/unit/split_buffer_test.py::SplitBufferTest::test_single_line_chunks PASSED [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_milli PASSED                          [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_milli_float PASSED                    [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_second_milli PASSED                   [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_second_milli_micro PASSED             [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_second PASSED                         [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_second_as_float PASSED                [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_minute PASSED                         [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_hour_minute PASSED                    [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_minute_as_float PASSED                [ 57%]

20:22:30 tests/unit/timeparse_test.py::test_hour_minute_second PASSED             [ 58%]

20:22:30 tests/unit/timeparse_test.py::test_invalid_with_space PASSED             [ 58%]

20:22:30 tests/unit/timeparse_test.py::test_invalid_with_comma PASSED             [ 58%]

20:22:30 tests/unit/timeparse_test.py::test_invalid_with_empty_string PASSED      [ 58%]

20:22:30 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 58%]

20:22:30 tests/unit/utils_test.py::TestParseBytes::test_parse_bytes PASSED        [ 58%]

20:22:30 tests/unit/utils_test.py::TestMoreItertools::test_unique_everseen PASSED [ 59%]

20:22:30 tests/unit/volume_test.py::TestVolume::test_remove_local_volume PASSED   [ 59%]

20:22:30 tests/unit/volume_test.py::TestVolume::test_remove_external_volume PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_path_from_options PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_single_path_from_env PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_windows SKIPPED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_multiple_path_from_env_custom_separator PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_no_path PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_options PASSED [ 59%]

20:22:30 tests/unit/cli/command_test.py::TestGetConfigPathFromOptions::test_unicode_path_from_env PASSED [ 59%]

20:22:30 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_custom_timeout_error PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_no_home PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_docker_client_with_custom_timeout PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::DockerClientTestCase::test_user_agent PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_assert_hostname_explicit_skip PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_simple_tls PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_ca_cert_explicit PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_explicit PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_and_ca_quoted_paths PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert PASSED [ 60%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_cert_explicit PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_client_missing_key PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_flags_override_environment PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_mixed_environment_and_flags PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_simple_with_tls_version PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_default_cert_path PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_env_falsy_value PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TLSConfigTestCase::test_tls_verify_flag_no_override PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_default PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_upgrade PASSED [ 61%]

20:22:30 tests/unit/cli/docker_client_test.py::TestGetTlsVersion::test_get_tls_version_unavailable PASSED [ 61%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_generic_connection_error PASSED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch PASSED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_mismatch_unicode_explanation PASSED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other PASSED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_api_error_version_other_unicode_explanation PASSED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_no_data SKIPPED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_misc SKIPPED [ 62%]

20:22:30 tests/unit/cli/errors_test.py::TestHandleConnectionErrors::test_windows_pipe_error_encoding_issue SKIPPED [ 62%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_error PASSED [ 62%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_info PASSED [ 62%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_error PASSED [ 62%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_info PASSED [ 62%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_unicode_warn PASSED [ 63%]

20:22:30 tests/unit/cli/formatter_test.py::ConsoleWarningFormatterTestCase::test_format_warn PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_monochrome PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestLogPresenter::test_polychrome PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::test_wait_on_exit PASSED             [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::test_wait_on_exit_raises PASSED      [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::test_build_no_log_generator PASSED   [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_no_log_stream PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_with_log_stream PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestBuildLogGenerator::test_unicode PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_stop_event PASSED [ 63%]

20:22:30 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_start_event PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_container_attach_event PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestWatchEvents::test_other_event PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_an_exception PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_without_cascade_stop PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_stop_with_cascade_stop PASSED [ 64%]

20:22:30 tests/unit/cli/log_printer_test.py::TestConsumeQueue::test_item_is_none_when_timeout_is_hit PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_filter_containers_to_service_names_all PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_warning_in_swarm_mode PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_build_one_off_container_options PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestCLIMainTestCase::test_get_docker_start_call PASSED [ 64%]

20:22:31 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_verbose PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_tty_not_verbose PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestSetupConsoleHandlerTestCase::test_with_not_a_tty PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_invalid_opts PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_always PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_never PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestConvergeStrategyFromOptsTestCase::test_changed PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_simple_no_options PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_simple_tls_option PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_advanced_tls_options PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option PASSED [ 65%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_with_http_host PASSED  [ 66%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_with_host_option_shorthand_equal PASSED [ 66%]

20:22:31 tests/unit/cli/main_test.py::TestCallDocker::test_with_env PASSED        [ 66%]

20:22:31 tests/unit/cli/utils_test.py::UnquotePathTest::test_nested_quotes PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::UnquotePathTest::test_no_quotes PASSED     [ 66%]

20:22:31 tests/unit/cli/utils_test.py::UnquotePathTest::test_simple_quotes PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::UnquotePathTest::test_uneven_quotes PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_100b PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1023b PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_1kb PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_999b PASSED [ 66%]

20:22:31 tests/unit/cli/utils_test.py::HumanReadableFileSizeTest::test_units PASSED [ 66%]

20:22:31 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_call PASSED [ 67%]

20:22:31 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return PASSED [ 67%]

20:22:31 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_no_result PASSED [ 67%]

20:22:31 tests/unit/cli/verbose_proxy_test.py::VerboseProxyTestCase::test_format_return_sequence PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_build_args_allow_empty_properties PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_build_args_check_zero_preserved PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_build_configuration_v2 PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_convertible_label_types PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_cache_from_values_validation_error PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_duplicate_mount_points PASSED [ 67%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_list_of_dicts_validation_error PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_extra_hosts_string_raises_validation_error PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_hint PASSED    [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2 PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_name_raise_validation_error_v2_when_no_interpolate PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_integer_service_property_raise_validation_error PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_ipam_config PASSED [ 68%]

20:22:31 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_label_types PASSED [ 68%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_invalid_service_name_raise_validation_error PASSED [ 68%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_invalid_keys_validation_error PASSED [ 68%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_required_keys_validation_error PASSED [ 68%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_ulimits_soft_greater_than_hard_error PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_environment_dict_key_contains_dashes PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_ipam_config PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_label_validation PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_config_valid_service_names PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_depends_on_orders_services PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_depends_on_unknown_service_errors PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_dns_opt_option PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_empty_environment_key_allowed PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_external_volume_config PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_external_volume_invalid_config PASSED [ 69%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_group_add_option PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_build_and_image_specified_v1 PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_a_dictionary PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_not_unique_items PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_type_should_be_an_array PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v1 PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_config_v2 PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_invalid_list_of_strings_format PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_isolation_option PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_linked_service_is_undefined PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load PASSED           [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path PASSED [ 70%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_bind_mount_relative_path_with_tilde PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_dict PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_build_labels_list PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_custom_resource_names PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_dockerfile_without_build_raises_error_v1 PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_invalid_service_names_v2 PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_link_local_ips_network PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_service_labels PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_config_volume_and_network_labels PASSED [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_configs PASSED   [ 71%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_configs_multi_file PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_dockerfile_without_context PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_errors_on_uppercase_with_no_image PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_invalid_service_definition PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_mixed_extends_resolution PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_secrets PASSED   [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_secrets_multi_file PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_service_with_name_version PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_sorts_in_dependency_order PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_when_not_dict_v2 PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_throws_error_with_invalid_network_fields PASSED [ 72%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_v2 PASSED        [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_buildargs PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_empty_build_args PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_extensions PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_invalid_field_name_v1 PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_base_v2 PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_empty_override_v2 PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_extends_in_override_file PASSED [ 73%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_and_invalid_override PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_mismatched_networks_format_inverse_order PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v1 PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v2 PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_with_multiple_files_v3_2 PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_bom PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_load_yaml_with_yaml_error PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_logs_warning_for_boolean_in_environment PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_blkio_config PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_configs_override PASSED [ 74%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_credential_spec PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_mixed_syntax PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_depends_on_no_override PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy PASSED   [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_deploy_override PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_device_cgroup_rules PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_different_configs PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_different_secrets PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_extra_hosts PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_config PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_disables PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_healthcheck_override_enables PASSED [ 75%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_isolation PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v1 PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2 PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_base_driver PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_drivers PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_no_override_options PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_logging_v2_override_driver PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_mixed_ports PASSED [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_pid PASSED      [ 76%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_scale PASSED    [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_secrets_override PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_base PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_from_files_with_extends_in_override PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_2 PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_heterogeneous_volumes PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_service_dicts_ports_sorting PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_merge_storage_opt PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_named_volume_config_empty PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_named_volume_invalid_type_list PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_named_volume_numeric_driver_opt PASSED [ 77%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_networks_invalid_type_list PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_normalize_dns_options PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_oom_score_adj_option PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_runtime_option PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_service_volume_invalid_config PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_swappiness_option PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_tmpfs_option PASSED   [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v1 PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_undeclared_volume_v2 PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_unsupported_version PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_v1_file_version PASSED [ 78%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_v1_file_with_version_is_invalid PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_valid_config_oneof_string_or_list PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_valid_config_which_allows_two_type_definitions PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_valid_versions PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_validate_extra_hosts_invalid_list PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_version_1_is_invalid PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_volume_invalid_driver_opt PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_volume_mode_override PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_volumes_long_syntax PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::ConfigTest::test_wrong_version_type PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container PASSED [ 79%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_container_v1 PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_plus_networks_is_invalid PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_nonexistent PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_service_v1 PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::NetworkModeTest::test_network_mode_standard_v1 PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_format_validation PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_invalid_expose_type_validation PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_format_validation PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_invalid_ports_type_validation PASSED [ 80%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_expose_validation PASSED [ 81%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_non_unique_ports_validation PASSED [ 81%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_valid_expose_format_validation PASSED [ 81%]

20:22:32 tests/unit/config/config_test.py::PortsTest::test_config_valid_ports_format_validation PASSED [ 81%]

20:22:32 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_format_validation PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::SubnetTest::test_config_invalid_subnet_type_validation PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::SubnetTest::test_config_valid_subnet_format_validation PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults PASSED [ 81%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_options_environment_file PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix PASSED [ 82%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows SKIPPED [ 83%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_empty PASSED    [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base PASSED  [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path PASSED [ 83%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_empty PASSED    [ 84%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base PASSED  [ 84%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

20:22:33 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

20:22:33 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

20:22:33 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

20:22:33 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

20:22:33 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

20:22:33 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

20:22:33 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

20:22:33 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

20:22:33 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

20:22:33 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

20:22:33 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

20:22:33 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

20:22:33 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

20:22:33 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

20:22:33 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

20:22:33 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

20:22:33 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

20:22:33 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

20:22:33 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

20:22:33 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

20:22:33 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

20:22:38 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

20:22:38 

20:22:38 ---------- coverage: platform linux2, python 2.7.16-final-0 ----------

20:22:38 Name                              Stmts   Miss Branch BrPart  Cover   Missing

20:22:38 -----------------------------------------------------------------------------

20:22:38 compose/__init__.py                   3      0      0      0   100%

20:22:38 compose/__main__.py                   4      4      0      0     0%   1-6

20:22:38 compose/bundle.py                   144     21     60      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

20:22:38 compose/cli/__init__.py               0      0      0      0   100%

20:22:38 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

20:22:38 compose/cli/command.py               97     13     26      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

20:22:38 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

20:22:38 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

20:22:38 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

20:22:38 compose/cli/formatter.py             37      3      8      1    91%   13, 22-23, 12->13

20:22:38 compose/cli/log_printer.py          149     10     52      6    91%   76, 103, 110-115, 164, 173, 226-229, 259, 43->exit, 75->76, 98->103, 171->173, 225->226, 234->240

20:22:38 compose/cli/main.py                 694     91    288     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1073, 1082, 1111-1120, 1160-1163, 1171-1175, 1177-1182, 1205, 1227-1256, 1263-1264, 1266-1268, 1283, 1289, 1472, 1490, 1506, 1510-1511, 1522, 1527, 1530, 1556, 1575-1577, 1587, 1598, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1072->1073, 1081->1082, 1170->1171, 1176->1177, 1204->1205, 1262->1263, 1265->1266, 1282->1283, 1288->1289, 1471->1472, 1489->1490, 1505->1506, 1521->1522, 1526->1527, 1529->1530, 1548->exit, 1555->1556, 1569->1577, 1571->1575, 1586->1587, 1596->1598

20:22:38 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

20:22:38 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

20:22:38 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

20:22:38 compose/config/__init__.py           13      0      0      0   100%

20:22:38 compose/config/config.py            826     29    388     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

20:22:38 compose/config/environment.py        96      7     34      4    92%   41, 98-101, 114, 121, 40->41, 97->98, 113->114, 120->121

20:22:38 compose/config/errors.py             25      2      0      0    92%   36-40

20:22:38 compose/config/interpolation.py     148      7     62      4    94%   66, 148, 196, 222, 227-229, 121->exit, 146->148, 195->196, 221->222

20:22:38 compose/config/serialize.py          97      1     50      2    98%   76, 75->76, 82->85

20:22:38 compose/config/sort_services.py      44      1     18      1    97%   57, 56->57

20:22:38 compose/config/types.py             291     22    112     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

20:22:38 compose/config/validation.py        254     14    140     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

20:22:38 compose/const.py                     39      0      0      0   100%

20:22:38 compose/container.py                193      8     48      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

20:22:38 compose/errors.py                    17      1      0      0    94%   12

20:22:38 compose/network.py                  190     19     92      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

20:22:38 compose/parallel.py                 199      2     56      1    99%   187, 326, 325->326

20:22:38 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

20:22:38 compose/project.py                  436     31    180     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

20:22:38 compose/service.py                  921     58    404     30    92%   67, 283-284, 305, 378-381, 429-434, 440-442, 482-483, 498, 501, 519, 586, 631-634, 742, 961-962, 982-983, 1084, 1131, 1192, 1234, 1256-1271, 1311, 1350-1354, 1542, 1546, 1704, 1790, 1828, 1841, 1845-1846, 1850-1851, 64->67, 223->exit, 281->283, 304->305, 439->440, 481->482, 497->498, 500->501, 518->519, 576->586, 737->742, 960->961, 981->982, 1083->1084, 1130->1131, 1191->1192, 1233->1234, 1310->1311, 1347->1350, 1541->1542, 1545->1546, 1594->exit, 1602->1601, 1640->1637, 1703->1704, 1789->1790, 1827->1828, 1840->1841, 1844->1845, 1849->1850

20:22:38 compose/state.py                      0      0      0      0   100%

20:22:38 compose/timeparse.py                 22      0      4      0   100%

20:22:38 compose/utils.py                    117      8     42      5    92%   26, 75-79, 125, 135, 161, 168, 171, 25->26, 124->125, 134->135, 167->168, 169->171

20:22:38 compose/version.py                    6      0      0      0   100%

20:22:38 compose/volume.py                   126      4     44      4    94%   150, 200, 211-212, 141->150, 199->200, 201->198, 209->211

20:22:38 -----------------------------------------------------------------------------

20:22:38 TOTAL                              5642    441   2256    209    90%

20:22:38 Coverage HTML written to dir coverage-html

20:22:38 

20:22:38 =========================== short test summary info ============================

20:22:38 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

20:22:38   not supported by kernel

20:22:38 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

20:22:38   Not supported on most drivers

20:22:38 SKIP [1] tests/acceptance/cli_test.py:2384: race condition between up and logs

20:22:38 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

20:22:38 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

20:22:38 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

20:22:38 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

20:22:38 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

20:22:38 SKIP [1] tests/acceptance/cli_test.py:2432: race condition between up and logs

20:22:38 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

20:22:38 SKIP [1] tests/acceptance/cli_test.py:2411: race condition between up and logs

20:22:38 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

20:22:38 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

20:22:38 

20:22:38 ======= 1132 passed, 11 skipped, 2 xfailed, 3 xpassed in 975.20 seconds ========

20:22:38 ___________________________________ summary ____________________________________

20:22:38   py27: commands succeeded

20:22:38   congratulations :)

20:22:38 + on_exit
20:22:38 + [[ 0 != \0 ]]
20:22:38 + docker rm -vf compose-dind-18.09.9-jenkins-compose-PR-6647-8
20:22:38 compose-dind-18.09.9-jenkins-compose-PR-6647-8
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // parallel
[Pipeline] End of Pipeline

GitHub has been notified of this commit’s build result

Finished: SUCCESS