Pull request #2784 opened 10:40:32 Connecting to https://api.github.com using docker-jenkins/****** (docker-jenkins GitHub credentials) Obtained Jenkinsfile from be49c28bae072486b0d87eeb3e923db1d12f826e+55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd (2f9d117282a8e6a3f357fb924472b773ee426838) 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 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 The recommended git tool is: NONE using credential jps-reader Cloning the remote Git repository Cloning with configured refspecs honoured and without tags Cloning repository https://github.com/docker/jps.git > git init /var/cloudbees-jenkins-distribution/workspace/docker-py_PR-2784@libs/jps # timeout=10 Fetching upstream changes from https://github.com/docker/jps.git > git --version # timeout=10 > git --version # 'git version 2.20.1' using GIT_ASKPASS to set credentials GitHub credentials for docker/jps > git fetch --no-tags --force --progress -- https://github.com/docker/jps.git +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/jps.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 Avoid second fetch Checking out Revision 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 (master) > git config core.sparsecheckout # timeout=10 > git checkout -f 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 # timeout=10 Commit message: "Merge pull request #25 from ingshtrom/in-2733-load-from-file" First time build. Skipping changelog. > git --version # timeout=10 > git --version # 'git version 2.20.1' Excluding src/test/ from checkout of git https://github.com/docker/jps.git so that shared library test code cannot be accessed by Pipelines. To remove this log message, move the test code outside of src/. To restore the previous behavior that allowed access to files in src/test/, pass -Dorg.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.INCLUDE_SRC_TEST_IN_LIBRARIES=true to the java command used to start Jenkins. [Pipeline] Start of Pipeline [Pipeline] node Still waiting to schedule task All nodes of label ‘amd64&&ubuntu-2004&&overlay2’ are offline Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [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/docker-py_PR-2784@tmp/32a5866b-87e8-433b-b187-4280269546fe/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 10:41:58 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:41:58 chowning workspace [Pipeline] sh 10:41:59 + pwd 10:41:59 + id -u 10:41:59 + id -g 10:41:59 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace 10:41:59 Unable to find image 'busybox:latest' locally 10:42:00 latest: Pulling from library/busybox 10:42:00 5c4213be9af9: Pulling fs layer 10:42:00 5c4213be9af9: Download complete 10:42:00 5c4213be9af9: Pull complete 10:42:00 Digest: sha256:c6b45a95f932202dbb27c31333c4789f45184a744060f6e569cc9d2bf1b9ad6f 10:42:00 Status: Downloaded newer image for busybox:latest [Pipeline] echo 10:42:06 Removing all docker containers [Pipeline] sh 10:42:06 + docker container ls -aq [Pipeline] echo 10:42:06 Docker containers have been removed [Pipeline] echo 10:42:06 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:42:06 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (build image) [Pipeline] checkout 10:42:06 The recommended git tool is: git 10:42:08 using credential docker-jenkins-github-credentials 10:42:08 Cloning the remote Git repository 10:42:08 Cloning with configured refspecs honoured and without tags Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 10:42:09 Fetching without tags 10:42:09 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:42:10 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:42:10 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 10:42:13 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" 10:42:13 First time build. Skipping changelog. [Pipeline] sh 10:42:14 + git rev-parse HEAD [Pipeline] withDockerRegistry [Pipeline] { > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 [Pipeline] isUnix [Pipeline] sh 10:42:15 + docker pull dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e 10:42:15 Error response from daemon: manifest for dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e not found: manifest unknown: manifest unknown [Pipeline] isUnix [Pipeline] sh 10:42:15 + docker build -t dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e -f tests/Dockerfile-ssh-dind . 10:42:15 Sending build context to Docker daemon 1.376MB 10:42:15 Step 1/11 : ARG API_VERSION=1.39 10:42:15 Step 2/11 : ARG ENGINE_VERSION=19.03.12 10:42:15 Step 3/11 : FROM docker:${ENGINE_VERSION}-dind $ 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/docker-py_PR-2784@tmp/9fed6a7e-128d-4254-89d5-2c5362e34855/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:42:15 19.03.12-dind: Pulling from library/docker 10:42:15 df20fa9351a1: Pulling fs layer 10:42:15 25ad7478873d: Pulling fs layer 10:42:15 4684f6177b5d: Pulling fs layer 10:42:15 46e300cec669: Pulling fs layer 10:42:15 63038576ad94: Pulling fs layer 10:42:15 0fdb76c4706c: Pulling fs layer 10:42:15 cb7edeffdfd5: Pulling fs layer 10:42:15 cc28bd76800f: Pulling fs layer 10:42:15 54196fe38f7e: Pulling fs layer 10:42:15 ea71acc29633: Pulling fs layer 10:42:15 657cc4c15165: Pulling fs layer 10:42:15 cb7edeffdfd5: Waiting 10:42:15 cc28bd76800f: Waiting 10:42:15 54196fe38f7e: Waiting 10:42:15 ea71acc29633: Waiting 10:42:15 657cc4c15165: Waiting 10:42:15 63038576ad94: Waiting 10:42:15 46e300cec669: Waiting 10:42:15 0fdb76c4706c: Waiting 10:42:15 4684f6177b5d: Verifying Checksum 10:42:15 4684f6177b5d: Download complete 10:42:15 25ad7478873d: Verifying Checksum 10:42:15 25ad7478873d: Download complete 10:42:15 df20fa9351a1: Verifying Checksum 10:42:15 df20fa9351a1: Download complete 10:42:15 63038576ad94: Verifying Checksum 10:42:15 63038576ad94: Download complete 10:42:15 cb7edeffdfd5: Verifying Checksum 10:42:15 cb7edeffdfd5: Download complete 10:42:15 0fdb76c4706c: Verifying Checksum 10:42:15 0fdb76c4706c: Download complete 10:42:16 54196fe38f7e: Verifying Checksum 10:42:16 54196fe38f7e: Download complete 10:42:16 df20fa9351a1: Pull complete 10:42:16 ea71acc29633: Verifying Checksum 10:42:16 ea71acc29633: Download complete 10:42:16 cc28bd76800f: Verifying Checksum 10:42:16 cc28bd76800f: Download complete 10:42:16 657cc4c15165: Verifying Checksum 10:42:16 657cc4c15165: Download complete 10:42:16 25ad7478873d: Pull complete 10:42:16 46e300cec669: Verifying Checksum 10:42:16 46e300cec669: Download complete 10:42:16 4684f6177b5d: Pull complete 10:42:19 46e300cec669: Pull complete 10:42:19 63038576ad94: Pull complete 10:42:19 0fdb76c4706c: Pull complete 10:42:19 cb7edeffdfd5: Pull complete 10:42:19 cc28bd76800f: Pull complete 10:42:19 54196fe38f7e: Pull complete 10:42:19 ea71acc29633: Pull complete 10:42:19 657cc4c15165: Pull complete 10:42:20 Digest: sha256:674f1f40ff7c8ac14f5d8b6b28d8fb1f182647ff75304d018003f1e21a0d8771 10:42:20 Status: Downloaded newer image for docker:19.03.12-dind 10:42:20 ---> 66dc2d45749a 10:42:20 Step 4/11 : RUN apk add --no-cache openssh 10:42:22 ---> Running in 1c76f7d7151b 10:42:22 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz 10:42:23 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz 10:42:24 (1/4) Installing openssh-sftp-server (8.3_p1-r1) 10:42:24 (2/4) Installing openssh-server-common (8.3_p1-r1) 10:42:24 (3/4) Installing openssh-server (8.3_p1-r1) 10:42:24 (4/4) Installing openssh (8.3_p1-r1) 10:42:24 Executing busybox-1.31.1-r16.trigger 10:42:24 OK: 28 MiB in 51 packages 10:42:24 Removing intermediate container 1c76f7d7151b 10:42:24 ---> 6cba50123912 10:42:24 Step 5/11 : RUN ssh-keygen -A 10:42:24 ---> Running in 6911c5faffae 10:42:25 ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 10:42:26 Removing intermediate container 6911c5faffae 10:42:26 ---> ceae0ab4f41d 10:42:26 Step 6/11 : RUN echo "IgnoreUserKnownHosts yes" > /etc/ssh/sshd_config && echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config && echo "PermitRootLogin yes" >> /etc/ssh/sshd_config 10:42:26 ---> Running in 2627dd5b113d 10:42:26 Removing intermediate container 2627dd5b113d 10:42:26 ---> dd2374c61a02 10:42:26 Step 7/11 : COPY tests/ssh-keys/authorized_keys /root/.ssh/authorized_keys 10:42:26 ---> d4abb1ff2c5f 10:42:26 Step 8/11 : RUN chmod 600 /root/.ssh/authorized_keys 10:42:27 ---> Running in 7aaaf5b90a2e 10:42:28 Removing intermediate container 7aaaf5b90a2e 10:42:28 ---> 955fb483c826 10:42:28 Step 9/11 : RUN echo "root:root" | chpasswd 10:42:28 ---> Running in f7d06c5aad51 10:42:28 chpasswd: password for 'root' changed 10:42:29 Removing intermediate container f7d06c5aad51 10:42:29 ---> e478dfc17721 10:42:29 Step 10/11 : RUN ln -s /usr/local/bin/docker /usr/bin/docker 10:42:29 ---> Running in 9a1fa958b3d8 10:42:30 Removing intermediate container 9a1fa958b3d8 10:42:30 ---> 04262c6e3cd8 10:42:30 Step 11/11 : EXPOSE 22 10:42:30 ---> Running in 84b22704def4 10:42:30 Removing intermediate container 84b22704def4 10:42:30 ---> ff5f13eef88a 10:42:30 Successfully built ff5f13eef88a 10:42:30 Successfully tagged dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:42:30 + docker tag dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:42:31 + docker push dockerpinata/docker-py:sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e 10:42:31 The push refers to repository [docker.io/dockerpinata/docker-py] 10:42:31 25407d8791ac: Preparing 10:42:31 6e20564d9c47: Preparing 10:42:31 bd438177c29b: Preparing 10:42:31 b688bff0ae66: Preparing 10:42:31 a17898fd9b63: Preparing 10:42:31 050ba264d63f: Preparing 10:42:31 296dd4c20690: Preparing 10:42:31 1149e736aa92: Preparing 10:42:31 39e79983ac8b: Preparing 10:42:31 da8c28465f82: Preparing 10:42:31 d1292e236c36: Preparing 10:42:31 8890c171a12b: Preparing 10:42:31 4ae5bd84d450: Preparing 10:42:31 723a561964c8: Preparing 10:42:31 78764725b56c: Preparing 10:42:31 51d6d3d09136: Preparing 10:42:31 1507bc794612: Preparing 10:42:31 50644c29ef5a: Preparing 10:42:31 050ba264d63f: Waiting 10:42:31 296dd4c20690: Waiting 10:42:31 1149e736aa92: Waiting 10:42:31 39e79983ac8b: Waiting 10:42:31 da8c28465f82: Waiting 10:42:31 d1292e236c36: Waiting 10:42:31 8890c171a12b: Waiting 10:42:31 4ae5bd84d450: Waiting 10:42:31 723a561964c8: Waiting 10:42:31 78764725b56c: Waiting 10:42:31 51d6d3d09136: Waiting 10:42:31 1507bc794612: Waiting 10:42:31 50644c29ef5a: Waiting 10:42:31 a17898fd9b63: Pushed 10:42:31 bd438177c29b: Pushed 10:42:32 25407d8791ac: Pushed 10:42:32 6e20564d9c47: Pushed 10:42:32 1149e736aa92: Layer already exists 10:42:32 39e79983ac8b: Layer already exists 10:42:32 da8c28465f82: Layer already exists 10:42:32 d1292e236c36: Layer already exists 10:42:32 8890c171a12b: Layer already exists 10:42:32 4ae5bd84d450: Layer already exists 10:42:32 723a561964c8: Layer already exists 10:42:32 51d6d3d09136: Layer already exists 10:42:32 78764725b56c: Layer already exists 10:42:32 b688bff0ae66: Pushed 10:42:32 50644c29ef5a: Layer already exists 10:42:32 1507bc794612: Layer already exists 10:42:33 050ba264d63f: Pushed 10:42:33 296dd4c20690: Pushed 10:42:35 sshdind-be49c28bae072486b0d87eeb3e923db1d12f826e: digest: sha256:a3b364c0967c544e1f887a012789bc0f75cff296b18de6d5e65800619d370083 size: 4067 [Pipeline] isUnix [Pipeline] sh 10:42:35 + docker pull dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e 10:42:35 Error response from daemon: manifest for dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e not found: manifest unknown: manifest unknown [Pipeline] isUnix [Pipeline] sh 10:42:36 + docker build -t dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e -f tests/Dockerfile --build-arg PYTHON_VERSION=2.7 . 10:42:36 Sending build context to Docker daemon 1.376MB 10:42:36 Step 1/21 : ARG PYTHON_VERSION=3.7 10:42:36 Step 2/21 : FROM python:${PYTHON_VERSION} 10:42:36 2.7: Pulling from library/python 10:42:36 7e2b2a5af8f6: Pulling fs layer 10:42:36 09b6f03ffac4: Pulling fs layer 10:42:36 dc3f0c679f0f: Pulling fs layer 10:42:36 fd4b47407fc3: Pulling fs layer 10:42:36 b32f6bf7d96d: Pulling fs layer 10:42:36 6f4489a7e4cf: Pulling fs layer 10:42:36 af4b99ad9ef0: Pulling fs layer 10:42:36 39db0bc48c26: Pulling fs layer 10:42:36 acb4a89489fc: Pulling fs layer 10:42:36 fd4b47407fc3: Waiting 10:42:36 b32f6bf7d96d: Waiting 10:42:36 6f4489a7e4cf: Waiting 10:42:36 af4b99ad9ef0: Waiting 10:42:36 39db0bc48c26: Waiting 10:42:36 acb4a89489fc: Waiting 10:42:36 dc3f0c679f0f: Verifying Checksum 10:42:36 dc3f0c679f0f: Download complete 10:42:36 09b6f03ffac4: Verifying Checksum 10:42:36 09b6f03ffac4: Download complete 10:42:37 7e2b2a5af8f6: Verifying Checksum 10:42:37 7e2b2a5af8f6: Download complete 10:42:37 fd4b47407fc3: Verifying Checksum 10:42:37 fd4b47407fc3: Download complete 10:42:37 6f4489a7e4cf: Verifying Checksum 10:42:37 6f4489a7e4cf: Download complete 10:42:37 39db0bc48c26: Verifying Checksum 10:42:37 39db0bc48c26: Download complete 10:42:37 af4b99ad9ef0: Verifying Checksum 10:42:37 af4b99ad9ef0: Download complete 10:42:37 acb4a89489fc: Verifying Checksum 10:42:37 acb4a89489fc: Download complete 10:42:38 b32f6bf7d96d: Verifying Checksum 10:42:38 b32f6bf7d96d: Download complete 10:42:40 7e2b2a5af8f6: Pull complete 10:42:40 09b6f03ffac4: Pull complete 10:42:41 dc3f0c679f0f: Pull complete 10:42:43 fd4b47407fc3: Pull complete 10:42:50 b32f6bf7d96d: Pull complete 10:42:50 6f4489a7e4cf: Pull complete 10:42:50 af4b99ad9ef0: Pull complete 10:42:51 39db0bc48c26: Pull complete 10:42:51 acb4a89489fc: Pull complete 10:42:51 Digest: sha256:cfa62318c459b1fde9e0841c619906d15ada5910d625176e24bf692cf8a2601d 10:42:51 Status: Downloaded newer image for python:2.7 10:42:51 ---> 68e7be49c28c 10:42:51 Step 3/21 : ARG APT_MIRROR 10:42:52 ---> Running in f4451d27a346 10:42:52 Removing intermediate container f4451d27a346 10:42:52 ---> 7b26f4db0f64 10:42:52 Step 4/21 : RUN sed -ri "s/(httpredir|deb).debian.org/${APT_MIRROR:-deb.debian.org}/g" /etc/apt/sources.list && sed -ri "s/(security).debian.org/${APT_MIRROR:-security.debian.org}/g" /etc/apt/sources.list 10:42:52 ---> Running in 8c95484dce8f 10:42:53 Removing intermediate container 8c95484dce8f 10:42:53 ---> 9d488379e08c 10:42:53 Step 5/21 : RUN apt-get update && apt-get -y install --no-install-recommends gnupg2 pass 10:42:53 ---> Running in 67967a7883c9 10:42:54 Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] 10:42:54 Get:2 http://deb.debian.org/debian buster InRelease [122 kB] 10:42:54 Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB] 10:42:54 Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [268 kB] 10:42:54 Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB] 10:42:54 Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [9504 B] 10:42:56 Fetched 8423 kB in 2s (4699 kB/s) 10:42:56 Reading package lists... 10:42:57 Reading package lists... 10:42:57 Building dependency tree... 10:42:57 Reading state information... 10:42:57 The following additional packages will be installed: 10:42:57 tree 10:42:57 Suggested packages: 10:42:57 libxml-simple-perl ruby 10:42:57 Recommended packages: 10:42:57 qrencode xclip 10:42:57 The following NEW packages will be installed: 10:42:57 gnupg2 pass tree 10:42:57 0 upgraded, 3 newly installed, 0 to remove and 94 not upgraded. 10:42:57 Need to get 481 kB of archives. 10:42:57 After this operation, 684 kB of additional disk space will be used. 10:42:57 Get:1 http://deb.debian.org/debian buster/main amd64 gnupg2 all 2.2.12-1+deb10u1 [393 kB] 10:42:57 Get:2 http://deb.debian.org/debian buster/main amd64 tree amd64 1.8.0-1 [49.3 kB] 10:42:57 Get:3 http://deb.debian.org/debian buster/main amd64 pass all 1.7.3-2 [39.2 kB] 10:42:57 debconf: delaying package configuration, since apt-utils is not installed 10:42:57 Fetched 481 kB in 0s (1828 kB/s) 10:42:57 Selecting previously unselected package gnupg2. 10:42:57 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 24538 files and directories currently installed.) 10:42:57 Preparing to unpack .../gnupg2_2.2.12-1+deb10u1_all.deb ... 10:42:57 Unpacking gnupg2 (2.2.12-1+deb10u1) ... 10:42:57 Selecting previously unselected package tree. 10:42:57 Preparing to unpack .../tree_1.8.0-1_amd64.deb ... 10:42:57 Unpacking tree (1.8.0-1) ... 10:42:57 Selecting previously unselected package pass. 10:42:57 Preparing to unpack .../archives/pass_1.7.3-2_all.deb ... 10:42:57 Unpacking pass (1.7.3-2) ... 10:42:57 Setting up gnupg2 (2.2.12-1+deb10u1) ... 10:42:57 Setting up tree (1.8.0-1) ... 10:42:57 Setting up pass (1.7.3-2) ... 10:42:58 Removing intermediate container 67967a7883c9 10:42:58 ---> 4d21ee4c3a56 10:42:58 Step 6/21 : COPY tests/ssh-keys /root/.ssh 10:42:58 ---> c4139d1355d9 10:42:58 Step 7/21 : RUN chmod -R 600 /root/.ssh 10:42:58 ---> Running in 5f845cbd611a 10:42:59 Removing intermediate container 5f845cbd611a 10:42:59 ---> 41fc294df01d 10:42:59 Step 8/21 : COPY ./tests/gpg-keys /gpg-keys 10:42:59 ---> 88d04c987944 10:42:59 Step 9/21 : RUN gpg2 --import gpg-keys/secret 10:42:59 ---> Running in 4d63639a3e2b 10:43:00 gpg: directory '/root/.gnupg' created 10:43:00 gpg: keybox '/root/.gnupg/pubring.kbx' created 10:43:00 gpg: /root/.gnupg/trustdb.gpg: trustdb created 10:43:00 gpg: key 464ED987A7B21401: public key "Sakuya Izayoi <sakuya@gensokyo.jp>" imported 10:43:00 gpg: key 464ED987A7B21401: secret key imported 10:43:00 gpg: Total number processed: 1 10:43:00 gpg: imported: 1 10:43:00 gpg: secret keys read: 1 10:43:00 gpg: secret keys imported: 1 10:43:00 Removing intermediate container 4d63639a3e2b 10:43:00 ---> e418c865e553 10:43:00 Step 10/21 : RUN gpg2 --import-ownertrust gpg-keys/ownertrust 10:43:00 ---> Running in b42aae89f4d0 10:43:01 gpg: inserting ownertrust of 6 10:43:01 Removing intermediate container b42aae89f4d0 10:43:01 ---> 2b311c4d603c 10:43:01 Step 11/21 : RUN yes | pass init $(gpg2 --no-auto-check-trustdb --list-secret-key | awk '/^sec/{getline; $1=$1; print}') 10:43:01 ---> Running in 4c1017ae6036 10:43:01 gpg: please do a --check-trustdb 10:43:01 mkdir: created directory '/root/.password-store/' 10:43:01 Password store initialized for 9781B87DAB042E6FD51388A5464ED987A7B21401 10:43:02 Removing intermediate container 4c1017ae6036 10:43:02 ---> 1ccd11c4aecf 10:43:02 Step 12/21 : RUN gpg2 --check-trustdb 10:43:02 ---> Running in 4b0e25c14a56 10:43:02 gpg: marginals needed: 3 completes needed: 1 trust model: pgp 10:43:02 gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u 10:43:03 Removing intermediate container 4b0e25c14a56 10:43:03 ---> 4afa11be62cf 10:43:03 Step 13/21 : ARG CREDSTORE_VERSION=v0.6.3 10:43:03 ---> Running in 7feb6eae17a7 10:43:03 Removing intermediate container 7feb6eae17a7 10:43:03 ---> b19c0ca36229 10:43:03 Step 14/21 : RUN curl -sSL -o /opt/docker-credential-pass.tar.gz https://github.com/docker/docker-credential-helpers/releases/download/$CREDSTORE_VERSION/docker-credential-pass-$CREDSTORE_VERSION-amd64.tar.gz && tar -xf /opt/docker-credential-pass.tar.gz -O > /usr/local/bin/docker-credential-pass && rm -rf /opt/docker-credential-pass.tar.gz && chmod +x /usr/local/bin/docker-credential-pass 10:43:03 ---> Running in 3d8270747cda 10:43:03 Removing intermediate container 3d8270747cda 10:43:03 ---> d9f18e872b7d 10:43:03 Step 15/21 : WORKDIR /src 10:43:04 ---> Running in dd051aed8bed 10:43:04 Removing intermediate container dd051aed8bed 10:43:04 ---> 45f7e535cb6b 10:43:04 Step 16/21 : COPY requirements.txt /src/requirements.txt 10:43:04 ---> 23bf36d76ea6 10:43:04 Step 17/21 : RUN pip install -r requirements.txt 10:43:04 ---> Running in d65580869a7b 10:43:05 DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. 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 10:43:05 Ignoring pywin32: markers 'sys_platform == "win32"' don't match your environment 10:43:05 Requirement already satisfied: appdirs==1.4.3 in /usr/local/lib/python2.7/site-packages (from -r requirements.txt (line 1)) (1.4.3) 10:43:09 Collecting asn1crypto==0.22.0 10:43:10 Downloading asn1crypto-0.22.0-py2.py3-none-any.whl (97 kB) 10:43:10 Collecting backports.ssl-match-hostname==3.5.0.1 10:43:10 Downloading backports.ssl_match_hostname-3.5.0.1.tar.gz (5.6 kB) 10:43:11 Collecting cffi==1.14.4 10:43:11 Downloading cffi-1.14.4-cp27-cp27mu-manylinux1_x86_64.whl (389 kB) 10:43:11 Collecting cryptography==3.2 10:43:11 Downloading cryptography-3.2-cp27-cp27mu-manylinux2010_x86_64.whl (2.7 MB) 10:43:11 Collecting enum34==1.1.6 10:43:11 Downloading enum34-1.1.6-py2-none-any.whl (12 kB) 10:43:11 Collecting idna==2.5 10:43:11 Downloading idna-2.5-py2.py3-none-any.whl (55 kB) 10:43:11 Collecting ipaddress==1.0.18 10:43:11 Downloading ipaddress-1.0.18-py2-none-any.whl (17 kB) 10:43:11 Collecting packaging==16.8 10:43:11 Downloading packaging-16.8-py2.py3-none-any.whl (23 kB) 10:43:11 Collecting paramiko==2.4.2 10:43:11 Downloading paramiko-2.4.2-py2.py3-none-any.whl (193 kB) 10:43:11 Collecting pycparser==2.17 10:43:11 Downloading pycparser-2.17.tar.gz (231 kB) 10:43:12 Collecting pyOpenSSL==18.0.0 10:43:12 Downloading pyOpenSSL-18.0.0-py2.py3-none-any.whl (53 kB) 10:43:12 Collecting pyparsing==2.2.0 10:43:12 Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56 kB) 10:43:12 Collecting requests==2.20.0 10:43:12 Downloading requests-2.20.0-py2.py3-none-any.whl (60 kB) 10:43:12 Collecting six==1.10.0 10:43:12 Downloading six-1.10.0-py2.py3-none-any.whl (10 kB) 10:43:12 Collecting urllib3==1.24.3 10:43:12 Downloading urllib3-1.24.3-py2.py3-none-any.whl (118 kB) 10:43:12 Collecting websocket-client==0.56.0 10:43:12 Downloading websocket_client-0.56.0-py2.py3-none-any.whl (200 kB) 10:43:12 Collecting pyasn1>=0.1.7 10:43:12 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) 10:43:12 Collecting pynacl>=1.0.1 10:43:12 Downloading PyNaCl-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl (964 kB) 10:43:12 Collecting bcrypt>=3.1.3 10:43:12 Downloading bcrypt-3.1.7-cp27-cp27mu-manylinux1_x86_64.whl (59 kB) 10:43:12 Collecting certifi>=2017.4.17 10:43:12 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) 10:43:12 Collecting chardet<3.1.0,>=3.0.2 10:43:12 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) 10:43:12 Building wheels for collected packages: backports.ssl-match-hostname, pycparser 10:43:12 Building wheel for backports.ssl-match-hostname (setup.py): started 10:43:13 Building wheel for backports.ssl-match-hostname (setup.py): finished with status 'done' 10:43:13 Created wheel for backports.ssl-match-hostname: filename=backports.ssl_match_hostname-3.5.0.1-py2-none-any.whl size=5209 sha256=21a29ee9ceed42c8a179a5d1a3821b9eed21458b1797672eed99f2804bae263d 10:43:13 Stored in directory: /root/.cache/pip/wheels/19/dd/8c/6cad8e6c38a9fe006dd7423ca1655bb1eb3cb94c5ce1814e4f 10:43:13 Building wheel for pycparser (setup.py): started 10:43:13 Building wheel for pycparser (setup.py): finished with status 'done' 10:43:13 Created wheel for pycparser: filename=pycparser-2.17-py2.py3-none-any.whl size=193884 sha256=3e644a4b3bc6fcaa2a2b6f59d4c35eb335c38d11f14a015f422e8b0d4f6e9cdf 10:43:13 Stored in directory: /root/.cache/pip/wheels/03/08/f2/bf70552f051cd78e9d8fe7d196ef762858dcfa156965e3a1e3 10:43:13 Successfully built backports.ssl-match-hostname pycparser 10:43:13 Installing collected packages: asn1crypto, backports.ssl-match-hostname, pycparser, cffi, ipaddress, six, enum34, cryptography, idna, pyparsing, packaging, pyasn1, pynacl, bcrypt, paramiko, pyOpenSSL, certifi, chardet, urllib3, requests, websocket-client 10:43:13 Attempting uninstall: six 10:43:13 Found existing installation: six 1.14.0 10:43:13 Uninstalling six-1.14.0: 10:43:13 Successfully uninstalled six-1.14.0 10:43:14 Successfully installed asn1crypto-0.22.0 backports.ssl-match-hostname-3.5.0.1 bcrypt-3.1.7 certifi-2020.12.5 cffi-1.14.4 chardet-3.0.4 cryptography-3.2 enum34-1.1.6 idna-2.5 ipaddress-1.0.18 packaging-16.8 paramiko-2.4.2 pyOpenSSL-18.0.0 pyasn1-0.4.8 pycparser-2.17 pynacl-1.4.0 pyparsing-2.2.0 requests-2.20.0 six-1.10.0 urllib3-1.24.3 websocket-client-0.56.0 10:43:18 WARNING: You are using pip version 20.0.2; however, version 20.3.4 is available. 10:43:18 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. 10:43:20 Removing intermediate container d65580869a7b 10:43:20 ---> caa60bc5a032 10:43:20 Step 18/21 : COPY test-requirements.txt /src/test-requirements.txt 10:43:20 ---> c3ba77c020cb 10:43:20 Step 19/21 : RUN pip install -r test-requirements.txt 10:43:20 ---> Running in 49eccd768ae5 10:43:20 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release. 10:43:20 from cryptography import x509 10:43:20 DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. 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 10:43:25 Collecting setuptools==44.0.0 10:43:26 Downloading setuptools-44.0.0-py2.py3-none-any.whl (583 kB) 10:43:26 Collecting coverage==4.5.2 10:43:26 Downloading coverage-4.5.2-cp27-cp27mu-manylinux1_x86_64.whl (201 kB) 10:43:27 Collecting flake8==3.6.0 10:43:27 Downloading flake8-3.6.0-py2.py3-none-any.whl (68 kB) 10:43:27 Collecting mock==1.0.1 10:43:27 Downloading mock-1.0.1.tar.gz (818 kB) 10:43:27 Collecting pytest==4.3.1 10:43:27 Downloading pytest-4.3.1-py2.py3-none-any.whl (219 kB) 10:43:27 Collecting pytest-cov==2.6.1 10:43:27 Downloading pytest_cov-2.6.1-py2.py3-none-any.whl (16 kB) 10:43:27 Collecting pytest-timeout==1.3.3 10:43:27 Downloading pytest_timeout-1.3.3-py2.py3-none-any.whl (9.8 kB) 10:43:27 Collecting pyflakes<2.1.0,>=2.0.0 10:43:27 Downloading pyflakes-2.0.0-py2.py3-none-any.whl (53 kB) 10:43:27 Requirement already satisfied: configparser; python_version < "3.2" in /usr/local/lib/python2.7/site-packages (from flake8==3.6.0->-r test-requirements.txt (line 3)) (4.0.2) 10:43:27 Requirement already satisfied: enum34; python_version < "3.4" in /usr/local/lib/python2.7/site-packages (from flake8==3.6.0->-r test-requirements.txt (line 3)) (1.1.6) 10:43:27 Collecting pycodestyle<2.5.0,>=2.4.0 10:43:27 Downloading pycodestyle-2.4.0-py2.py3-none-any.whl (62 kB) 10:43:27 Collecting mccabe<0.7.0,>=0.6.0 10:43:27 Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB) 10:43:27 Requirement already satisfied: pathlib2>=2.2.0; python_version < "3.6" in /usr/local/lib/python2.7/site-packages (from pytest==4.3.1->-r test-requirements.txt (line 5)) (2.3.5) 10:43:27 Collecting atomicwrites>=1.0 10:43:27 Downloading atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB) 10:43:27 Collecting py>=1.5.0 10:43:27 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) 10:43:27 Collecting attrs>=17.4.0 10:43:27 Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB) 10:43:28 Collecting more-itertools<6.0.0,>=4.0.0; python_version <= "2.7" 10:43:28 Downloading more_itertools-5.0.0-py2-none-any.whl (52 kB) 10:43:28 Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python2.7/site-packages (from pytest==4.3.1->-r test-requirements.txt (line 5)) (1.10.0) 10:43:28 Collecting pluggy>=0.7 10:43:28 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) 10:43:28 Collecting funcsigs; python_version < "3.0" 10:43:28 Downloading funcsigs-1.0.2-py2.py3-none-any.whl (17 kB) 10:43:28 Requirement already satisfied: scandir; python_version < "3.5" in /usr/local/lib/python2.7/site-packages (from pathlib2>=2.2.0; python_version < "3.6"->pytest==4.3.1->-r test-requirements.txt (line 5)) (1.10.0) 10:43:28 Requirement already satisfied: importlib-metadata>=0.12; python_version < "3.8" in /usr/local/lib/python2.7/site-packages (from pluggy>=0.7->pytest==4.3.1->-r test-requirements.txt (line 5)) (1.6.0) 10:43:28 Requirement already satisfied: contextlib2; python_version < "3" in /usr/local/lib/python2.7/site-packages (from importlib-metadata>=0.12; python_version < "3.8"->pluggy>=0.7->pytest==4.3.1->-r test-requirements.txt (line 5)) (0.6.0.post1) 10:43:28 Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python2.7/site-packages (from importlib-metadata>=0.12; python_version < "3.8"->pluggy>=0.7->pytest==4.3.1->-r test-requirements.txt (line 5)) (1.2.0) 10:43:28 Building wheels for collected packages: mock 10:43:28 Building wheel for mock (setup.py): started 10:43:28 Building wheel for mock (setup.py): finished with status 'done' 10:43:28 Created wheel for mock: filename=mock-1.0.1-py2-none-any.whl size=23755 sha256=486f2c6656637eb465e42368c570824a82228fc2202eb15ff59c0351de754e53 10:43:28 Stored in directory: /root/.cache/pip/wheels/ad/62/e0/a06cc957652749e64c7904e899eca3ecb2ec47c60d52653660 10:43:28 Successfully built mock 10:43:28 Installing collected packages: setuptools, coverage, pyflakes, pycodestyle, mccabe, flake8, mock, atomicwrites, py, attrs, more-itertools, pluggy, funcsigs, pytest, pytest-cov, pytest-timeout 10:43:28 Attempting uninstall: setuptools 10:43:28 Found existing installation: setuptools 44.1.0 10:43:28 Uninstalling setuptools-44.1.0: 10:43:28 Successfully uninstalled setuptools-44.1.0 10:43:29 Successfully installed atomicwrites-1.4.0 attrs-20.3.0 coverage-4.5.2 flake8-3.6.0 funcsigs-1.0.2 mccabe-0.6.1 mock-1.0.1 more-itertools-5.0.0 pluggy-0.13.1 py-1.10.0 pycodestyle-2.4.0 pyflakes-2.0.0 pytest-4.3.1 pytest-cov-2.6.1 pytest-timeout-1.3.3 setuptools-44.0.0 10:43:29 WARNING: You are using pip version 20.0.2; however, version 20.3.4 is available. 10:43:29 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. 10:43:30 Removing intermediate container 49eccd768ae5 10:43:30 ---> 7bb8c2088c1b 10:43:30 Step 20/21 : COPY . /src 10:43:30 ---> 659f1127ec62 10:43:30 Step 21/21 : RUN pip install . 10:43:30 ---> Running in 6644daa2b50e 10:43:31 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release. 10:43:31 from cryptography import x509 10:43:31 DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. 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 10:43:31 Processing /src 10:43:31 Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python2.7/site-packages (from docker==4.5.0.dev0) (1.10.0) 10:43:31 Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python2.7/site-packages (from docker==4.5.0.dev0) (0.56.0) 10:43:31 Requirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/local/lib/python2.7/site-packages (from docker==4.5.0.dev0) (2.20.0) 10:43:31 Requirement already satisfied: backports.ssl_match_hostname>=3.5 in /usr/local/lib/python2.7/site-packages (from docker==4.5.0.dev0) (3.5.0.1) 10:43:31 Requirement already satisfied: ipaddress>=1.0.16 in /usr/local/lib/python2.7/site-packages (from docker==4.5.0.dev0) (1.0.18) 10:43:31 Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (2020.12.5) 10:43:31 Requirement already satisfied: idna<2.8,>=2.5 in /usr/local/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (2.5) 10:43:31 Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (3.0.4) 10:43:31 Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (1.24.3) 10:43:31 Building wheels for collected packages: docker 10:43:31 Building wheel for docker (setup.py): started 10:43:31 Building wheel for docker (setup.py): finished with status 'done' 10:43:31 Created wheel for docker: filename=docker-4.5.0.dev0-py2.py3-none-any.whl size=147070 sha256=36c166f08dd3fd70de1e1de77d3e5d58e14d020ebd51207c4cb87dd6e1f58299 10:43:31 Stored in directory: /tmp/pip-ephem-wheel-cache-giuLCK/wheels/dc/45/28/050a7fcd95fc9b9f504d64d6668214323c48b439857458e65c 10:43:31 Successfully built docker 10:43:31 Installing collected packages: docker 10:43:31 Successfully installed docker-4.5.0.dev0 10:43:31 WARNING: You are using pip version 20.0.2; however, version 20.3.4 is available. 10:43:31 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. 10:43:32 Removing intermediate container 6644daa2b50e 10:43:32 ---> c5f6af5b8400 10:43:32 Successfully built c5f6af5b8400 10:43:32 Successfully tagged dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:43:32 + docker tag dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:43:32 + docker push dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e 10:43:32 The push refers to repository [docker.io/dockerpinata/docker-py] 10:43:32 f6a6b24b630a: Preparing 10:43:32 5a6a7b39e313: Preparing 10:43:32 bdfd0ad9939e: Preparing 10:43:32 42436de5f75c: Preparing 10:43:32 06d76d74f771: Preparing 10:43:32 54f1b7cc6691: Preparing 10:43:32 152be17dd978: Preparing 10:43:32 eab14d775da0: Preparing 10:43:32 d150b8e62b55: Preparing 10:43:32 8ac3c279c86e: Preparing 10:43:32 e47fdfd295db: Preparing 10:43:32 7689bf9a5876: Preparing 10:43:32 60503356bd6b: Preparing 10:43:32 20d6b3938edf: Preparing 10:43:32 25b476014be6: Preparing 10:43:32 212ff9c7faf3: Preparing 10:43:32 9aa843354839: Preparing 10:43:32 e571d2d3c73c: Preparing 10:43:32 da7b0a80a4f2: Preparing 10:43:32 ceee8816bb96: Preparing 10:43:32 47458fb45d99: Preparing 10:43:32 46829331b1e4: Preparing 10:43:32 d35c5bda4793: Preparing 10:43:32 a3c1026c6bcc: Preparing 10:43:32 f1d420c2af1a: Preparing 10:43:32 461719022993: Preparing 10:43:32 152be17dd978: Waiting 10:43:32 eab14d775da0: Waiting 10:43:32 d150b8e62b55: Waiting 10:43:32 8ac3c279c86e: Waiting 10:43:32 e47fdfd295db: Waiting 10:43:32 7689bf9a5876: Waiting 10:43:32 60503356bd6b: Waiting 10:43:32 20d6b3938edf: Waiting 10:43:32 25b476014be6: Waiting 10:43:32 212ff9c7faf3: Waiting 10:43:32 54f1b7cc6691: Waiting 10:43:32 9aa843354839: Waiting 10:43:32 e571d2d3c73c: Waiting 10:43:32 da7b0a80a4f2: Waiting 10:43:32 ceee8816bb96: Waiting 10:43:32 47458fb45d99: Waiting 10:43:32 46829331b1e4: Waiting 10:43:32 d35c5bda4793: Waiting 10:43:32 a3c1026c6bcc: Waiting 10:43:32 f1d420c2af1a: Waiting 10:43:32 461719022993: Waiting 10:43:34 42436de5f75c: Pushed 10:43:34 5a6a7b39e313: Pushed 10:43:35 54f1b7cc6691: Pushed 10:43:35 f6a6b24b630a: Pushed 10:43:35 152be17dd978: Pushed 10:43:35 bdfd0ad9939e: Pushed 10:43:36 d150b8e62b55: Pushed 10:43:36 06d76d74f771: Pushed 10:43:36 8ac3c279c86e: Pushed 10:43:37 e47fdfd295db: Pushed 10:43:37 eab14d775da0: Pushed 10:43:37 7689bf9a5876: Pushed 10:43:37 60503356bd6b: Pushed 10:43:38 e571d2d3c73c: Layer already exists 10:43:38 da7b0a80a4f2: Layer already exists 10:43:38 20d6b3938edf: Pushed 10:43:38 47458fb45d99: Layer already exists 10:43:38 ceee8816bb96: Layer already exists 10:43:38 46829331b1e4: Layer already exists 10:43:38 d35c5bda4793: Layer already exists 10:43:38 a3c1026c6bcc: Layer already exists 10:43:38 f1d420c2af1a: Layer already exists 10:43:38 461719022993: Layer already exists 10:43:38 25b476014be6: Pushed 10:43:38 9aa843354839: Pushed 10:43:40 212ff9c7faf3: Pushed 10:43:42 py2-be49c28bae072486b0d87eeb3e923db1d12f826e: digest: sha256:f89b826c4172d547ce30b5f59f1ac3bbe7bd9fea05da3a5630c86ef9b2e5f32b size: 5769 [Pipeline] isUnix [Pipeline] sh 10:43:42 + docker pull dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e 10:43:42 Error response from daemon: manifest for dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e not found: manifest unknown: manifest unknown [Pipeline] isUnix [Pipeline] sh 10:43:42 + docker build -t dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e -f tests/Dockerfile --build-arg PYTHON_VERSION=3.7 . 10:43:42 Sending build context to Docker daemon 1.376MB 10:43:42 Step 1/21 : ARG PYTHON_VERSION=3.7 10:43:42 Step 2/21 : FROM python:${PYTHON_VERSION} 10:43:43 3.7: Pulling from library/python 10:43:43 0ecb575e629c: Pulling fs layer 10:43:43 7467d1831b69: Pulling fs layer 10:43:43 feab2c490a3c: Pulling fs layer 10:43:43 f15a0f46f8c3: Pulling fs layer 10:43:43 937782447ff6: Pulling fs layer 10:43:43 e78b7aaaab2c: Pulling fs layer 10:43:43 d6bffa7c00e3: Pulling fs layer 10:43:43 20e485dc4919: Pulling fs layer 10:43:43 d691069cb281: Pulling fs layer 10:43:43 f15a0f46f8c3: Waiting 10:43:43 937782447ff6: Waiting 10:43:43 e78b7aaaab2c: Waiting 10:43:43 d6bffa7c00e3: Waiting 10:43:43 20e485dc4919: Waiting 10:43:43 d691069cb281: Waiting 10:43:43 7467d1831b69: Verifying Checksum 10:43:43 7467d1831b69: Download complete 10:43:43 feab2c490a3c: Verifying Checksum 10:43:43 feab2c490a3c: Download complete 10:43:43 0ecb575e629c: Verifying Checksum 10:43:43 0ecb575e629c: Download complete 10:43:44 e78b7aaaab2c: Verifying Checksum 10:43:44 e78b7aaaab2c: Download complete 10:43:44 f15a0f46f8c3: Verifying Checksum 10:43:44 f15a0f46f8c3: Download complete 10:43:44 20e485dc4919: Verifying Checksum 10:43:44 20e485dc4919: Download complete 10:43:44 d6bffa7c00e3: Verifying Checksum 10:43:44 d6bffa7c00e3: Download complete 10:43:44 d691069cb281: Verifying Checksum 10:43:44 d691069cb281: Download complete 10:43:45 937782447ff6: Verifying Checksum 10:43:45 937782447ff6: Download complete 10:43:46 0ecb575e629c: Pull complete 10:43:47 7467d1831b69: Pull complete 10:43:47 feab2c490a3c: Pull complete 10:43:49 f15a0f46f8c3: Pull complete 10:43:58 937782447ff6: Pull complete 10:43:58 e78b7aaaab2c: Pull complete 10:43:58 d6bffa7c00e3: Pull complete 10:43:58 20e485dc4919: Pull complete 10:43:58 d691069cb281: Pull complete 10:43:58 Digest: sha256:40b5df4a22109e11fcd2d5a36c146687072c5b18771162180146646d9e73029d 10:43:58 Status: Downloaded newer image for python:3.7 10:43:58 ---> 2699987679cd 10:43:58 Step 3/21 : ARG APT_MIRROR 10:43:59 ---> Running in f473e1175eb5 10:43:59 Removing intermediate container f473e1175eb5 10:43:59 ---> 70dc9cd7b084 10:43:59 Step 4/21 : RUN sed -ri "s/(httpredir|deb).debian.org/${APT_MIRROR:-deb.debian.org}/g" /etc/apt/sources.list && sed -ri "s/(security).debian.org/${APT_MIRROR:-security.debian.org}/g" /etc/apt/sources.list 10:43:59 ---> Running in 828e357c8db5 10:44:00 Removing intermediate container 828e357c8db5 10:44:00 ---> 8d57f030cd17 10:44:00 Step 5/21 : RUN apt-get update && apt-get -y install --no-install-recommends gnupg2 pass 10:44:00 ---> Running in e61840bd9034 10:44:00 Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] 10:44:00 Get:2 http://deb.debian.org/debian buster InRelease [122 kB] 10:44:00 Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB] 10:44:00 Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [268 kB] 10:44:00 Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB] 10:44:00 Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [9504 B] 10:44:02 Fetched 8423 kB in 2s (4745 kB/s) 10:44:02 Reading package lists... 10:44:03 Reading package lists... 10:44:03 Building dependency tree... 10:44:03 Reading state information... 10:44:03 The following additional packages will be installed: 10:44:03 tree 10:44:03 Suggested packages: 10:44:03 libxml-simple-perl ruby 10:44:03 Recommended packages: 10:44:03 qrencode xclip 10:44:03 The following NEW packages will be installed: 10:44:03 gnupg2 pass tree 10:44:03 0 upgraded, 3 newly installed, 0 to remove and 8 not upgraded. 10:44:03 Need to get 481 kB of archives. 10:44:03 After this operation, 684 kB of additional disk space will be used. 10:44:03 Get:1 http://deb.debian.org/debian buster/main amd64 gnupg2 all 2.2.12-1+deb10u1 [393 kB] 10:44:03 Get:2 http://deb.debian.org/debian buster/main amd64 tree amd64 1.8.0-1 [49.3 kB] 10:44:03 Get:3 http://deb.debian.org/debian buster/main amd64 pass all 1.7.3-2 [39.2 kB] 10:44:03 debconf: delaying package configuration, since apt-utils is not installed 10:44:04 Fetched 481 kB in 0s (1820 kB/s) 10:44:04 Selecting previously unselected package gnupg2. 10:44:04 (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 24611 files and directories currently installed.) 10:44:04 Preparing to unpack .../gnupg2_2.2.12-1+deb10u1_all.deb ... 10:44:04 Unpacking gnupg2 (2.2.12-1+deb10u1) ... 10:44:04 Selecting previously unselected package tree. 10:44:04 Preparing to unpack .../tree_1.8.0-1_amd64.deb ... 10:44:04 Unpacking tree (1.8.0-1) ... 10:44:04 Selecting previously unselected package pass. 10:44:04 Preparing to unpack .../archives/pass_1.7.3-2_all.deb ... 10:44:04 Unpacking pass (1.7.3-2) ... 10:44:04 Setting up gnupg2 (2.2.12-1+deb10u1) ... 10:44:04 Setting up tree (1.8.0-1) ... 10:44:04 Setting up pass (1.7.3-2) ... 10:44:05 Removing intermediate container e61840bd9034 10:44:05 ---> c733e0ba0abf 10:44:05 Step 6/21 : COPY tests/ssh-keys /root/.ssh 10:44:05 ---> 2edccf464740 10:44:05 Step 7/21 : RUN chmod -R 600 /root/.ssh 10:44:05 ---> Running in 8075bec1f812 10:44:06 Removing intermediate container 8075bec1f812 10:44:06 ---> b51b6cb09352 10:44:06 Step 8/21 : COPY ./tests/gpg-keys /gpg-keys 10:44:06 ---> 7dec1638f865 10:44:06 Step 9/21 : RUN gpg2 --import gpg-keys/secret 10:44:06 ---> Running in 815b07696c1d 10:44:06 gpg: directory '/root/.gnupg' created 10:44:06 gpg: keybox '/root/.gnupg/pubring.kbx' created 10:44:06 gpg: /root/.gnupg/trustdb.gpg: trustdb created 10:44:06 gpg: key 464ED987A7B21401: public key "Sakuya Izayoi <sakuya@gensokyo.jp>" imported 10:44:06 gpg: key 464ED987A7B21401: secret key imported 10:44:06 gpg: Total number processed: 1 10:44:06 gpg: imported: 1 10:44:06 gpg: secret keys read: 1 10:44:06 gpg: secret keys imported: 1 10:44:07 Removing intermediate container 815b07696c1d 10:44:07 ---> bfc9827fd58a 10:44:07 Step 10/21 : RUN gpg2 --import-ownertrust gpg-keys/ownertrust 10:44:07 ---> Running in a7a08fd631ae 10:44:07 gpg: inserting ownertrust of 6 10:44:08 Removing intermediate container a7a08fd631ae 10:44:08 ---> 8c3b4171039a 10:44:08 Step 11/21 : RUN yes | pass init $(gpg2 --no-auto-check-trustdb --list-secret-key | awk '/^sec/{getline; $1=$1; print}') 10:44:08 ---> Running in 3187ea20e7ee 10:44:08 gpg: please do a --check-trustdb 10:44:08 mkdir: created directory '/root/.password-store/' 10:44:08 Password store initialized for 9781B87DAB042E6FD51388A5464ED987A7B21401 10:44:08 Removing intermediate container 3187ea20e7ee 10:44:08 ---> c9b599c4fbbe 10:44:08 Step 12/21 : RUN gpg2 --check-trustdb 10:44:08 ---> Running in 48d10f7f669b 10:44:09 gpg: marginals needed: 3 completes needed: 1 trust model: pgp 10:44:09 gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u 10:44:09 Removing intermediate container 48d10f7f669b 10:44:09 ---> cd37b6e509a5 10:44:09 Step 13/21 : ARG CREDSTORE_VERSION=v0.6.3 10:44:09 ---> Running in 3abdd9e55284 10:44:09 Removing intermediate container 3abdd9e55284 10:44:09 ---> e44295d1ba5b 10:44:09 Step 14/21 : RUN curl -sSL -o /opt/docker-credential-pass.tar.gz https://github.com/docker/docker-credential-helpers/releases/download/$CREDSTORE_VERSION/docker-credential-pass-$CREDSTORE_VERSION-amd64.tar.gz && tar -xf /opt/docker-credential-pass.tar.gz -O > /usr/local/bin/docker-credential-pass && rm -rf /opt/docker-credential-pass.tar.gz && chmod +x /usr/local/bin/docker-credential-pass 10:44:09 ---> Running in 0d16ac8ba5d9 10:44:10 Removing intermediate container 0d16ac8ba5d9 10:44:10 ---> c8ea729128aa 10:44:10 Step 15/21 : WORKDIR /src 10:44:10 ---> Running in 92d234aa1c19 10:44:10 Removing intermediate container 92d234aa1c19 10:44:10 ---> cca3a385ef78 10:44:10 Step 16/21 : COPY requirements.txt /src/requirements.txt 10:44:10 ---> 7570937fb781 10:44:10 Step 17/21 : RUN pip install -r requirements.txt 10:44:10 ---> Running in efa2f9834b86 10:44:12 Ignoring pywin32: markers 'sys_platform == "win32"' don't match your environment 10:44:17 Collecting appdirs==1.4.3 10:44:17 Downloading appdirs-1.4.3-py2.py3-none-any.whl (12 kB) 10:44:17 Collecting asn1crypto==0.22.0 10:44:17 Downloading asn1crypto-0.22.0-py2.py3-none-any.whl (97 kB) 10:44:17 Collecting backports.ssl-match-hostname==3.5.0.1 10:44:17 Downloading backports.ssl_match_hostname-3.5.0.1.tar.gz (5.6 kB) 10:44:18 Collecting cffi==1.14.4 10:44:18 Downloading cffi-1.14.4-cp37-cp37m-manylinux1_x86_64.whl (402 kB) 10:44:18 Collecting cryptography==3.2 10:44:18 Downloading cryptography-3.2-cp35-abi3-manylinux2010_x86_64.whl (2.6 MB) 10:44:18 Collecting enum34==1.1.6 10:44:18 Downloading enum34-1.1.6-py3-none-any.whl (12 kB) 10:44:18 Collecting idna==2.5 10:44:18 Downloading idna-2.5-py2.py3-none-any.whl (55 kB) 10:44:18 Collecting ipaddress==1.0.18 10:44:18 Downloading ipaddress-1.0.18.tar.gz (32 kB) 10:44:18 Collecting packaging==16.8 10:44:18 Downloading packaging-16.8-py2.py3-none-any.whl (23 kB) 10:44:18 Collecting paramiko==2.4.2 10:44:18 Downloading paramiko-2.4.2-py2.py3-none-any.whl (193 kB) 10:44:18 Collecting pycparser==2.17 10:44:18 Downloading pycparser-2.17.tar.gz (231 kB) 10:44:19 Collecting pyOpenSSL==18.0.0 10:44:19 Downloading pyOpenSSL-18.0.0-py2.py3-none-any.whl (53 kB) 10:44:19 Collecting pyparsing==2.2.0 10:44:19 Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56 kB) 10:44:19 Collecting requests==2.20.0 10:44:19 Downloading requests-2.20.0-py2.py3-none-any.whl (60 kB) 10:44:19 Collecting six==1.10.0 10:44:19 Downloading six-1.10.0-py2.py3-none-any.whl (10 kB) 10:44:19 Collecting urllib3==1.24.3 10:44:19 Downloading urllib3-1.24.3-py2.py3-none-any.whl (118 kB) 10:44:19 Collecting websocket-client==0.56.0 10:44:19 Downloading websocket_client-0.56.0-py2.py3-none-any.whl (200 kB) 10:44:19 Collecting pyasn1>=0.1.7 10:44:19 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) 10:44:19 Collecting pynacl>=1.0.1 10:44:19 Downloading PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl (961 kB) 10:44:19 Collecting bcrypt>=3.1.3 10:44:19 Downloading bcrypt-3.2.0-cp36-abi3-manylinux2010_x86_64.whl (63 kB) 10:44:19 Collecting chardet<3.1.0,>=3.0.2 10:44:19 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) 10:44:19 Collecting certifi>=2017.4.17 10:44:19 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) 10:44:19 Building wheels for collected packages: backports.ssl-match-hostname, ipaddress, pycparser 10:44:19 Building wheel for backports.ssl-match-hostname (setup.py): started 10:44:20 Building wheel for backports.ssl-match-hostname (setup.py): finished with status 'done' 10:44:20 Created wheel for backports.ssl-match-hostname: filename=backports.ssl_match_hostname-3.5.0.1-py3-none-any.whl size=5206 sha256=6fb46a17875825bcb4cbdf54a7cac98fa59c3f02f85489bf9dd3e2eedd5a7097 10:44:20 Stored in directory: /root/.cache/pip/wheels/93/72/f6/df894bfc7947d11f89dbdb4e9b786703a43cd547c1b5e8c738 10:44:20 Building wheel for ipaddress (setup.py): started 10:44:20 Building wheel for ipaddress (setup.py): finished with status 'done' 10:44:20 Created wheel for ipaddress: filename=ipaddress-1.0.18-py3-none-any.whl size=18105 sha256=5e0efc79735e2bfb6017ab22fb51d8eca43d9c63a66c7c2bb31c75530827923a 10:44:20 Stored in directory: /root/.cache/pip/wheels/54/90/bd/f99e221ab77ef8e6d65c14efe986cef3360da2990396093151 10:44:20 Building wheel for pycparser (setup.py): started 10:44:21 Building wheel for pycparser (setup.py): finished with status 'done' 10:44:21 Created wheel for pycparser: filename=pycparser-2.17-py2.py3-none-any.whl size=192875 sha256=86fb731dd595c0afd58105f965cc35ff898e8d38f00525d5e645d6240c618abc 10:44:21 Stored in directory: /root/.cache/pip/wheels/91/50/7a/9f94e39b01559aa44c3cefb775d7befcc01d0a6ed0093cab37 10:44:21 Successfully built backports.ssl-match-hostname ipaddress pycparser 10:44:21 Installing collected packages: pycparser, six, cffi, urllib3, pyparsing, pynacl, pyasn1, idna, cryptography, chardet, certifi, bcrypt, websocket-client, requests, pyOpenSSL, paramiko, packaging, ipaddress, enum34, backports.ssl-match-hostname, asn1crypto, appdirs 10:44:22 Successfully installed appdirs-1.4.3 asn1crypto-0.22.0 backports.ssl-match-hostname-3.5.0.1 bcrypt-3.2.0 certifi-2020.12.5 cffi-1.14.4 chardet-3.0.4 cryptography-3.2 enum34-1.1.6 idna-2.5 ipaddress-1.0.18 packaging-16.8 paramiko-2.4.2 pyOpenSSL-18.0.0 pyasn1-0.4.8 pycparser-2.17 pynacl-1.4.0 pyparsing-2.2.0 requests-2.20.0 six-1.10.0 urllib3-1.24.3 websocket-client-0.56.0 10:44:27 Removing intermediate container efa2f9834b86 10:44:27 ---> 2c8bdb61ca8b 10:44:27 Step 18/21 : COPY test-requirements.txt /src/test-requirements.txt 10:44:27 ---> cb50ca2f3b1e 10:44:27 Step 19/21 : RUN pip install -r test-requirements.txt 10:44:27 ---> Running in 3dcb63a6272c 10:44:33 Collecting setuptools==44.0.0 10:44:34 Downloading setuptools-44.0.0-py2.py3-none-any.whl (583 kB) 10:44:34 Collecting coverage==4.5.2 10:44:34 Downloading coverage-4.5.2-cp37-cp37m-manylinux1_x86_64.whl (205 kB) 10:44:34 Collecting flake8==3.6.0 10:44:34 Downloading flake8-3.6.0-py2.py3-none-any.whl (68 kB) 10:44:34 Collecting mock==1.0.1 10:44:34 Downloading mock-1.0.1.zip (861 kB) 10:44:34 Collecting pytest==4.3.1 10:44:34 Downloading pytest-4.3.1-py2.py3-none-any.whl (219 kB) 10:44:35 Collecting pytest-cov==2.6.1 10:44:35 Downloading pytest_cov-2.6.1-py2.py3-none-any.whl (16 kB) 10:44:35 Collecting pytest-timeout==1.3.3 10:44:35 Downloading pytest_timeout-1.3.3-py2.py3-none-any.whl (9.8 kB) 10:44:35 Collecting mccabe<0.7.0,>=0.6.0 10:44:35 Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB) 10:44:35 Collecting pycodestyle<2.5.0,>=2.4.0 10:44:35 Downloading pycodestyle-2.4.0-py2.py3-none-any.whl (62 kB) 10:44:35 Collecting pyflakes<2.1.0,>=2.0.0 10:44:35 Downloading pyflakes-2.0.0-py2.py3-none-any.whl (53 kB) 10:44:35 Collecting pluggy>=0.7 10:44:35 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) 10:44:35 Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.7/site-packages (from pytest==4.3.1->-r test-requirements.txt (line 5)) (1.10.0) 10:44:35 Collecting more-itertools>=4.0.0 10:44:35 Downloading more_itertools-8.7.0-py3-none-any.whl (48 kB) 10:44:35 Collecting atomicwrites>=1.0 10:44:35 Downloading atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB) 10:44:35 Collecting py>=1.5.0 10:44:35 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) 10:44:35 Collecting attrs>=17.4.0 10:44:35 Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB) 10:44:35 Collecting importlib-metadata>=0.12 10:44:35 Downloading importlib_metadata-3.7.0-py3-none-any.whl (11 kB) 10:44:35 Collecting typing-extensions>=3.6.4 10:44:35 Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) 10:44:35 Collecting zipp>=0.5 10:44:35 Downloading zipp-3.4.0-py3-none-any.whl (5.2 kB) 10:44:35 Building wheels for collected packages: mock 10:44:35 Building wheel for mock (setup.py): started 10:44:36 Building wheel for mock (setup.py): finished with status 'done' 10:44:36 Created wheel for mock: filename=mock-1.0.1-py3-none-any.whl size=23755 sha256=aab984b189335078788a11e753adbfbcce50d472a0fc29fd4c2fc6a348abaa40 10:44:36 Stored in directory: /root/.cache/pip/wheels/7a/94/b1/0fdc5339a5bd487a5cc15421ec200d9ba3e2aa7190e4a727f1 10:44:36 Successfully built mock 10:44:36 Installing collected packages: zipp, typing-extensions, importlib-metadata, setuptools, py, pluggy, more-itertools, attrs, atomicwrites, pytest, pyflakes, pycodestyle, mccabe, coverage, pytest-timeout, pytest-cov, mock, flake8 10:44:36 Attempting uninstall: setuptools 10:44:36 Found existing installation: setuptools 53.0.0 10:44:36 Uninstalling setuptools-53.0.0: 10:44:36 Successfully uninstalled setuptools-53.0.0 10:44:37 Successfully installed atomicwrites-1.4.0 attrs-20.3.0 coverage-4.5.2 flake8-3.6.0 importlib-metadata-3.7.0 mccabe-0.6.1 mock-1.0.1 more-itertools-8.7.0 pluggy-0.13.1 py-1.10.0 pycodestyle-2.4.0 pyflakes-2.0.0 pytest-4.3.1 pytest-cov-2.6.1 pytest-timeout-1.3.3 setuptools-44.0.0 typing-extensions-3.7.4.3 zipp-3.4.0 10:44:37 Removing intermediate container 3dcb63a6272c 10:44:37 ---> c9fcf72125a5 10:44:37 Step 20/21 : COPY . /src 10:44:38 ---> f7712d891185 10:44:38 Step 21/21 : RUN pip install . 10:44:38 ---> Running in 5825657cdeda 10:44:38 Processing /src 10:44:39 Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.7/site-packages (from docker==4.5.0.dev0) (1.10.0) 10:44:39 Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python3.7/site-packages (from docker==4.5.0.dev0) (0.56.0) 10:44:39 Requirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/local/lib/python3.7/site-packages (from docker==4.5.0.dev0) (2.20.0) 10:44:39 Requirement already satisfied: idna<2.8,>=2.5 in /usr/local/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (2.5) 10:44:39 Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (2020.12.5) 10:44:39 Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (3.0.4) 10:44:39 Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.7/site-packages (from requests!=2.18.0,>=2.14.2->docker==4.5.0.dev0) (1.24.3) 10:44:39 Building wheels for collected packages: docker 10:44:39 Building wheel for docker (setup.py): started 10:44:39 Building wheel for docker (setup.py): finished with status 'done' 10:44:39 Created wheel for docker: filename=docker-4.5.0.dev0-py2.py3-none-any.whl size=147073 sha256=2c0f1699cbf5e188c0eee2772521ecf22188ba944ee7a7938b1b78ef29267f44 10:44:39 Stored in directory: /tmp/pip-ephem-wheel-cache-fvfb_bwc/wheels/6f/63/19/359cf44f647b75d0ea75ecc03aa429fec4c372b453eb4b6525 10:44:39 Successfully built docker 10:44:39 Installing collected packages: docker 10:44:39 Successfully installed docker-4.5.0.dev0 10:44:40 Removing intermediate container 5825657cdeda 10:44:40 ---> 2cf9099f7cd0 10:44:40 Successfully built 2cf9099f7cd0 10:44:40 Successfully tagged dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:44:40 + docker tag dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e [Pipeline] isUnix [Pipeline] sh 10:44:40 + docker push dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e 10:44:40 The push refers to repository [docker.io/dockerpinata/docker-py] 10:44:40 a77d9305c6d7: Preparing 10:44:40 e36c4d41c663: Preparing 10:44:40 f1e21c11349b: Preparing 10:44:40 685497ff19ec: Preparing 10:44:40 d84542bffac8: Preparing 10:44:40 7268b17bcd7e: Preparing 10:44:40 4a9204388a82: Preparing 10:44:40 8bb3eafa1cae: Preparing 10:44:40 9fbf911037f6: Preparing 10:44:40 c8c1a2d69722: Preparing 10:44:40 9fd884495dfe: Preparing 10:44:40 6576f8fca7e4: Preparing 10:44:40 f12f35f80d96: Preparing 10:44:40 f71ba478cb3d: Preparing 10:44:40 d590762294a2: Preparing 10:44:40 d89c88f5beef: Preparing 10:44:40 4cd8b51e2638: Preparing 10:44:40 b45d11f9e6b5: Preparing 10:44:40 3676846f14f0: Preparing 10:44:40 10c7b2ce5f37: Preparing 10:44:40 e3d73f29c674: Preparing 10:44:40 10bf86ff9f6a: Preparing 10:44:40 da654bc8bc80: Preparing 10:44:40 4ef81dc52d99: Preparing 10:44:40 909e93c71745: Preparing 10:44:40 7f03bfe4d6dc: Preparing 10:44:40 7268b17bcd7e: Waiting 10:44:40 4a9204388a82: Waiting 10:44:40 8bb3eafa1cae: Waiting 10:44:40 9fbf911037f6: Waiting 10:44:40 c8c1a2d69722: Waiting 10:44:40 9fd884495dfe: Waiting 10:44:40 6576f8fca7e4: Waiting 10:44:40 f12f35f80d96: Waiting 10:44:40 f71ba478cb3d: Waiting 10:44:40 d590762294a2: Waiting 10:44:40 d89c88f5beef: Waiting 10:44:40 da654bc8bc80: Waiting 10:44:40 4cd8b51e2638: Waiting 10:44:40 b45d11f9e6b5: Waiting 10:44:40 4ef81dc52d99: Waiting 10:44:40 3676846f14f0: Waiting 10:44:40 10c7b2ce5f37: Waiting 10:44:40 909e93c71745: Waiting 10:44:40 7f03bfe4d6dc: Waiting 10:44:40 e3d73f29c674: Waiting 10:44:40 10bf86ff9f6a: Waiting 10:44:42 685497ff19ec: Pushed 10:44:42 a77d9305c6d7: Pushed 10:44:42 e36c4d41c663: Pushed 10:44:43 f1e21c11349b: Pushed 10:44:43 4a9204388a82: Pushed 10:44:43 7268b17bcd7e: Pushed 10:44:44 c8c1a2d69722: Pushed 10:44:44 8bb3eafa1cae: Pushed 10:44:44 9fd884495dfe: Pushed 10:44:44 9fbf911037f6: Pushed 10:44:44 d84542bffac8: Pushed 10:44:45 6576f8fca7e4: Pushed 10:44:45 f71ba478cb3d: Pushed 10:44:45 d590762294a2: Pushed 10:44:45 b45d11f9e6b5: Layer already exists 10:44:45 3676846f14f0: Layer already exists 10:44:45 f12f35f80d96: Pushed 10:44:45 10c7b2ce5f37: Layer already exists 10:44:45 10bf86ff9f6a: Layer already exists 10:44:45 e3d73f29c674: Layer already exists 10:44:45 da654bc8bc80: Layer already exists 10:44:45 909e93c71745: Layer already exists 10:44:45 4ef81dc52d99: Layer already exists 10:44:45 7f03bfe4d6dc: Layer already exists 10:44:46 4cd8b51e2638: Pushed 10:44:47 d89c88f5beef: Pushed 10:44:48 py3-be49c28bae072486b0d87eeb3e923db1d12f826e: digest: sha256:c34a214f87046567fe9856653f921bc4c99941ba0bb48d10511b446b4bf4e4c7 size: 5765 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // node [Pipeline] node Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [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/docker-py_PR-2784@tmp/0ef0b53a-6dab-404a-adf5-3b13fb9b4064/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 10:44:49 + docker run --rm --entrypoint=python dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e /src/scripts/versions.py [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // node [Pipeline] parallel [Pipeline] { (Branch: py2.7_19.03.12) [Pipeline] { (Branch: py2.7_20.10.5) [Pipeline] { (Branch: py2.7_19.03.13) [Pipeline] { (Branch: py3.7_19.03.12) [Pipeline] { (Branch: py3.7_20.10.5) [Pipeline] { (Branch: py3.7_19.03.13) [Pipeline] node [Pipeline] node Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] node [Pipeline] node [Pipeline] node [Pipeline] node [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/docker-py_PR-2784@tmp/f73df825-b5c0-4d50-8229-1eaacfb0b3de/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 10:45:15 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:45:15 chowning workspace [Pipeline] sh 10:45:16 + pwd 10:45:16 + id -u 10:45:16 + id -g 10:45:16 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:45:16 Removing all docker containers [Pipeline] sh 10:45:16 + docker container ls -aq [Pipeline] echo 10:45:16 Docker containers have been removed [Pipeline] echo 10:45:16 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:45:16 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py2.7 / docker=19.03.12) [Pipeline] checkout 10:45:16 The recommended git tool is: git 10:45:16 using credential docker-jenkins-github-credentials 10:45:16 Cloning the remote Git repository 10:45:16 Cloning with configured refspecs honoured and without tags Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 10:45:17 Fetching without tags 10:45:17 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:17 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:17 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 10:45:17 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" [Pipeline] withDockerRegistry [Pipeline] { [Pipeline] sh 10:45:18 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 $ 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/docker-py_PR-2784@tmp/97376f67-a489-4efd-8a3c-9b815bba3167/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:45:19 ============================= test session starts ============================== 10:45:19 platform linux2 -- Python 2.7.18, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:45:19 cachedir: .pytest_cache 10:45:19 rootdir: /src, inifile: pytest.ini 10:45:19 plugins: timeout-1.3.3, cov-2.6.1 10:45:21 collecting ... collected 570 items 10:45:21 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:45:21 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:45:21 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:45:21 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:45:21 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:45:21 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:45:21 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:45:21 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:45:21 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:45:21 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:45:21 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:45:21 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:45:22 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:45:22 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:45:22 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:45:22 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:45:22 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:45:23 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:45:23 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:45:23 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:45:23 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:45:23 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:45:23 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:45:23 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:45:23 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:45:23 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:45:23 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:45:23 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:45:23 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:45:23 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:45:23 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:45:23 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:45:23 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:45:23 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:45:23 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:45:23 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:45:23 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:45:23 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:45:23 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:45:24 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:45:24 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:45:24 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:45:24 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:45:24 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:45:24 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:45:24 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:45:24 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:45:24 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:45:24 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:45:24 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:45:24 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:45:24 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:45:24 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:45:24 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:45:24 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:45:24 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:45:24 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:45:24 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:45:24 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:45:24 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:45:24 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:45:24 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:45:24 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:45:24 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:45:24 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:45:24 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:45:24 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:45:24 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:45:24 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:45:24 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:45:24 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:45:24 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:45:24 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:45:24 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:45:24 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:45:24 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:45:24 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:45:24 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:45:24 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:45:24 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:45:24 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:45:24 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:45:24 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:45:24 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:45:24 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:45:25 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:45:25 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:45:25 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:45:25 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:45:25 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:45:25 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:45:25 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:45:25 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:45:25 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:45:25 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:45:25 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:45:25 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:45:25 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:45:25 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:45:25 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:45:25 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:45:25 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:45:25 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:45:25 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:45:25 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:45:25 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:45:25 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:45:25 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:45:25 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:45:25 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:45:25 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:45:26 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:45:26 10:45:26 =================================== FAILURES =================================== 10:45:26 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:45:26 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:45:26 "[2001:abcd:ef00::2:]1000:2000") 10:45:26 docker/utils/ports.py:65: in split_port 10:45:26 _raise_invalid_port(port) 10:45:26 docker/utils/ports.py:43: in _raise_invalid_port 10:45:26 'port[/protocol]' % port) 10:45:26 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:45:26 =============================== warnings summary =============================== 10:45:26 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12 10:45:26 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release. 10:45:26 from cryptography import x509 10:45:26 10:45:26 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:45:26 10:45:26 ---------- coverage: platform linux2, python 2.7.18-final-0 ---------- 10:45:26 Name Stmts Miss Branch BrPart Cover 10:45:26 ----------------------------------------------------------------------- 10:45:26 docker/__init__.py 8 0 0 0 100% 10:45:26 docker/api/__init__.py 1 0 0 0 100% 10:45:26 docker/api/build.py 126 41 92 21 62% 10:45:26 docker/api/client.py 263 64 96 12 74% 10:45:26 docker/api/config.py 31 19 6 0 32% 10:45:26 docker/api/container.py 266 72 102 25 65% 10:45:26 docker/api/daemon.py 39 4 14 4 85% 10:45:26 docker/api/exec_api.py 46 11 22 9 68% 10:45:26 docker/api/image.py 157 42 56 13 70% 10:45:26 docker/api/network.py 90 35 48 11 51% 10:45:26 docker/api/plugin.py 90 68 12 0 22% 10:45:26 docker/api/secret.py 36 23 10 0 28% 10:45:26 docker/api/service.py 200 176 149 0 7% 10:45:26 docker/api/swarm.py 106 67 38 1 28% 10:45:26 docker/api/volume.py 38 9 14 2 71% 10:45:26 docker/auth.py 198 16 74 17 88% 10:45:26 docker/client.py 69 10 2 0 86% 10:45:26 docker/constants.py 21 0 0 0 100% 10:45:26 docker/context/__init__.py 2 0 0 0 100% 10:45:26 docker/context/api.py 78 41 38 8 39% 10:45:26 docker/context/config.py 61 33 16 2 42% 10:45:26 docker/context/context.py 151 93 62 6 30% 10:45:26 docker/credentials/__init__.py 3 0 0 0 100% 10:45:26 docker/credentials/constants.py 4 0 0 0 100% 10:45:26 docker/credentials/errors.py 11 4 2 0 54% 10:45:26 docker/credentials/store.py 50 35 16 0 23% 10:45:26 docker/credentials/utils.py 23 18 12 0 14% 10:45:26 docker/errors.py 110 26 18 4 70% 10:45:26 docker/models/__init__.py 0 0 0 0 100% 10:45:26 docker/models/configs.py 21 8 0 0 62% 10:45:26 docker/models/containers.py 183 11 60 9 92% 10:45:26 docker/models/images.py 137 55 50 4 50% 10:45:26 docker/models/networks.py 37 7 8 3 73% 10:45:26 docker/models/nodes.py 15 5 0 0 67% 10:45:26 docker/models/plugins.py 49 30 8 0 33% 10:45:26 docker/models/resource.py 41 10 6 3 72% 10:45:26 docker/models/secrets.py 21 8 0 0 62% 10:45:26 docker/models/services.py 87 35 34 4 60% 10:45:26 docker/models/swarm.py 39 21 6 0 40% 10:45:26 docker/models/volumes.py 23 10 2 0 52% 10:45:26 docker/tls.py 37 6 14 6 76% 10:45:26 docker/transport/__init__.py 11 3 0 0 73% 10:45:26 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:45:26 docker/transport/npipeconn.py 59 54 10 0 7% 10:45:26 docker/transport/npipesocket.py 137 132 22 0 3% 10:45:26 docker/transport/sshconn.py 163 106 56 4 30% 10:45:26 docker/transport/ssladapter.py 36 8 10 4 70% 10:45:26 docker/transport/unixconn.py 66 5 12 4 88% 10:45:26 docker/types/__init__.py 6 0 0 0 100% 10:45:26 docker/types/base.py 5 0 2 0 100% 10:45:26 docker/types/containers.py 420 79 324 43 81% 10:45:26 docker/types/daemon.py 36 24 14 0 24% 10:45:26 docker/types/healthcheck.py 34 20 4 0 37% 10:45:26 docker/types/networks.py 41 11 28 9 65% 10:45:26 docker/types/services.py 314 140 208 39 50% 10:45:26 docker/types/swarm.py 51 45 40 0 7% 10:45:26 docker/utils/__init__.py 3 0 0 0 100% 10:45:26 docker/utils/build.py 155 27 74 10 81% 10:45:26 docker/utils/config.py 36 1 10 1 96% 10:45:26 docker/utils/decorators.py 32 1 12 1 95% 10:45:26 docker/utils/fnmatch.py 55 18 28 2 61% 10:45:26 docker/utils/json_stream.py 43 8 14 2 79% 10:45:26 docker/utils/ports.py 50 3 28 2 91% 10:45:26 docker/utils/proxy.py 32 1 12 0 98% 10:45:26 docker/utils/socket.py 86 12 40 7 82% 10:45:26 docker/utils/utils.py 285 19 164 15 92% 10:45:26 docker/version.py 2 0 0 0 100% 10:45:26 ----------------------------------------------------------------------- 10:45:26 TOTAL 5132 1830 2201 308 60% 10:45:26 10:45:26 =========================== short test summary info ============================ 10:45:26 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:45:26 SKIPPED [1] tests/unit/client_test.py:143: Npipe Connection Pool only on Windows 10:45:26 SKIPPED [1] tests/unit/client_test.py:254: Npipe Connection Pool only on Windows 10:45:26 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:45:26 SKIPPED [1] tests/unit/client_test.py:217: Npipe Connection Pool only on Windows 10:45:26 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:45:26 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:45:26 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:45:26 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:45:26 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:45:26 SKIPPED [1] tests/unit/client_test.py:104: Npipe Connection Pool only on Windows 10:45:26 === 1 failed, 558 passed, 10 skipped, 1 xfailed, 1 warnings in 6.39 seconds ==== [Pipeline] sh 10:45:26 + docker stop dpy-dind-1-0-py2.7-19.03.12 10:45:26 Error response from daemon: No such container: dpy-dind-1-0-py2.7-19.03.12 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // node Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] } Failed in branch py2.7_19.03.12 [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/docker-py_PR-2784@tmp/23267048-ecd1-4474-9cc8-0873af576adb/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 10:45:26 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:45:26 chowning workspace [Pipeline] sh 10:45:27 + pwd 10:45:27 + id -u 10:45:27 + id -g 10:45:27 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:45:27 Removing all docker containers [Pipeline] sh 10:45:27 + docker container ls -aq [Pipeline] echo 10:45:27 Docker containers have been removed [Pipeline] echo 10:45:27 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:45:27 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py2.7 / docker=20.10.5) [Pipeline] checkout 10:45:27 The recommended git tool is: git 10:45:27 using credential docker-jenkins-github-credentials 10:45:27 Cloning the remote Git repository 10:45:27 Cloning with configured refspecs honoured and without tags 10:45:28 Fetching without tags 10:45:28 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:28 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:28 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) 10:45:28 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 [Pipeline] withDockerRegistry [Pipeline] { [Pipeline] sh 10:45:29 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 $ 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/docker-py_PR-2784@tmp/ba67a5dc-b7d7-4a79-80e6-7b6f3904e9cb/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded Still waiting to schedule task Waiting for next available executor on ‘EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe)Still waiting to schedule task Waiting for next available executor on ‘EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe)Still waiting to schedule task Waiting for next available executor on ‘EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe)Still waiting to schedule task Waiting for next available executor on ‘EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe)10:45:30 ============================= test session starts ============================== 10:45:30 platform linux2 -- Python 2.7.18, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:45:30 cachedir: .pytest_cache 10:45:30 rootdir: /src, inifile: pytest.ini 10:45:30 plugins: timeout-1.3.3, cov-2.6.1 10:45:32 collecting ... collected 570 items 10:45:32 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:45:32 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:45:32 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:45:32 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:45:32 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:45:32 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:45:32 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:45:32 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:45:32 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:45:32 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:45:32 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:45:32 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:45:33 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:45:33 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:45:33 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:45:33 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:45:33 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:45:34 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:45:34 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:45:34 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:45:34 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:45:34 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:45:34 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:45:34 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:45:34 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:45:34 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:45:34 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:45:34 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:45:34 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:45:34 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:45:34 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:45:35 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:45:35 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:45:35 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:45:35 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:45:35 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:45:35 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:45:35 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:45:35 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:45:35 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:45:35 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:45:35 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:45:35 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:45:35 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:45:35 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:45:35 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:45:35 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:45:35 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:45:35 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:45:35 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:45:35 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:45:35 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:45:35 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:45:35 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:45:35 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:45:35 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:45:35 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:45:35 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:45:35 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:45:35 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:45:35 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:45:35 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:45:35 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:45:35 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:45:35 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:45:35 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:45:35 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:45:35 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:45:35 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:45:35 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:45:35 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:45:35 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:45:35 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:45:35 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:45:35 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:45:35 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:45:35 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:45:35 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:45:35 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:45:35 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:45:35 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:45:35 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:45:36 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:45:36 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:45:36 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:45:36 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:45:36 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:45:36 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:45:36 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:45:36 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:45:36 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:45:36 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:45:36 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:45:36 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:45:36 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:45:36 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:45:36 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:45:36 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:45:36 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:45:36 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:45:36 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:45:36 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:45:36 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:45:36 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:45:36 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:45:36 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:45:36 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:45:36 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:45:36 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:45:36 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:45:36 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:45:37 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:45:37 10:45:37 =================================== FAILURES =================================== 10:45:37 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:45:37 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:45:37 "[2001:abcd:ef00::2:]1000:2000") 10:45:37 docker/utils/ports.py:65: in split_port 10:45:37 _raise_invalid_port(port) 10:45:37 docker/utils/ports.py:43: in _raise_invalid_port 10:45:37 'port[/protocol]' % port) 10:45:37 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:45:37 =============================== warnings summary =============================== 10:45:37 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12 10:45:37 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release. 10:45:37 from cryptography import x509 10:45:37 10:45:37 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:45:37 10:45:37 ---------- coverage: platform linux2, python 2.7.18-final-0 ---------- 10:45:37 Name Stmts Miss Branch BrPart Cover 10:45:37 ----------------------------------------------------------------------- 10:45:37 docker/__init__.py 8 0 0 0 100% 10:45:37 docker/api/__init__.py 1 0 0 0 100% 10:45:37 docker/api/build.py 126 41 92 21 62% 10:45:37 docker/api/client.py 263 64 96 12 74% 10:45:37 docker/api/config.py 31 19 6 0 32% 10:45:37 docker/api/container.py 266 72 102 25 65% 10:45:37 docker/api/daemon.py 39 4 14 4 85% 10:45:37 docker/api/exec_api.py 46 11 22 9 68% 10:45:37 docker/api/image.py 157 42 56 13 70% 10:45:37 docker/api/network.py 90 35 48 11 51% 10:45:37 docker/api/plugin.py 90 68 12 0 22% 10:45:37 docker/api/secret.py 36 23 10 0 28% 10:45:37 docker/api/service.py 200 176 149 0 7% 10:45:37 docker/api/swarm.py 106 67 38 1 28% 10:45:37 docker/api/volume.py 38 9 14 2 71% 10:45:37 docker/auth.py 198 16 74 17 88% 10:45:37 docker/client.py 69 10 2 0 86% 10:45:37 docker/constants.py 21 0 0 0 100% 10:45:37 docker/context/__init__.py 2 0 0 0 100% 10:45:37 docker/context/api.py 78 41 38 8 39% 10:45:37 docker/context/config.py 61 33 16 2 42% 10:45:37 docker/context/context.py 151 93 62 6 30% 10:45:37 docker/credentials/__init__.py 3 0 0 0 100% 10:45:37 docker/credentials/constants.py 4 0 0 0 100% 10:45:37 docker/credentials/errors.py 11 4 2 0 54% 10:45:37 docker/credentials/store.py 50 35 16 0 23% 10:45:37 docker/credentials/utils.py 23 18 12 0 14% 10:45:37 docker/errors.py 110 26 18 4 70% 10:45:37 docker/models/__init__.py 0 0 0 0 100% 10:45:37 docker/models/configs.py 21 8 0 0 62% 10:45:37 docker/models/containers.py 183 11 60 9 92% 10:45:37 docker/models/images.py 137 55 50 4 50% 10:45:37 docker/models/networks.py 37 7 8 3 73% 10:45:37 docker/models/nodes.py 15 5 0 0 67% 10:45:37 docker/models/plugins.py 49 30 8 0 33% 10:45:37 docker/models/resource.py 41 10 6 3 72% 10:45:37 docker/models/secrets.py 21 8 0 0 62% 10:45:37 docker/models/services.py 87 35 34 4 60% 10:45:37 docker/models/swarm.py 39 21 6 0 40% 10:45:37 docker/models/volumes.py 23 10 2 0 52% 10:45:37 docker/tls.py 37 6 14 6 76% 10:45:37 docker/transport/__init__.py 11 3 0 0 73% 10:45:37 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:45:37 docker/transport/npipeconn.py 59 54 10 0 7% 10:45:37 docker/transport/npipesocket.py 137 132 22 0 3% 10:45:37 docker/transport/sshconn.py 163 106 56 4 30% 10:45:37 docker/transport/ssladapter.py 36 8 10 4 70% 10:45:37 docker/transport/unixconn.py 66 5 12 4 88% 10:45:37 docker/types/__init__.py 6 0 0 0 100% 10:45:37 docker/types/base.py 5 0 2 0 100% 10:45:37 docker/types/containers.py 420 79 324 43 81% 10:45:37 docker/types/daemon.py 36 24 14 0 24% 10:45:37 docker/types/healthcheck.py 34 20 4 0 37% 10:45:37 docker/types/networks.py 41 11 28 9 65% 10:45:37 docker/types/services.py 314 140 208 39 50% 10:45:37 docker/types/swarm.py 51 45 40 0 7% 10:45:37 docker/utils/__init__.py 3 0 0 0 100% 10:45:37 docker/utils/build.py 155 27 74 10 81% 10:45:37 docker/utils/config.py 36 1 10 1 96% 10:45:37 docker/utils/decorators.py 32 1 12 1 95% 10:45:37 docker/utils/fnmatch.py 55 18 28 2 61% 10:45:37 docker/utils/json_stream.py 43 8 14 2 79% 10:45:37 docker/utils/ports.py 50 3 28 2 91% 10:45:37 docker/utils/proxy.py 32 1 12 0 98% 10:45:37 docker/utils/socket.py 86 12 40 7 82% 10:45:37 docker/utils/utils.py 285 19 164 15 92% 10:45:37 docker/version.py 2 0 0 0 100% 10:45:37 ----------------------------------------------------------------------- 10:45:37 TOTAL 5132 1830 2201 308 60% 10:45:37 10:45:37 =========================== short test summary info ============================ 10:45:37 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:45:37 SKIPPED [1] tests/unit/client_test.py:143: Npipe Connection Pool only on Windows 10:45:37 SKIPPED [1] tests/unit/client_test.py:254: Npipe Connection Pool only on Windows 10:45:37 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:45:37 SKIPPED [1] tests/unit/client_test.py:217: Npipe Connection Pool only on Windows 10:45:37 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:45:37 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:45:37 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:45:37 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:45:37 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:45:37 SKIPPED [1] tests/unit/client_test.py:104: Npipe Connection Pool only on Windows 10:45:37 === 1 failed, 558 passed, 10 skipped, 1 xfailed, 1 warnings in 6.44 seconds ==== [Pipeline] sh 10:45:37 + docker stop dpy-dind-1-0-py2.7-20.10.5 10:45:37 Error response from daemon: No such container: dpy-dind-1-0-py2.7-20.10.5 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] // node [Pipeline] { [Pipeline] } Failed in branch py2.7_20.10.5 [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/docker-py_PR-2784@tmp/a60dc272-328c-4924-b2b5-9b9af68addea/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 10:45:37 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:45:37 chowning workspace [Pipeline] sh 10:45:38 + pwd 10:45:38 + id -u 10:45:38 + id -g 10:45:38 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:45:38 Removing all docker containers [Pipeline] sh 10:45:38 + docker container ls -aq [Pipeline] echo 10:45:38 Docker containers have been removed [Pipeline] echo 10:45:38 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:45:38 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py2.7 / docker=19.03.13) [Pipeline] checkout 10:45:38 The recommended git tool is: git 10:45:38 using credential docker-jenkins-github-credentials 10:45:38 Cloning the remote Git repository 10:45:38 Cloning with configured refspecs honoured and without tags 10:45:39 Fetching without tags 10:45:39 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:39 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:39 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 10:45:39 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" [Pipeline] withDockerRegistry [Pipeline] { [Pipeline] sh 10:45:40 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py2-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 $ 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/docker-py_PR-2784@tmp/b314aaed-e6b8-4f12-ab1d-5349a25a3082/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:45:41 ============================= test session starts ============================== 10:45:41 platform linux2 -- Python 2.7.18, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:45:41 cachedir: .pytest_cache 10:45:41 rootdir: /src, inifile: pytest.ini 10:45:41 plugins: timeout-1.3.3, cov-2.6.1 10:45:43 collecting ... collected 570 items 10:45:43 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:45:43 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:45:43 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:45:43 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:45:43 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:45:43 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:45:43 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:45:43 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:45:43 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:45:43 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:45:43 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:45:43 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:45:44 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:45:44 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:45:44 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:45:44 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:45:44 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:45:45 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:45:45 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:45:45 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:45:45 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:45:45 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:45:45 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:45:45 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:45:45 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:45:45 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:45:45 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:45:45 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:45:45 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:45:45 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:45:45 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:45:45 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:45:45 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:45:45 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:45:45 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:45:46 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:45:46 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:45:46 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:45:46 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:45:46 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:45:46 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:45:46 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:45:46 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:45:46 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:45:46 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:45:46 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:45:46 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:45:46 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:45:46 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:45:46 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:45:46 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:45:46 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:45:46 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:45:46 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:45:46 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:45:46 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:45:46 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:45:46 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:45:46 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:45:46 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:45:46 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:45:46 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:45:46 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:45:46 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:45:46 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:45:46 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:45:46 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:45:46 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:45:46 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:45:46 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:45:46 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:45:46 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:45:46 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:45:46 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:45:46 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:45:46 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:45:46 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:45:46 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:45:46 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:45:46 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:45:46 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:45:46 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:45:46 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:45:46 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:45:47 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:45:47 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:45:47 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:45:47 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:45:47 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:45:47 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:45:47 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:45:47 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:45:47 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:45:47 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:45:47 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:45:47 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:45:47 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:45:47 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:45:47 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:45:47 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:45:47 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:45:47 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:45:47 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:45:47 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:45:47 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:45:47 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:45:47 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:45:47 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:45:47 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:45:47 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:45:47 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:45:48 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:45:48 10:45:48 =================================== FAILURES =================================== 10:45:48 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:45:48 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:45:48 "[2001:abcd:ef00::2:]1000:2000") 10:45:48 docker/utils/ports.py:65: in split_port 10:45:48 _raise_invalid_port(port) 10:45:48 docker/utils/ports.py:43: in _raise_invalid_port 10:45:48 'port[/protocol]' % port) 10:45:48 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:45:48 =============================== warnings summary =============================== 10:45:48 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12 10:45:48 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release. 10:45:48 from cryptography import x509 10:45:48 10:45:48 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:45:48 10:45:48 ---------- coverage: platform linux2, python 2.7.18-final-0 ---------- 10:45:48 Name Stmts Miss Branch BrPart Cover 10:45:48 ----------------------------------------------------------------------- 10:45:48 docker/__init__.py 8 0 0 0 100% 10:45:48 docker/api/__init__.py 1 0 0 0 100% 10:45:48 docker/api/build.py 126 41 92 21 62% 10:45:48 docker/api/client.py 263 64 96 12 74% 10:45:48 docker/api/config.py 31 19 6 0 32% 10:45:48 docker/api/container.py 266 72 102 25 65% 10:45:48 docker/api/daemon.py 39 4 14 4 85% 10:45:48 docker/api/exec_api.py 46 11 22 9 68% 10:45:48 docker/api/image.py 157 42 56 13 70% 10:45:48 docker/api/network.py 90 35 48 11 51% 10:45:48 docker/api/plugin.py 90 68 12 0 22% 10:45:48 docker/api/secret.py 36 23 10 0 28% 10:45:48 docker/api/service.py 200 176 149 0 7% 10:45:48 docker/api/swarm.py 106 67 38 1 28% 10:45:48 docker/api/volume.py 38 9 14 2 71% 10:45:48 docker/auth.py 198 16 74 17 88% 10:45:48 docker/client.py 69 10 2 0 86% 10:45:48 docker/constants.py 21 0 0 0 100% 10:45:48 docker/context/__init__.py 2 0 0 0 100% 10:45:48 docker/context/api.py 78 41 38 8 39% 10:45:48 docker/context/config.py 61 33 16 2 42% 10:45:48 docker/context/context.py 151 93 62 6 30% 10:45:48 docker/credentials/__init__.py 3 0 0 0 100% 10:45:48 docker/credentials/constants.py 4 0 0 0 100% 10:45:48 docker/credentials/errors.py 11 4 2 0 54% 10:45:48 docker/credentials/store.py 50 35 16 0 23% 10:45:48 docker/credentials/utils.py 23 18 12 0 14% 10:45:48 docker/errors.py 110 26 18 4 70% 10:45:48 docker/models/__init__.py 0 0 0 0 100% 10:45:48 docker/models/configs.py 21 8 0 0 62% 10:45:48 docker/models/containers.py 183 11 60 9 92% 10:45:48 docker/models/images.py 137 55 50 4 50% 10:45:48 docker/models/networks.py 37 7 8 3 73% 10:45:48 docker/models/nodes.py 15 5 0 0 67% 10:45:48 docker/models/plugins.py 49 30 8 0 33% 10:45:48 docker/models/resource.py 41 10 6 3 72% 10:45:48 docker/models/secrets.py 21 8 0 0 62% 10:45:48 docker/models/services.py 87 35 34 4 60% 10:45:48 docker/models/swarm.py 39 21 6 0 40% 10:45:48 docker/models/volumes.py 23 10 2 0 52% 10:45:48 docker/tls.py 37 6 14 6 76% 10:45:48 docker/transport/__init__.py 11 3 0 0 73% 10:45:48 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:45:48 docker/transport/npipeconn.py 59 54 10 0 7% 10:45:48 docker/transport/npipesocket.py 137 132 22 0 3% 10:45:48 docker/transport/sshconn.py 163 106 56 4 30% 10:45:48 docker/transport/ssladapter.py 36 8 10 4 70% 10:45:48 docker/transport/unixconn.py 66 5 12 4 88% 10:45:48 docker/types/__init__.py 6 0 0 0 100% 10:45:48 docker/types/base.py 5 0 2 0 100% 10:45:48 docker/types/containers.py 420 79 324 43 81% 10:45:48 docker/types/daemon.py 36 24 14 0 24% 10:45:48 docker/types/healthcheck.py 34 20 4 0 37% 10:45:48 docker/types/networks.py 41 11 28 9 65% 10:45:48 docker/types/services.py 314 140 208 39 50% 10:45:48 docker/types/swarm.py 51 45 40 0 7% 10:45:48 docker/utils/__init__.py 3 0 0 0 100% 10:45:48 docker/utils/build.py 155 27 74 10 81% 10:45:48 docker/utils/config.py 36 1 10 1 96% 10:45:48 docker/utils/decorators.py 32 1 12 1 95% 10:45:48 docker/utils/fnmatch.py 55 18 28 2 61% 10:45:48 docker/utils/json_stream.py 43 8 14 2 79% 10:45:48 docker/utils/ports.py 50 3 28 2 91% 10:45:48 docker/utils/proxy.py 32 1 12 0 98% 10:45:48 docker/utils/socket.py 86 12 40 7 82% 10:45:48 docker/utils/utils.py 285 19 164 15 92% 10:45:48 docker/version.py 2 0 0 0 100% 10:45:48 ----------------------------------------------------------------------- 10:45:48 TOTAL 5132 1830 2201 308 60% 10:45:48 10:45:48 =========================== short test summary info ============================ 10:45:48 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:45:48 SKIPPED [1] tests/unit/client_test.py:143: Npipe Connection Pool only on Windows 10:45:48 SKIPPED [1] tests/unit/client_test.py:254: Npipe Connection Pool only on Windows 10:45:48 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:45:48 SKIPPED [1] tests/unit/client_test.py:217: Npipe Connection Pool only on Windows 10:45:48 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:45:48 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:45:48 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:45:48 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:45:48 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:45:48 SKIPPED [1] tests/unit/client_test.py:104: Npipe Connection Pool only on Windows 10:45:48 === 1 failed, 558 passed, 10 skipped, 1 xfailed, 1 warnings in 6.42 seconds ==== [Pipeline] sh 10:45:48 + docker stop dpy-dind-1-0-py2.7-19.03.13 10:45:48 Error response from daemon: No such container: dpy-dind-1-0-py2.7-19.03.13 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] // node [Pipeline] { [Pipeline] } Failed in branch py2.7_19.03.13 [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/docker-py_PR-2784@tmp/d0874fe4-bee1-4281-b9c4-a151f6d84ec6/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 10:45:48 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:45:48 chowning workspace [Pipeline] sh 10:45:49 + pwd 10:45:49 + id -u 10:45:49 + id -g 10:45:49 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:45:49 Removing all docker containers [Pipeline] sh 10:45:50 + docker container ls -aq [Pipeline] echo 10:45:50 Docker containers have been removed [Pipeline] echo 10:45:50 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:45:50 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py3.7 / docker=19.03.12) [Pipeline] checkout 10:45:50 The recommended git tool is: git 10:45:50 using credential docker-jenkins-github-credentials 10:45:50 Cloning the remote Git repository 10:45:50 Cloning with configured refspecs honoured and without tags 10:45:50 Fetching without tags 10:45:51 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 10:45:51 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:45:51 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) 10:45:51 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" [Pipeline] withDockerRegistry [Pipeline] { [Pipeline] sh 10:45:52 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 $ 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/docker-py_PR-2784@tmp/6043d0cc-096d-404f-ab9f-ed348f982974/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:45:52 ============================= test session starts ============================== 10:45:52 platform linux -- Python 3.7.10, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:45:52 cachedir: .pytest_cache 10:45:52 rootdir: /src, inifile: pytest.ini 10:45:52 plugins: timeout-1.3.3, cov-2.6.1 10:45:54 collecting ... collected 570 items 10:45:54 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:45:54 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:45:54 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:45:54 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:45:54 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:45:54 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:45:54 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:45:54 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:45:54 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:45:54 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:45:54 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:45:54 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:45:55 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:45:55 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:45:55 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:45:55 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:45:56 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:45:56 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:45:56 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:45:56 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:45:56 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:45:56 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:45:56 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:45:56 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:45:56 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:45:56 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:45:56 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:45:56 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:45:57 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:45:57 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:45:57 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:45:57 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:45:57 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:45:57 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:45:57 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:45:57 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:45:57 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:45:57 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:45:57 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:45:57 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:45:57 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:45:57 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:45:57 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:45:57 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:45:57 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:45:57 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:45:57 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:45:57 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:45:57 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:45:57 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:45:57 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:45:57 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:45:57 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:45:57 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:45:57 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:45:57 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:45:57 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:45:57 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:45:57 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:45:57 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:45:57 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:45:57 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:45:57 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:45:57 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:45:57 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:45:57 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:45:57 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:45:57 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:45:57 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:45:57 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:45:57 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:45:57 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:45:57 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:45:57 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:45:57 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:45:57 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:45:57 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:45:57 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:45:57 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:45:57 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:45:58 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:45:58 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:45:58 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:45:58 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:45:58 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:45:58 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:45:58 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:45:58 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:45:58 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:45:58 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:45:58 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:45:58 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:45:58 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:45:58 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:45:58 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:45:58 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:45:58 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:45:58 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:45:58 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:45:58 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:45:58 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:45:58 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:45:58 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:45:58 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:45:58 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:45:58 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:45:58 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:45:58 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes SKIPPED [ 94%] 10:45:58 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:45:58 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:45:58 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:45:58 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:45:58 10:45:58 =================================== FAILURES =================================== 10:45:58 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:45:58 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:45:58 "[2001:abcd:ef00::2:]1000:2000") 10:45:58 docker/utils/ports.py:65: in split_port 10:45:58 _raise_invalid_port(port) 10:45:58 docker/utils/ports.py:43: in _raise_invalid_port 10:45:58 'port[/protocol]' % port) 10:45:58 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:45:58 =============================== warnings summary =============================== 10:45:58 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23 10:45:58 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working 10:45:58 from collections import MutableMapping 10:45:58 10:45:58 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:45:58 10:45:58 ---------- coverage: platform linux, python 3.7.10-final-0 ----------- 10:45:58 Name Stmts Miss Branch BrPart Cover 10:45:58 ----------------------------------------------------------------------- 10:45:58 docker/__init__.py 8 0 0 0 100% 10:45:58 docker/api/__init__.py 1 0 0 0 100% 10:45:58 docker/api/build.py 126 41 93 21 63% 10:45:58 docker/api/client.py 263 65 98 13 75% 10:45:58 docker/api/config.py 31 19 6 0 32% 10:45:58 docker/api/container.py 266 72 104 25 65% 10:45:58 docker/api/daemon.py 39 4 14 4 85% 10:45:58 docker/api/exec_api.py 46 11 22 9 68% 10:45:58 docker/api/image.py 157 42 58 13 71% 10:45:58 docker/api/network.py 90 35 48 11 51% 10:45:58 docker/api/plugin.py 90 68 14 0 21% 10:45:58 docker/api/secret.py 36 23 10 0 28% 10:45:58 docker/api/service.py 200 176 149 0 7% 10:45:58 docker/api/swarm.py 106 67 38 1 28% 10:45:58 docker/api/volume.py 38 9 14 2 71% 10:45:58 docker/auth.py 198 16 74 16 88% 10:45:58 docker/client.py 69 10 2 0 86% 10:45:58 docker/constants.py 21 0 0 0 100% 10:45:58 docker/context/__init__.py 2 0 0 0 100% 10:45:58 docker/context/api.py 78 41 38 8 39% 10:45:58 docker/context/config.py 61 33 16 2 42% 10:45:58 docker/context/context.py 151 93 62 6 30% 10:45:58 docker/credentials/__init__.py 3 0 0 0 100% 10:45:58 docker/credentials/constants.py 4 0 0 0 100% 10:45:58 docker/credentials/errors.py 11 4 2 0 54% 10:45:58 docker/credentials/store.py 50 35 16 0 23% 10:45:58 docker/credentials/utils.py 23 18 12 0 14% 10:45:58 docker/errors.py 110 26 20 4 71% 10:45:58 docker/models/__init__.py 0 0 0 0 100% 10:45:58 docker/models/configs.py 21 8 2 0 57% 10:45:58 docker/models/containers.py 183 11 70 9 91% 10:45:58 docker/models/images.py 137 55 56 4 52% 10:45:58 docker/models/networks.py 37 7 12 3 71% 10:45:58 docker/models/nodes.py 15 5 2 0 59% 10:45:58 docker/models/plugins.py 49 30 10 0 32% 10:45:58 docker/models/resource.py 41 10 6 3 72% 10:45:58 docker/models/secrets.py 21 8 2 0 57% 10:45:58 docker/models/services.py 87 35 36 4 59% 10:45:58 docker/models/swarm.py 39 21 6 0 40% 10:45:58 docker/models/volumes.py 23 10 4 0 48% 10:45:58 docker/tls.py 37 6 14 6 76% 10:45:58 docker/transport/__init__.py 11 3 0 0 73% 10:45:58 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:45:58 docker/transport/npipeconn.py 59 54 10 0 7% 10:45:58 docker/transport/npipesocket.py 137 132 22 0 3% 10:45:58 docker/transport/sshconn.py 163 106 56 4 30% 10:45:58 docker/transport/ssladapter.py 36 10 10 4 65% 10:45:58 docker/transport/unixconn.py 66 6 12 4 87% 10:45:58 docker/types/__init__.py 6 0 0 0 100% 10:45:58 docker/types/base.py 5 0 2 0 100% 10:45:58 docker/types/containers.py 420 79 326 43 81% 10:45:58 docker/types/daemon.py 36 24 14 0 24% 10:45:58 docker/types/healthcheck.py 34 20 4 0 37% 10:45:58 docker/types/networks.py 41 11 28 9 65% 10:45:58 docker/types/services.py 314 140 208 39 50% 10:45:58 docker/types/swarm.py 51 45 40 0 7% 10:45:58 docker/utils/__init__.py 3 0 0 0 100% 10:45:58 docker/utils/build.py 155 27 76 10 81% 10:45:58 docker/utils/config.py 36 1 10 1 96% 10:45:58 docker/utils/decorators.py 32 1 12 1 95% 10:45:58 docker/utils/fnmatch.py 55 18 28 2 61% 10:45:58 docker/utils/json_stream.py 43 8 14 2 79% 10:45:58 docker/utils/ports.py 50 3 32 2 91% 10:45:58 docker/utils/proxy.py 32 1 12 0 98% 10:45:58 docker/utils/socket.py 86 10 40 8 84% 10:45:58 docker/utils/utils.py 285 21 177 16 91% 10:45:58 docker/version.py 2 0 2 0 100% 10:45:58 ----------------------------------------------------------------------- 10:45:58 TOTAL 5132 1834 2267 310 60% 10:45:58 10:45:58 =========================== short test summary info ============================ 10:45:58 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:45:58 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:45:58 SKIPPED [1] tests/unit/client_test.py:103: Npipe Connection Pool only on Windows 10:45:58 SKIPPED [1] tests/unit/client_test.py:142: Npipe Connection Pool only on Windows 10:45:58 SKIPPED [1] tests/unit/client_test.py:216: Npipe Connection Pool only on Windows 10:45:58 SKIPPED [1] tests/unit/client_test.py:253: Npipe Connection Pool only on Windows 10:45:58 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:45:58 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:45:58 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:45:58 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:45:58 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:45:58 SKIPPED [1] tests/unit/utils_test.py:478: shlex doesn't support bytes in py3 10:45:58 === 1 failed, 557 passed, 11 skipped, 1 xfailed, 1 warnings in 6.26 seconds ==== [Pipeline] sh 10:45:59 + docker stop dpy-dind-1-0-py3.7-19.03.12 10:45:59 Error response from daemon: No such container: dpy-dind-1-0-py3.7-19.03.12 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] // node [Pipeline] { [Pipeline] } Failed in branch py3.7_19.03.12 [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/docker-py_PR-2784@tmp/27d041c7-9d53-44b1-83ad-eab06e4d5036/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 10:45:59 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:45:59 chowning workspace [Pipeline] sh 10:46:00 + pwd 10:46:00 + id -u 10:46:00 + id -g 10:46:00 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:46:00 Removing all docker containers [Pipeline] sh 10:46:01 + docker container ls -aq [Pipeline] echo 10:46:01 Docker containers have been removed [Pipeline] echo 10:46:01 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:46:01 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py3.7 / docker=20.10.5) [Pipeline] checkout 10:46:01 The recommended git tool is: git 10:46:01 using credential docker-jenkins-github-credentials 10:46:01 Cloning the remote Git repository 10:46:01 Cloning with configured refspecs honoured and without tags 10:46:02 Fetching without tags Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 10:46:02 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:46:02 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:46:02 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) 10:46:02 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" [Pipeline] withDockerRegistry > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 [Pipeline] { [Pipeline] sh 10:46:03 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit $ 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/docker-py_PR-2784@tmp/d172056e-50dd-4101-aac2-bb51f3ca2d08/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:46:04 ============================= test session starts ============================== 10:46:04 platform linux -- Python 3.7.10, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:46:04 cachedir: .pytest_cache 10:46:04 rootdir: /src, inifile: pytest.ini 10:46:04 plugins: timeout-1.3.3, cov-2.6.1 10:46:05 collecting ... collected 570 items 10:46:05 10:46:05 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:46:05 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:46:05 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:46:05 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:46:05 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:46:06 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:46:06 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:46:06 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:46:06 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:46:06 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:46:06 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:46:06 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:46:06 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:46:06 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:46:06 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:46:06 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:46:06 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:46:06 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:46:07 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:46:07 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:46:07 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:46:07 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:46:08 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:46:08 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:46:08 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:46:08 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:46:08 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:46:08 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:46:08 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:46:08 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:46:08 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:46:08 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:46:08 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:46:08 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:46:08 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:46:08 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:46:08 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:46:08 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:46:08 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:46:08 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:46:08 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:46:09 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:46:09 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:46:09 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:46:09 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:46:09 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:46:09 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:46:09 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:46:09 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:46:09 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:46:09 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:46:09 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:46:09 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:46:09 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:46:09 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:46:09 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:46:09 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:46:09 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:46:09 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:46:09 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:46:09 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:46:09 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:46:09 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:46:09 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:46:09 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:46:09 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:46:09 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:46:09 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:46:09 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:46:09 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:46:09 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:46:09 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:46:09 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:46:09 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:46:09 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:46:09 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:46:09 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:46:09 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:46:09 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:46:09 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:46:09 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:46:09 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:46:09 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:46:09 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:46:09 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:46:09 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:46:09 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:46:09 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:46:09 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:46:09 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:46:09 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:46:09 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:46:09 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:46:09 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:46:09 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:46:09 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:46:09 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:46:09 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:46:09 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:46:09 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:46:09 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:46:09 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:46:09 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:46:09 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:46:09 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:46:09 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:46:09 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:46:09 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:46:09 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:46:09 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:46:09 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:46:09 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes SKIPPED [ 94%] 10:46:09 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:46:10 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:46:10 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:46:10 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:46:10 10:46:10 =================================== FAILURES =================================== 10:46:10 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:46:10 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:46:10 "[2001:abcd:ef00::2:]1000:2000") 10:46:10 docker/utils/ports.py:65: in split_port 10:46:10 _raise_invalid_port(port) 10:46:10 docker/utils/ports.py:43: in _raise_invalid_port 10:46:10 'port[/protocol]' % port) 10:46:10 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:46:10 =============================== warnings summary =============================== 10:46:10 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23 10:46:10 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working 10:46:10 from collections import MutableMapping 10:46:10 10:46:10 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:46:10 10:46:10 ---------- coverage: platform linux, python 3.7.10-final-0 ----------- 10:46:10 Name Stmts Miss Branch BrPart Cover 10:46:10 ----------------------------------------------------------------------- 10:46:10 docker/__init__.py 8 0 0 0 100% 10:46:10 docker/api/__init__.py 1 0 0 0 100% 10:46:10 docker/api/build.py 126 41 93 21 63% 10:46:10 docker/api/client.py 263 65 98 13 75% 10:46:10 docker/api/config.py 31 19 6 0 32% 10:46:10 docker/api/container.py 266 72 104 25 65% 10:46:10 docker/api/daemon.py 39 4 14 4 85% 10:46:10 docker/api/exec_api.py 46 11 22 9 68% 10:46:10 docker/api/image.py 157 42 58 13 71% 10:46:10 docker/api/network.py 90 35 48 11 51% 10:46:10 docker/api/plugin.py 90 68 14 0 21% 10:46:10 docker/api/secret.py 36 23 10 0 28% 10:46:10 docker/api/service.py 200 176 149 0 7% 10:46:10 docker/api/swarm.py 106 67 38 1 28% 10:46:10 docker/api/volume.py 38 9 14 2 71% 10:46:10 docker/auth.py 198 16 74 16 88% 10:46:10 docker/client.py 69 10 2 0 86% 10:46:10 docker/constants.py 21 0 0 0 100% 10:46:10 docker/context/__init__.py 2 0 0 0 100% 10:46:10 docker/context/api.py 78 41 38 8 39% 10:46:10 docker/context/config.py 61 33 16 2 42% 10:46:10 docker/context/context.py 151 93 62 6 30% 10:46:10 docker/credentials/__init__.py 3 0 0 0 100% 10:46:10 docker/credentials/constants.py 4 0 0 0 100% 10:46:10 docker/credentials/errors.py 11 4 2 0 54% 10:46:10 docker/credentials/store.py 50 35 16 0 23% 10:46:10 docker/credentials/utils.py 23 18 12 0 14% 10:46:10 docker/errors.py 110 26 20 4 71% 10:46:10 docker/models/__init__.py 0 0 0 0 100% 10:46:10 docker/models/configs.py 21 8 2 0 57% 10:46:10 docker/models/containers.py 183 11 70 9 91% 10:46:10 docker/models/images.py 137 55 56 4 52% 10:46:10 docker/models/networks.py 37 7 12 3 71% 10:46:10 docker/models/nodes.py 15 5 2 0 59% 10:46:10 docker/models/plugins.py 49 30 10 0 32% 10:46:10 docker/models/resource.py 41 10 6 3 72% 10:46:10 docker/models/secrets.py 21 8 2 0 57% 10:46:10 docker/models/services.py 87 35 36 4 59% 10:46:10 docker/models/swarm.py 39 21 6 0 40% 10:46:10 docker/models/volumes.py 23 10 4 0 48% 10:46:10 docker/tls.py 37 6 14 6 76% 10:46:10 docker/transport/__init__.py 11 3 0 0 73% 10:46:10 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:46:10 docker/transport/npipeconn.py 59 54 10 0 7% 10:46:10 docker/transport/npipesocket.py 137 132 22 0 3% 10:46:10 docker/transport/sshconn.py 163 106 56 4 30% 10:46:10 docker/transport/ssladapter.py 36 10 10 4 65% 10:46:10 docker/transport/unixconn.py 66 6 12 4 87% 10:46:10 docker/types/__init__.py 6 0 0 0 100% 10:46:10 docker/types/base.py 5 0 2 0 100% 10:46:10 docker/types/containers.py 420 79 326 43 81% 10:46:10 docker/types/daemon.py 36 24 14 0 24% 10:46:10 docker/types/healthcheck.py 34 20 4 0 37% 10:46:10 docker/types/networks.py 41 11 28 9 65% 10:46:10 docker/types/services.py 314 140 208 39 50% 10:46:10 docker/types/swarm.py 51 45 40 0 7% 10:46:10 docker/utils/__init__.py 3 0 0 0 100% 10:46:10 docker/utils/build.py 155 27 76 10 81% 10:46:10 docker/utils/config.py 36 1 10 1 96% 10:46:10 docker/utils/decorators.py 32 1 12 1 95% 10:46:10 docker/utils/fnmatch.py 55 18 28 2 61% 10:46:10 docker/utils/json_stream.py 43 8 14 2 79% 10:46:10 docker/utils/ports.py 50 3 32 2 91% 10:46:10 docker/utils/proxy.py 32 1 12 0 98% 10:46:10 docker/utils/socket.py 86 10 40 8 84% 10:46:10 docker/utils/utils.py 285 21 177 16 91% 10:46:10 docker/version.py 2 0 2 0 100% 10:46:10 ----------------------------------------------------------------------- 10:46:10 TOTAL 5132 1834 2267 310 60% 10:46:10 10:46:10 =========================== short test summary info ============================ 10:46:10 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:46:10 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:46:10 SKIPPED [1] tests/unit/client_test.py:103: Npipe Connection Pool only on Windows 10:46:10 SKIPPED [1] tests/unit/client_test.py:142: Npipe Connection Pool only on Windows 10:46:10 SKIPPED [1] tests/unit/client_test.py:216: Npipe Connection Pool only on Windows 10:46:10 SKIPPED [1] tests/unit/client_test.py:253: Npipe Connection Pool only on Windows 10:46:10 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:46:10 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:46:10 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:46:10 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:46:10 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:46:10 SKIPPED [1] tests/unit/utils_test.py:478: shlex doesn't support bytes in py3 10:46:10 === 1 failed, 557 passed, 11 skipped, 1 xfailed, 1 warnings in 6.36 seconds ==== [Pipeline] sh 10:46:11 + docker stop dpy-dind-1-0-py3.7-20.10.5 10:46:11 Error response from daemon: No such container: dpy-dind-1-0-py3.7-20.10.5 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } Running on EC2 (managed-agents) - ubuntu-2004-cgroup1 (i-0bb81ab43be5fefbe) in /home/ubuntu/workspace/docker-py_PR-2784 [Pipeline] // node [Pipeline] { [Pipeline] } Failed in branch py3.7_20.10.5 [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/docker-py_PR-2784@tmp/3e7efa4a-754b-4614-a62f-dd0330674dae/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 10:46:11 cleanWorkspace: Ensuring workspace is owned by ubuntu [Pipeline] echo 10:46:11 chowning workspace [Pipeline] sh 10:46:11 + pwd 10:46:11 + id -u 10:46:11 + id -g 10:46:11 + docker run --rm -v /home/ubuntu/workspace/docker-py_PR-2784:/workspace busybox chown -R 1000:1000 /workspace [Pipeline] echo 10:46:12 Removing all docker containers [Pipeline] sh 10:46:12 + docker container ls -aq [Pipeline] echo 10:46:12 Docker containers have been removed [Pipeline] echo 10:46:12 cleanWorkspace: Removing existing workspace [Pipeline] deleteDir [Pipeline] echo 10:46:12 cleanWorkspace: Workspace is clean. [Pipeline] stage [Pipeline] { (test python=py3.7 / docker=19.03.13) [Pipeline] checkout 10:46:12 The recommended git tool is: git 10:46:12 using credential docker-jenkins-github-credentials 10:46:12 Cloning the remote Git repository 10:46:12 Cloning with configured refspecs honoured and without tags 10:46:13 Fetching without tags 10:46:13 Merging remotes/origin/master commit 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd into PR head commit be49c28bae072486b0d87eeb3e923db1d12f826e 10:46:13 Merge succeeded, producing be49c28bae072486b0d87eeb3e923db1d12f826e 10:46:13 Checking out Revision be49c28bae072486b0d87eeb3e923db1d12f826e (PR-2784) 10:46:13 Commit message: "relax PORT_SPEC regex so it accept and ignore square brackets" Cloning repository https://github.com/docker/docker-py.git > git init /home/ubuntu/workspace/docker-py_PR-2784 # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 > git config --add remote.origin.fetch +refs/pull/2784/head:refs/remotes/origin/PR-2784 # timeout=10 > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config remote.origin.url https://github.com/docker/docker-py.git # timeout=10 Fetching upstream changes from https://github.com/docker/docker-py.git using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git fetch --no-tags --force --progress -- https://github.com/docker/docker-py.git +refs/pull/2784/head:refs/remotes/origin/PR-2784 +refs/heads/master:refs/remotes/origin/master # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials docker-jenkins GitHub credentials > git merge 55f405e04a91ddbbc26aa738bd3cb41bd28f8dbd # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f be49c28bae072486b0d87eeb3e923db1d12f826e # timeout=10 [Pipeline] withDockerRegistry [Pipeline] { [Pipeline] sh 10:46:14 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py3-be49c28bae072486b0d87eeb3e923db1d12f826e py.test -v -rxs --cov=docker tests/unit > git --version # timeout=10 > git --version # 'git version 2.25.1' fatal: bad object 5d8b74fd03a1c7cc00e1c1f32d100ed97a17f4f0 $ 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/docker-py_PR-2784@tmp/d596ab69-504a-4429-bd6d-8f961bf9b9ff/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 10:46:15 ============================= test session starts ============================== 10:46:15 platform linux -- Python 3.7.10, pytest-4.3.1, py-1.10.0, pluggy-0.13.1 -- /usr/local/bin/python 10:46:15 cachedir: .pytest_cache 10:46:15 rootdir: /src, inifile: pytest.ini 10:46:15 plugins: timeout-1.3.3, cov-2.6.1 10:46:17 collecting ... collected 570 items 10:46:17 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED [ 0%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [ 0%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [ 0%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [ 0%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [ 0%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [ 1%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [ 2%] 10:46:17 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [ 2%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [ 2%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [ 2%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [ 2%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [ 2%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [ 3%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [ 3%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [ 3%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [ 3%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [ 3%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [ 4%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [ 5%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [ 6%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [ 6%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [ 6%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [ 6%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [ 6%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [ 7%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [ 8%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [ 9%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [ 9%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [ 9%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [ 9%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [ 9%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 12%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED [ 13%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_export PASSED [ 13%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 14%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 15%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED [ 16%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED [ 16%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED [ 16%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_port PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 17%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 18%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED [ 19%] 10:46:17 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%] 10:46:17 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED [ 19%] 10:46:17 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED [ 19%] 10:46:17 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED [ 19%] 10:46:17 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED [ 20%] 10:46:17 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED [ 20%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_commit PASSED [ 20%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED [ 20%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED [ 20%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED [ 20%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_images PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED [ 21%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED [ 22%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_pull PASSED [ 23%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED [ 23%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED [ 23%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED [ 23%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED [ 24%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED [ 24%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED [ 24%] 10:46:17 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED [ 24%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 24%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED [ 25%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED [ 25%] 10:46:17 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED [ 25%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 25%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED [ 26%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_events PASSED [ 26%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED [ 26%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_info PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_login PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_search PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED [ 28%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED [ 29%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED [ 29%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED [ 29%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_version PASSED [ 29%] 10:46:17 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%] 10:46:17 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 30%] 10:46:17 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%] 10:46:18 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%] 10:46:18 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%] 10:46:18 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%] 10:46:18 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%] 10:46:18 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 31%] 10:46:19 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%] 10:46:19 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%] 10:46:19 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED [ 31%] 10:46:19 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED [ 31%] 10:46:19 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%] 10:46:19 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 32%] 10:46:19 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED [ 32%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 33%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED [ 33%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED [ 33%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%] 10:46:19 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 36%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%] 10:46:19 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 39%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 39%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%] 10:46:19 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 43%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 43%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%] 10:46:19 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%] 10:46:19 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_call_containers PASSED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_events PASSED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_info PASSED [ 44%] 10:46:19 tests/unit/client_test.py::ClientTest::test_ping PASSED [ 45%] 10:46:19 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED [ 45%] 10:46:19 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED [ 45%] 10:46:19 tests/unit/client_test.py::ClientTest::test_version PASSED [ 45%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED [ 46%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 46%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 46%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%] 10:46:19 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED [ 47%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 48%] 10:46:19 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 48%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 48%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 48%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 49%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 49%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 49%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 49%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%] 10:46:19 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%] 10:46:19 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%] 10:46:19 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%] 10:46:19 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%] 10:46:19 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%] 10:46:19 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%] 10:46:19 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%] 10:46:20 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%] 10:46:20 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%] 10:46:20 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%] 10:46:20 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%] 10:46:20 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%] 10:46:20 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%] 10:46:20 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 64%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 65%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 67%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%] 10:46:20 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 68%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 70%] 10:46:20 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%] 10:46:20 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%] 10:46:20 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%] 10:46:20 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%] 10:46:20 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%] 10:46:20 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 71%] 10:46:20 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%] 10:46:20 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%] 10:46:20 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%] 10:46:20 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%] 10:46:20 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%] 10:46:20 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 72%] 10:46:20 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%] 10:46:20 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%] 10:46:20 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%] 10:46:20 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%] 10:46:20 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%] 10:46:20 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%] 10:46:20 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%] 10:46:20 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%] 10:46:20 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%] 10:46:20 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%] 10:46:20 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 74%] 10:46:20 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%] 10:46:20 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%] 10:46:20 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%] 10:46:20 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 75%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 77%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 78%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 80%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 81%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 82%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%] 10:46:20 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 83%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%] 10:46:20 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%] 10:46:20 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%] 10:46:20 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%] 10:46:20 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 84%] 10:46:20 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 85%] 10:46:20 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%] 10:46:20 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%] 10:46:20 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%] 10:46:20 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%] 10:46:20 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%] 10:46:20 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%] 10:46:20 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%] 10:46:20 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 87%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 88%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%] 10:46:20 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%] 10:46:20 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%] 10:46:20 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 90%] 10:46:20 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 91%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 92%] 10:46:20 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%] 10:46:20 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%] 10:46:20 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%] 10:46:20 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%] 10:46:20 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 93%] 10:46:20 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%] 10:46:20 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%] 10:46:20 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%] 10:46:20 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%] 10:46:20 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes SKIPPED [ 94%] 10:46:20 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 94%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 95%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%] 10:46:20 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%] 10:46:21 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%] 10:46:21 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%] 10:46:21 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address FAILED [ 99%] 10:46:21 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%] 10:46:21 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%] 10:46:21 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%] 10:46:21 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%] 10:46:21 10:46:21 =================================== FAILURES =================================== 10:46:21 _________ PortsTest.test_split_port_with_ipv6_square_brackets_address __________ 10:46:21 tests/unit/utils_test.py:546: in test_split_port_with_ipv6_square_brackets_address 10:46:21 "[2001:abcd:ef00::2:]1000:2000") 10:46:21 docker/utils/ports.py:65: in split_port 10:46:21 _raise_invalid_port(port) 10:46:21 docker/utils/ports.py:43: in _raise_invalid_port 10:46:21 'port[/protocol]' % port) 10:46:21 E ValueError: Invalid port "[2001:abcd:ef00::2:]1000:2000", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol] 10:46:21 =============================== warnings summary =============================== 10:46:21 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23 10:46:21 /usr/local/lib/python3.7/site-packages/paramiko/hostkeys.py:23: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working 10:46:21 from collections import MutableMapping 10:46:21 10:46:21 -- Docs: https://docs.pytest.org/en/latest/warnings.html 10:46:21 10:46:21 ---------- coverage: platform linux, python 3.7.10-final-0 ----------- 10:46:21 Name Stmts Miss Branch BrPart Cover 10:46:21 ----------------------------------------------------------------------- 10:46:21 docker/__init__.py 8 0 0 0 100% 10:46:21 docker/api/__init__.py 1 0 0 0 100% 10:46:21 docker/api/build.py 126 41 93 21 63% 10:46:21 docker/api/client.py 263 65 98 13 75% 10:46:21 docker/api/config.py 31 19 6 0 32% 10:46:21 docker/api/container.py 266 72 104 25 65% 10:46:21 docker/api/daemon.py 39 4 14 4 85% 10:46:21 docker/api/exec_api.py 46 11 22 9 68% 10:46:21 docker/api/image.py 157 42 58 13 71% 10:46:21 docker/api/network.py 90 35 48 11 51% 10:46:21 docker/api/plugin.py 90 68 14 0 21% 10:46:21 docker/api/secret.py 36 23 10 0 28% 10:46:21 docker/api/service.py 200 176 149 0 7% 10:46:21 docker/api/swarm.py 106 67 38 1 28% 10:46:21 docker/api/volume.py 38 9 14 2 71% 10:46:21 docker/auth.py 198 16 74 16 88% 10:46:21 docker/client.py 69 10 2 0 86% 10:46:21 docker/constants.py 21 0 0 0 100% 10:46:21 docker/context/__init__.py 2 0 0 0 100% 10:46:21 docker/context/api.py 78 41 38 8 39% 10:46:21 docker/context/config.py 61 33 16 2 42% 10:46:21 docker/context/context.py 151 93 62 6 30% 10:46:21 docker/credentials/__init__.py 3 0 0 0 100% 10:46:21 docker/credentials/constants.py 4 0 0 0 100% 10:46:21 docker/credentials/errors.py 11 4 2 0 54% 10:46:21 docker/credentials/store.py 50 35 16 0 23% 10:46:21 docker/credentials/utils.py 23 18 12 0 14% 10:46:21 docker/errors.py 110 26 20 4 71% 10:46:21 docker/models/__init__.py 0 0 0 0 100% 10:46:21 docker/models/configs.py 21 8 2 0 57% 10:46:21 docker/models/containers.py 183 11 70 9 91% 10:46:21 docker/models/images.py 137 55 56 4 52% 10:46:21 docker/models/networks.py 37 7 12 3 71% 10:46:21 docker/models/nodes.py 15 5 2 0 59% 10:46:21 docker/models/plugins.py 49 30 10 0 32% 10:46:21 docker/models/resource.py 41 10 6 3 72% 10:46:21 docker/models/secrets.py 21 8 2 0 57% 10:46:21 docker/models/services.py 87 35 36 4 59% 10:46:21 docker/models/swarm.py 39 21 6 0 40% 10:46:21 docker/models/volumes.py 23 10 4 0 48% 10:46:21 docker/tls.py 37 6 14 6 76% 10:46:21 docker/transport/__init__.py 11 3 0 0 73% 10:46:21 docker/transport/basehttpadapter.py 6 0 2 1 88% 10:46:21 docker/transport/npipeconn.py 59 54 10 0 7% 10:46:21 docker/transport/npipesocket.py 137 132 22 0 3% 10:46:21 docker/transport/sshconn.py 163 106 56 4 30% 10:46:21 docker/transport/ssladapter.py 36 10 10 4 65% 10:46:21 docker/transport/unixconn.py 66 6 12 4 87% 10:46:21 docker/types/__init__.py 6 0 0 0 100% 10:46:21 docker/types/base.py 5 0 2 0 100% 10:46:21 docker/types/containers.py 420 79 326 43 81% 10:46:21 docker/types/daemon.py 36 24 14 0 24% 10:46:21 docker/types/healthcheck.py 34 20 4 0 37% 10:46:21 docker/types/networks.py 41 11 28 9 65% 10:46:21 docker/types/services.py 314 140 208 39 50% 10:46:21 docker/types/swarm.py 51 45 40 0 7% 10:46:21 docker/utils/__init__.py 3 0 0 0 100% 10:46:21 docker/utils/build.py 155 27 76 10 81% 10:46:21 docker/utils/config.py 36 1 10 1 96% 10:46:21 docker/utils/decorators.py 32 1 12 1 95% 10:46:21 docker/utils/fnmatch.py 55 18 28 2 61% 10:46:21 docker/utils/json_stream.py 43 8 14 2 79% 10:46:21 docker/utils/ports.py 50 3 32 2 91% 10:46:21 docker/utils/proxy.py 32 1 12 0 98% 10:46:21 docker/utils/socket.py 86 10 40 8 84% 10:46:21 docker/utils/utils.py 285 21 177 16 91% 10:46:21 docker/version.py 2 0 2 0 100% 10:46:21 ----------------------------------------------------------------------- 10:46:21 TOTAL 5132 1834 2267 310 60% 10:46:21 10:46:21 =========================== short test summary info ============================ 10:46:21 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows 10:46:21 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax 10:46:21 SKIPPED [1] tests/unit/client_test.py:103: Npipe Connection Pool only on Windows 10:46:21 SKIPPED [1] tests/unit/client_test.py:142: Npipe Connection Pool only on Windows 10:46:21 SKIPPED [1] tests/unit/client_test.py:216: Npipe Connection Pool only on Windows 10:46:21 SKIPPED [1] tests/unit/client_test.py:253: Npipe Connection Pool only on Windows 10:46:21 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check 10:46:21 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows 10:46:21 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows 10:46:21 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows 10:46:21 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32' 10:46:21 SKIPPED [1] tests/unit/utils_test.py:478: shlex doesn't support bytes in py3 10:46:21 === 1 failed, 557 passed, 11 skipped, 1 xfailed, 1 warnings in 6.24 seconds ==== [Pipeline] sh 10:46:22 + docker stop dpy-dind-1-0-py3.7-19.03.13 10:46:22 Error response from daemon: No such container: dpy-dind-1-0-py3.7-19.03.13 [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // withDockerRegistry [Pipeline] } [Pipeline] // node [Pipeline] } Failed in branch py3.7_19.03.13 [Pipeline] // parallel [Pipeline] End of Pipeline GitHub has been notified of this commit’s build result ERROR: script returned exit code 1 Finished: FAILURE