Failure
Build: repos/community-any
Packages:
[python-cfn-lint-0.28.3-1-any.pkg.tar.xz]
authorName: alium
authorEmail: alium at artixlinux.org
[1]https://orion.artixlinux.org/job/packagesPython/job/python-cfn-lint/
job/master/31/
References
1. https://orion.artixlinux.org/job/packagesPython/job/python-cfn-lint/job/master/31/
-------------- next part --------------
Push event to branch master
Querying the current revision of branch master...
Current revision of branch master is c6ff675e519390d48e9ec03ea072ab03cb3c911d
Obtained Jenkinsfile from c6ff675e519390d48e9ec03ea072ab03cb3c911d
Running in Durability level: PERFORMANCE_OPTIMIZED
Loading library artix-ci at master
Attempting to resolve master from remote references...
> git --version # timeout=10
> git ls-remote -- https://gitea.artixlinux.org/artix/pipeline-libs.git # timeout=10
Found match: refs/heads/master revision 77f77ff85eedb6eb60b64faf8c328ab86dbb479c
Warning: CredentialId "gitea-ci" could not be found.
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://gitea.artixlinux.org/artix/pipeline-libs.git # timeout=10
Fetching without tags
Fetching upstream changes from https://gitea.artixlinux.org/artix/pipeline-libs.git
> git --version # timeout=10
> git fetch --no-tags --force --progress -- https://gitea.artixlinux.org/artix/pipeline-libs.git +refs/heads/master:refs/remotes/origin/master # timeout=10
Checking out Revision 77f77ff85eedb6eb60b64faf8c328ab86dbb479c (master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 77f77ff85eedb6eb60b64faf8c328ab86dbb479c # timeout=10
Commit message: "Notify: remove fail condition"
[Gitea] Notifying branch build status: PENDING Build started...
[Gitea] Notified
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /build/jenkins/workspace/gesPython_python-cfn-lint_master
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Prepare)
[Pipeline] checkout
[2020-03-05T15:09:13.864Z] Warning: CredentialId "jenkins-ci" could not be found.
[2020-03-05T15:09:13.864Z] > git rev-parse --is-inside-work-tree # timeout=10
[2020-03-05T15:09:13.870Z] Fetching changes from the remote Git repository
[2020-03-05T15:09:13.870Z] > git config remote.origin.url https://237b7412742b4068af4173944de150f12959f4d3@gitea.artixlinux.org/packagesPython/python-cfn-lint.git # timeout=10
[2020-03-05T15:09:13.874Z] Cleaning workspace
[2020-03-05T15:09:13.875Z] > git rev-parse --verify HEAD # timeout=10
[2020-03-05T15:09:13.879Z] Resetting working tree
[2020-03-05T15:09:13.879Z] > git reset --hard # timeout=10
[2020-03-05T15:09:13.890Z] > git clean -fdx # timeout=10
[2020-03-05T15:09:13.893Z] Fetching without tags
[2020-03-05T15:09:13.893Z] Fetching upstream changes from https://237b7412742b4068af4173944de150f12959f4d3@gitea.artixlinux.org/packagesPython/python-cfn-lint.git
[2020-03-05T15:09:13.893Z] > git --version # timeout=10
[2020-03-05T15:09:13.896Z] > git fetch --no-tags --force --progress -- https://237b7412742b4068af4173944de150f12959f4d3@gitea.artixlinux.org/packagesPython/python-cfn-lint.git +refs/heads/master:refs/remotes/origin/master # timeout=10
[2020-03-05T15:09:14.035Z] Checking out Revision c6ff675e519390d48e9ec03ea072ab03cb3c911d (master)
[2020-03-05T15:09:14.035Z] > git config core.sparsecheckout # timeout=10
[2020-03-05T15:09:14.040Z] > git checkout -f c6ff675e519390d48e9ec03ea072ab03cb3c911d # timeout=10
[2020-03-05T15:09:14.050Z] Commit message: "[trunk] -> [community] 'python-cfn-lint-0.28.3-1' add"
[2020-03-05T15:09:14.051Z] > git rev-list --no-walk 369fc53f7b83dcb9b226515d8d666bcadd6541f9 # timeout=10
[2020-03-05T15:09:14.064Z] [Gitea] Notifying branch build status: PENDING Build started...
[2020-03-05T15:09:14.191Z] [Gitea] Notified
[Pipeline] libraryResource
[Pipeline] readYaml
[Pipeline] sh
[2020-03-05T15:09:14.467Z] + git rev-parse @
[Pipeline] sh
[2020-03-05T15:09:14.724Z] + git show -s --format=%an c6ff675e519390d48e9ec03ea072ab03cb3c911d
[Pipeline] sh
[2020-03-05T15:09:14.983Z] + git show -s --format=%ae c6ff675e519390d48e9ec03ea072ab03cb3c911d
[Pipeline] sh
[2020-03-05T15:09:15.240Z] + git show --pretty=format: --name-status c6ff675e519390d48e9ec03ea072ab03cb3c911d
[Pipeline] fileExists
[Pipeline] sh
[2020-03-05T15:09:15.510Z] + pkg2yaml repos/community-any
[Pipeline] readYaml
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Build)
[Pipeline] echo
[2020-03-05T15:09:15.624Z] isRebuild: false
[Pipeline] dir
[2020-03-05T15:09:15.630Z] Running in /build/jenkins/workspace/gesPython_python-cfn-lint_master/repos/community-any
[Pipeline] {
[Pipeline] sh
[2020-03-05T15:09:15.892Z] + buildpkg-galaxy
[2020-03-05T15:09:19.121Z] :: Synchronizing package databases...
[2020-03-05T15:09:19.121Z] system is up to date
[2020-03-05T15:09:19.121Z] world is up to date
[2020-03-05T15:09:19.121Z] downloading galaxy.db...
[2020-03-05T15:09:19.121Z] downloading extra.db...
[2020-03-05T15:09:19.121Z] downloading community.db...
[2020-03-05T15:09:19.671Z] :: Starting full system upgrade...
[2020-03-05T15:09:19.671Z] there is nothing to do
[2020-03-05T15:09:20.582Z] ==> Building in chroot for [default] (x86_64)...
[2020-03-05T15:09:21.493Z] ==> Synchronizing chroot copy [/build/buildpkg/default-x86_64/root] -> [jenkins]...done
[2020-03-05T15:09:22.403Z] ==> Making package: python-cfn-lint 0.28.3-1 (Thu Mar 5 16:09:22 2020)
[2020-03-05T15:09:22.403Z] ==> Retrieving sources...
[2020-03-05T15:09:22.403Z] -> Downloading cfn-python-lint-0.28.3.tar.gz...
[2020-03-05T15:09:22.403Z] % Total % Received % Xferd Average Speed Time Time Time Current
[2020-03-05T15:09:22.403Z] Dload Upload Total Spent Left Speed
[2020-03-05T15:09:22.654Z]
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 143 100 143 0 0 479 0 --:--:-- --:--:-- --:--:-- 479
[2020-03-05T15:09:24.365Z]
100 14288 0 14288 0 0 15910 0 --:--:-- --:--:-- --:--:-- 15910
100 3521k 0 3521k 0 0 1929k 0 --:--:-- 0:00:01 --:--:-- 3779k
100 3727k 0 3727k 0 0 2007k 0 --:--:-- 0:00:01 --:--:-- 3868k
[2020-03-05T15:09:24.365Z] ==> Validating source files with sha256sums...
[2020-03-05T15:09:24.365Z] cfn-python-lint-0.28.3.tar.gz ... Passed
[2020-03-05T15:09:28.487Z] ==> Making package: python-cfn-lint 0.28.3-1 (Thu 05 Mar 2020 03:09:28 PM UTC)
[2020-03-05T15:09:28.487Z] ==> Checking runtime dependencies...
[2020-03-05T15:09:28.487Z] ==> Installing missing dependencies...
[2020-03-05T15:09:28.737Z] resolving dependencies...
[2020-03-05T15:09:28.737Z] looking for conflicting packages...
[2020-03-05T15:09:28.737Z]
[2020-03-05T15:09:28.737Z] Package (25) New Version Net Change Download Size
[2020-03-05T15:09:28.737Z]
[2020-03-05T15:09:28.737Z] system/libnsl 1.2.0-2 0.19 MiB
[2020-03-05T15:09:28.737Z] world/libyaml 0.2.2-1 0.21 MiB
[2020-03-05T15:09:28.737Z] world/python-appdirs 1.4.3-5 0.07 MiB
[2020-03-05T15:09:28.737Z] world/python-attrs 19.3.0-4 0.30 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-boto3 1.12.10-1 1.31 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-botocore 1.15.3-1 42.19 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-dateutil 2.8.1-3 0.79 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-docutils 0.14-4 4.18 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-importlib-metadata 1.5.0-1 0.18 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-jmespath 0.9.5-1 0.17 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-jsonpointer 2.0-4 0.02 MiB
[2020-03-05T15:09:28.737Z] world/python-ordered-set 3.1.1-1 0.05 MiB
[2020-03-05T15:09:28.737Z] world/python-packaging 20.1-1 0.17 MiB
[2020-03-05T15:09:28.737Z] world/python-pyparsing 2.4.6-1 0.73 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-pyrsistent 0.15.7-2 0.48 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-s3transfer 0.3.3-1 0.66 MiB
[2020-03-05T15:09:28.737Z] world/python-urllib3 1.25.8-2 0.64 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-zipp 3.1.0-1 0.03 MiB
[2020-03-05T15:09:28.737Z] world/python 3.8.1-4 80.64 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-aws-sam-translator 1.21.0-1 1.32 MiB 0.19 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-jsonpatch 1.25-1 0.05 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-jsonschema 3.2.0-2 0.57 MiB 0.09 MiB
[2020-03-05T15:09:28.737Z] world/python-setuptools 1:45.2.0-1 1.55 MiB
[2020-03-05T15:09:28.737Z] world/python-six 1.14.0-1 0.09 MiB
[2020-03-05T15:09:28.737Z] galaxy/python-yaml 5.3-1 0.76 MiB
[2020-03-05T15:09:28.737Z]
[2020-03-05T15:09:28.737Z] Total Download Size: 0.28 MiB
[2020-03-05T15:09:28.737Z] Total Installed Size: 137.35 MiB
[2020-03-05T15:09:28.737Z]
[2020-03-05T15:09:28.737Z] :: Proceed with installation? [Y/n]
[2020-03-05T15:09:28.737Z] :: Retrieving packages...
[2020-03-05T15:09:28.737Z] downloading python-jsonschema-3.2.0-2-any.pkg.tar.xz...
[2020-03-05T15:09:28.737Z] downloading python-aws-sam-translator-1.21.0-1-any.pkg.tar.xz...
[2020-03-05T15:09:28.737Z] checking keyring...
[2020-03-05T15:09:28.737Z] checking package integrity...
[2020-03-05T15:09:30.080Z] loading package files...
[2020-03-05T15:09:30.080Z] checking for file conflicts...
[2020-03-05T15:09:30.331Z] checking available disk space...
[2020-03-05T15:09:30.331Z] :: Processing package changes...
[2020-03-05T15:09:30.331Z] installing libnsl...
[2020-03-05T15:09:30.331Z] installing python...
[2020-03-05T15:09:32.813Z] Optional dependencies for python
[2020-03-05T15:09:32.813Z] python-setuptools [pending]
[2020-03-05T15:09:32.813Z] python-pip
[2020-03-05T15:09:32.813Z] sqlite [installed]
[2020-03-05T15:09:32.813Z] mpdecimal: for decimal
[2020-03-05T15:09:32.813Z] xz: for lzma [installed]
[2020-03-05T15:09:32.813Z] tk: for tkinter
[2020-03-05T15:09:32.813Z] installing libyaml...
[2020-03-05T15:09:32.813Z] installing python-yaml...
[2020-03-05T15:09:32.813Z] installing python-six...
[2020-03-05T15:09:32.813Z] installing python-dateutil...
[2020-03-05T15:09:32.813Z] installing python-jmespath...
[2020-03-05T15:09:32.813Z] installing python-docutils...
[2020-03-05T15:09:32.813Z] installing python-urllib3...
[2020-03-05T15:09:32.813Z] Optional dependencies for python-urllib3
[2020-03-05T15:09:32.813Z] python-pysocks: SOCKS support
[2020-03-05T15:09:32.813Z] python-brotli: Brotli support
[2020-03-05T15:09:32.813Z] python-pyopenssl: security support
[2020-03-05T15:09:32.813Z] installing python-botocore...
[2020-03-05T15:09:33.063Z] installing python-s3transfer...
[2020-03-05T15:09:33.063Z] installing python-boto3...
[2020-03-05T15:09:33.314Z] installing python-attrs...
[2020-03-05T15:09:33.314Z] installing python-zipp...
[2020-03-05T15:09:33.314Z] installing python-importlib-metadata...
[2020-03-05T15:09:33.314Z] installing python-pyrsistent...
[2020-03-05T15:09:33.314Z] installing python-appdirs...
[2020-03-05T15:09:33.314Z] installing python-pyparsing...
[2020-03-05T15:09:33.314Z] installing python-packaging...
[2020-03-05T15:09:33.314Z] installing python-ordered-set...
[2020-03-05T15:09:33.314Z] installing python-setuptools...
[2020-03-05T15:09:33.314Z] installing python-jsonschema...
[2020-03-05T15:09:33.314Z] installing python-aws-sam-translator...
[2020-03-05T15:09:33.314Z] installing python-jsonpointer...
[2020-03-05T15:09:33.314Z] installing python-jsonpatch...
[2020-03-05T15:09:33.564Z] ==> Checking buildtime dependencies...
[2020-03-05T15:09:33.564Z] ==> Installing missing dependencies...
[2020-03-05T15:09:33.814Z] resolving dependencies...
[2020-03-05T15:09:33.814Z] looking for conflicting packages...
[2020-03-05T15:09:33.814Z]
[2020-03-05T15:09:33.814Z] Package (10) New Version Net Change
[2020-03-05T15:09:33.814Z]
[2020-03-05T15:09:33.814Z] galaxy/python-apipkg 1.5-3 0.02 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-atomicwrites 1.3.0-3 0.03 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-iniconfig 1.0.0-4 0.02 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-more-itertools 8.2.0-1 0.25 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-pbr 5.4.4-2 0.64 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-pluggy 0.13.1-1 0.12 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-py 1.8.1-1 0.70 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-wcwidth 0.1.8-1 0.08 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-mock 3.0.5-3 0.21 MiB
[2020-03-05T15:09:33.814Z] galaxy/python-pytest 5.3.5-1 2.59 MiB
[2020-03-05T15:09:33.814Z]
[2020-03-05T15:09:33.814Z] Total Installed Size: 4.67 MiB
[2020-03-05T15:09:33.814Z]
[2020-03-05T15:09:33.814Z] :: Proceed with installation? [Y/n]
[2020-03-05T15:09:33.814Z] checking keyring...
[2020-03-05T15:09:33.814Z] checking package integrity...
[2020-03-05T15:09:34.065Z] loading package files...
[2020-03-05T15:09:34.065Z] checking for file conflicts...
[2020-03-05T15:09:34.065Z] checking available disk space...
[2020-03-05T15:09:34.065Z] :: Processing package changes...
[2020-03-05T15:09:34.065Z] installing python-iniconfig...
[2020-03-05T15:09:34.065Z] installing python-apipkg...
[2020-03-05T15:09:34.065Z] installing python-py...
[2020-03-05T15:09:34.315Z] installing python-pluggy...
[2020-03-05T15:09:34.315Z] installing python-more-itertools...
[2020-03-05T15:09:34.315Z] installing python-atomicwrites...
[2020-03-05T15:09:34.315Z] installing python-wcwidth...
[2020-03-05T15:09:34.315Z] installing python-pytest...
[2020-03-05T15:09:34.315Z] installing python-pbr...
[2020-03-05T15:09:34.315Z] installing python-mock...
[2020-03-05T15:09:34.315Z] ==> Retrieving sources...
[2020-03-05T15:09:34.315Z] -> Found cfn-python-lint-0.28.3.tar.gz
[2020-03-05T15:09:34.315Z] ==> WARNING: Skipping all source file integrity checks.
[2020-03-05T15:09:34.315Z] ==> Extracting sources...
[2020-03-05T15:09:34.315Z] -> Extracting cfn-python-lint-0.28.3.tar.gz with bsdtar
[2020-03-05T15:09:34.565Z] ==> Starting build()...
[2020-03-05T15:09:34.816Z] running build
[2020-03-05T15:09:34.816Z] running build_py
[2020-03-05T15:09:34.816Z] creating build
[2020-03-05T15:09:34.816Z] creating build/lib
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/config.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/helpers.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/__main__.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/__init__.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/transform.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/conditions.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/maintenance.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/version.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] copying src/cfnlint/core.py -> build/lib/cfnlint
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/decode
[2020-03-05T15:09:34.816Z] copying src/cfnlint/decode/__init__.py -> build/lib/cfnlint/decode
[2020-03-05T15:09:34.816Z] copying src/cfnlint/decode/cfn_json.py -> build/lib/cfnlint/decode
[2020-03-05T15:09:34.816Z] copying src/cfnlint/decode/node.py -> build/lib/cfnlint/decode
[2020-03-05T15:09:34.816Z] copying src/cfnlint/decode/cfn_yaml.py -> build/lib/cfnlint/decode
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/__init__.py -> build/lib/cfnlint/data
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/formatters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/formatters/__init__.py -> build/lib/cfnlint/formatters
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/rules
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/__init__.py -> build/lib/cfnlint/rules
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/AdditionalSpecs/__init__.py -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/CloudSpecs/__init__.py -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/Serverless
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/Serverless/__init__.py -> build/lib/cfnlint/data/Serverless
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/eu-north-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/cn-northwest-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/cn-northwest-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/cn-northwest-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/me-south-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/me-south-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/me-south-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-east-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-east-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-east-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-west-2
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-west-2/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-west-2
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/cn-north-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/cn-north-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/cn-north-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-east-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-east-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-east-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-east-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/all/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/eu-west-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-3/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-3
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-3/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-3
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/all/03_value_types
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/all/03_value_types/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/all/03_value_types
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/data/ExtendedSpecs/all/04_property_values
[2020-03-05T15:09:34.816Z] copying src/cfnlint/data/ExtendedSpecs/all/04_property_values/__init__.py -> build/lib/cfnlint/data/ExtendedSpecs/all/04_property_values
[2020-03-05T15:09:34.816Z] creating build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/Configuration.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/Used.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/Name.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/LimitValue.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/LambdaMemorySize.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/CidrAllowedValues.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/AllowedValue.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/LimitNumber.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/LimitName.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.816Z] copying src/cfnlint/rules/parameters/__init__.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/Default.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/ApproachingLimitValue.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/Types.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/ApproachingLimitName.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/DefaultRef.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/ApproachingLimitNumber.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/parameters/Cidr.py -> build/lib/cfnlint/rules/parameters
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/Configuration.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/Used.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/Name.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/LimitNumber.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/LimitName.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/LimitAttributes.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/__init__.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/KeyName.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/ApproachingLimitName.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/ApproachingLimitNumber.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/mappings/ApproachingLimitAttributes.py -> build/lib/cfnlint/rules/mappings
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/SubParametersUsed.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Split.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/FindInMapKeys.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Ref.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/SubUnneeded.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/RefInCondition.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/GetAz.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Join.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/RefExist.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Base64.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/If.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/SubNeeded.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/FindInMap.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/__init__.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Sub.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/RelationshipConditions.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/SubNotJoin.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/ImportValue.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Not.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/GetAtt.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/DynamicReferenceSecureString.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Cidr.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/functions/Select.py -> build/lib/cfnlint/rules/functions
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/LimitDescription.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/ApproachingLimitDescription.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/ApproachingLimitSize.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/LimitSize.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/__init__.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/Description.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/templates/Base.py -> build/lib/cfnlint/rules/templates
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/Configuration.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/LimitDescription.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/Name.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/ApproachingLimitDescription.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/LimitNumber.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/LimitName.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/__init__.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/Required.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/Description.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/Value.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/ImportValue.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/ApproachingLimitName.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/outputs/ApproachingLimitNumber.py -> build/lib/cfnlint/rules/outputs
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/metadata
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/metadata/InterfaceConfiguration.py -> build/lib/cfnlint/rules/metadata
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/metadata/__init__.py -> build/lib/cfnlint/rules/metadata
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/metadata/InterfaceParameterExists.py -> build/lib/cfnlint/rules/metadata
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Configuration.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Used.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Equals.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Exists.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/__init__.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Or.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/Not.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/conditions/And.py -> build/lib/cfnlint/rules/conditions
[2020-03-05T15:09:34.817Z] creating build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/Configuration.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/DeletionPolicy.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/Name.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/CircularDependency.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/DependsOn.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/LimitNumber.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/LimitName.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/UpdateReplacePolicy.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/ServerlessTransform.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/__init__.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/BothUpdateReplacePolicyDeletionPolicyNeeded.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/DependsOnObsolete.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/UpdateReplacePolicyDeletionPolicyOnStatefulResourceTypes.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/ApproachingLimitName.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.817Z] copying src/cfnlint/rules/resources/ApproachingLimitNumber.py -> build/lib/cfnlint/rules/resources
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/route53
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/route53/RecordSet.py -> build/lib/cfnlint/rules/resources/route53
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/route53/__init__.py -> build/lib/cfnlint/rules/resources/route53
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/route53/HealthCheck.py -> build/lib/cfnlint/rules/resources/route53
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/DeprecatedRuntimeEnd.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/DeprecatedRuntime.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/__init__.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/EventsLogGroupName.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/FunctionMemorySize.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/lmbd/DeprecatedRuntimeEol.py -> build/lib/cfnlint/rules/resources/lmbd
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/Ebs.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/Vpc.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/SecurityGroupIngress.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/Subnet.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/__init__.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/ectwo/RouteTableAssociation.py -> build/lib/cfnlint/rules/resources/ectwo
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/iam/Policy.py -> build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/iam/RefWithPath.py -> build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/iam/Permissions.py -> build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/iam/__init__.py -> build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/iam/PolicyVersion.py -> build/lib/cfnlint/rules/resources/iam
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/codepipeline
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/codepipeline/CodepipelineStages.py -> build/lib/cfnlint/rules/resources/codepipeline
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/codepipeline/__init__.py -> build/lib/cfnlint/rules/resources/codepipeline
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/codepipeline/CodepipelineStageActions.py -> build/lib/cfnlint/rules/resources/codepipeline
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/cloudfront
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/cloudfront/Aliases.py -> build/lib/cfnlint/rules/resources/cloudfront
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/cloudfront/__init__.py -> build/lib/cfnlint/rules/resources/cloudfront
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ListDuplicatesAllowed.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/Inclusive.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/AllowedValue.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ListSize.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/Exclusive.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/StringSize.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/OnlyOne.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/__init__.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/AtLeastOne.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/Required.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/Password.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/AllowedPattern.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/AvailabilityZone.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/PropertiesTemplated.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/Properties.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ImageId.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ValueRefGetAtt.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/NumberSize.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/JsonSize.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ValuePrimitiveType.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/properties/ListDuplicates.py -> build/lib/cfnlint/rules/resources/properties
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/events
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/events/RuleScheduleExpression.py -> build/lib/cfnlint/rules/resources/events
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/events/RuleTargetsLimit.py -> build/lib/cfnlint/rules/resources/events
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/events/__init__.py -> build/lib/cfnlint/rules/resources/events
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/rds
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/rds/AuroraScalingConfiguration.py -> build/lib/cfnlint/rules/resources/rds
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/rds/__init__.py -> build/lib/cfnlint/rules/resources/rds
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/rds/InstanceSize.py -> build/lib/cfnlint/rules/resources/rds
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/elasticache
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/elasticache/__init__.py -> build/lib/cfnlint/rules/resources/elasticache
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/elasticache/CacheClusterFailover.py -> build/lib/cfnlint/rules/resources/elasticache
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/elb
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/elb/Elb.py -> build/lib/cfnlint/rules/resources/elb
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/elb/__init__.py -> build/lib/cfnlint/rules/resources/elb
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/dynamodb
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/dynamodb/BillingMode.py -> build/lib/cfnlint/rules/resources/dynamodb
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/dynamodb/__init__.py -> build/lib/cfnlint/rules/resources/dynamodb
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/dynamodb/AttributeMismatch.py -> build/lib/cfnlint/rules/resources/dynamodb
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/updatepolicy
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/updatepolicy/Configuration.py -> build/lib/cfnlint/rules/resources/updatepolicy
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/updatepolicy/__init__.py -> build/lib/cfnlint/rules/resources/updatepolicy
[2020-03-05T15:09:34.818Z] creating build/lib/cfnlint/rules/resources/stepfunctions
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/stepfunctions/StateMachine.py -> build/lib/cfnlint/rules/resources/stepfunctions
[2020-03-05T15:09:34.818Z] copying src/cfnlint/rules/resources/stepfunctions/__init__.py -> build/lib/cfnlint/rules/resources/stepfunctions
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/us-east-2.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/eu-west-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/eu-north-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/us-gov-east-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/cn-north-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/sa-east-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/eu-central-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/ap-east-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/us-gov-west-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/ap-northeast-2.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.818Z] copying src/cfnlint/data/CloudSpecs/ap-southeast-2.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/cn-northwest-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/ap-northeast-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/ap-northeast-3.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/me-south-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/eu-west-2.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/eu-west-3.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:34.819Z] copying src/cfnlint/data/CloudSpecs/us-east-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/CloudSpecs/ap-south-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/CloudSpecs/us-west-2.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/CloudSpecs/us-west-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/CloudSpecs/ap-southeast-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/CloudSpecs/ca-central-1.json -> build/lib/cfnlint/data/CloudSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/Inclusive.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/RdsProperties.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/Policies.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/LmbdRuntimeLifecycle.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/Exclusive.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/OnlyOne.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/AdditionalSpecs/AtLeastOne.json -> build/lib/cfnlint/data/AdditionalSpecs
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/Serverless/ManagedPolicies.json -> build/lib/cfnlint/data/Serverless
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/all/04_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/all/02_intrinsic_types.json -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/all/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/all/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/all/02_parameter_types.json -> build/lib/cfnlint/data/ExtendedSpecs/all
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-2/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-3/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-3
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-3/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-3
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-northeast-3/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-northeast-3
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-south-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-south-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-1
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:35.069Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ap-southeast-2/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ap-southeast-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/ca-central-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/ca-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-central-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-central-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-north-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-north-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-north-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-north-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/01_patch_spec.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-2/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-3/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-3/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-3/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/eu-west-3/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/eu-west-3
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/sa-east-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/sa-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-east-2/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/us-east-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-east-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-east-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-east-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-east-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-east-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-gov-west-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/us-gov-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-2/01_spec_patch.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-2/03_value_types.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/us-west-2/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/us-west-2
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-north-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-north-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-north-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-north-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-northwest-1/07_ssm_service_addition.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-northwest-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-northwest-1/05_pricing_property_values.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-northwest-1
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/ExtendedSpecs/cn-northwest-1/06_ssm_service_removal.json -> build/lib/cfnlint/data/ExtendedSpecs/cn-northwest-1
[2020-03-05T15:09:35.070Z] creating build/lib/cfnlint/data/CfnLintCli
[2020-03-05T15:09:35.070Z] creating build/lib/cfnlint/data/CfnLintCli/config
[2020-03-05T15:09:35.070Z] copying src/cfnlint/data/CfnLintCli/config/schema.json -> build/lib/cfnlint/data/CfnLintCli/config
[2020-03-05T15:09:35.070Z] ==> Starting check()...
[2020-03-05T15:09:35.321Z] running install_scripts
[2020-03-05T15:09:35.321Z] running egg_info
[2020-03-05T15:09:35.321Z] creating src/cfn_lint.egg-info
[2020-03-05T15:09:35.321Z] writing src/cfn_lint.egg-info/PKG-INFO
[2020-03-05T15:09:35.321Z] writing dependency_links to src/cfn_lint.egg-info/dependency_links.txt
[2020-03-05T15:09:35.321Z] writing entry points to src/cfn_lint.egg-info/entry_points.txt
[2020-03-05T15:09:35.321Z] writing requirements to src/cfn_lint.egg-info/requires.txt
[2020-03-05T15:09:35.321Z] writing top-level names to src/cfn_lint.egg-info/top_level.txt
[2020-03-05T15:09:35.321Z] writing manifest file 'src/cfn_lint.egg-info/SOURCES.txt'
[2020-03-05T15:09:35.321Z] reading manifest file 'src/cfn_lint.egg-info/SOURCES.txt'
[2020-03-05T15:09:35.321Z] reading manifest template 'MANIFEST.in'
[2020-03-05T15:09:35.321Z] writing manifest file 'src/cfn_lint.egg-info/SOURCES.txt'
[2020-03-05T15:09:35.321Z] Installing cfn-lint script to /build/python-cfn-lint/src/tmp_install
[2020-03-05T15:09:35.571Z] ============================= test session starts ==============================
[2020-03-05T15:09:35.571Z] platform linux -- Python 3.8.1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python
[2020-03-05T15:09:35.571Z] cachedir: .pytest_cache
[2020-03-05T15:09:35.571Z] rootdir: /build/python-cfn-lint/src/cfn-python-lint-0.28.3
[2020-03-05T15:09:37.432Z] collecting ... collected 466 items
[2020-03-05T15:09:37.432Z]
[2020-03-05T15:09:37.982Z] test/integration/test_directives.py::TestDirectives::test_templates FAILED [ 0%]
[2020-03-05T15:09:38.893Z] test/integration/test_good_templates.py::TestQuickStartTemplates::test_module_integration PASSED [ 0%]
[2020-03-05T15:09:38.893Z] test/integration/test_good_templates.py::TestQuickStartTemplates::test_templates FAILED [ 0%]
[2020-03-05T15:09:39.443Z] test/integration/test_mandatory_checks.py::TestDirectives::test_templates_explicit FAILED [ 0%]
[2020-03-05T15:09:39.694Z] test/integration/test_mandatory_checks.py::TestDirectives::test_templates_prefixed FAILED [ 1%]
[2020-03-05T15:09:39.694Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_intrinsic_value_types PASSED [ 1%]
[2020-03-05T15:09:39.694Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_parameter_types PASSED [ 1%]
[2020-03-05T15:09:39.694Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_property_type_values PASSED [ 1%]
[2020-03-05T15:09:39.694Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_property_value_types PASSED [ 1%]
[2020-03-05T15:09:39.944Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_resource_type_values PASSED [ 2%]
[2020-03-05T15:09:39.944Z] test/integration/test_patched_specs.py::TestPatchedSpecs::test_sub_properties PASSED [ 2%]
[2020-03-05T15:09:41.287Z] test/integration/test_quickstart_templates.py::TestQuickStartTemplates::test_templates PASSED [ 2%]
[2020-03-05T15:09:41.837Z] test/integration/test_quickstart_templates_non_strict.py::TestQuickStartTemplates::test_module_integration PASSED [ 2%]
[2020-03-05T15:09:42.087Z] test/integration/test_quickstart_templates_non_strict.py::TestQuickStartTemplates::test_templates FAILED [ 3%]
[2020-03-05T15:09:42.087Z] test/unit/module/test_duplicate.py::TestDuplicate::test_fail_json_run PASSED [ 3%]
[2020-03-05T15:09:42.087Z] test/unit/module/test_duplicate.py::TestDuplicate::test_fail_run PASSED [ 3%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_duplicate.py::TestDuplicate::test_fail_yaml_run PASSED [ 3%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_duplicate.py::TestDuplicate::test_success_run PASSED [ 3%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_null_values.py::TestNulls::test_fail_json_run PASSED [ 4%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_null_values.py::TestNulls::test_fail_run PASSED [ 4%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_null_values.py::TestNulls::test_fail_yaml_run PASSED [ 4%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_null_values.py::TestNulls::test_success_run PASSED [ 4%]
[2020-03-05T15:09:42.338Z] test/unit/module/test_rules_collections.py::TestTemplate::test_fail_run PASSED [ 4%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_fail_sub_properties_run PASSED [ 5%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_rule_ids_are_formatted_correctly PASSED [ 5%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_rule_ids_unique PASSED [ 5%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_default PASSED [ 5%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_exclude PASSED [ 6%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_exclude_long PASSED [ 6%]
[2020-03-05T15:09:42.588Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_exclude_longer PASSED [ 6%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_exclude_mandatory PASSED [ 6%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_exclude_mandatory_long PASSED [ 6%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_filtering_of_rules_include_info PASSED [ 7%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_rules_collections.py::TestTemplate::test_success_run PASSED [ 7%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_rules_collections.py::TestCreateFromModule::test_create_from_module PASSED [ 7%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_string_template.py::TestNonObjectTemplate::test_fail_yaml_run PASSED [ 7%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_conditions_return_list_success PASSED [ 7%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_conditions_return_object_success PASSED [ 8%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_conditions_return_string_success PASSED [ 8%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_failure_get_conditions_from_path PASSED [ 8%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_condition_scenarios_below_path PASSED [ 8%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_conditions_from_path PASSED [ 9%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_conditions_scenarios_from_object PASSED [ 9%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_directives PASSED [ 9%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_conditions PASSED [ 9%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_conditions_for_bad_formats PASSED [ 9%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_conditions_for_list PASSED [ 10%]
[2020-03-05T15:09:42.838Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_conditions_no_value PASSED [ 10%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_nested_conditions PASSED [ 10%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_nested_conditions_basic PASSED [ 10%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_nested_conditions_iam PASSED [ 10%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_object_without_nested_conditions_ref PASSED [ 11%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_parameter_names PASSED [ 11%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_parameters PASSED [ 11%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_resource_names PASSED [ 11%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_resources_bad PASSED [ 12%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_resources_success PASSED [ 12%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_get_valid_refs PASSED [ 12%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_is_resource_available PASSED [ 12%]
[2020-03-05T15:09:43.089Z] test/unit/module/test_template.py::TestTemplate::test_is_resource_not_available PASSED [ 12%]
[2020-03-05T15:09:43.089Z] test/unit/module/cfn_json/test_cfn_json.py::TestCfnJson::test_fail_run PASSED [ 13%]
[2020-03-05T15:09:43.089Z] test/unit/module/cfn_json/test_cfn_json.py::TestCfnJson::test_success_escape_character PASSED [ 13%]
[2020-03-05T15:09:43.999Z] test/unit/module/cfn_json/test_cfn_json.py::TestCfnJson::test_success_parse PASSED [ 13%]
[2020-03-05T15:09:44.550Z] test/unit/module/cfn_json/test_cfn_json.py::TestCfnJson::test_success_parse_stdin PASSED [ 13%]
[2020-03-05T15:09:44.550Z] test/unit/module/cfn_yaml/test_yaml.py::TestYamlParse::test_success_parse PASSED [ 13%]
[2020-03-05T15:09:44.800Z] test/unit/module/cfn_yaml/test_yaml.py::TestYamlParse::test_success_parse_stdin PASSED [ 14%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_and_condition PASSED [ 14%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_basic_condition PASSED [ 14%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_basic_condition_w_int PASSED [ 14%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_direct_condition PASSED [ 15%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_empty_string_in_equals PASSED [ 15%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_not_condition PASSED [ 15%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_or_condition PASSED [ 15%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestCondition::test_two_function_condition PASSED [ 15%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_bad_format_condition PASSED [ 16%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_bad_format_condition_2 PASSED [ 16%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_bad_format_condition_3 PASSED [ 16%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_bad_format_condition_bad_equals_dict PASSED [ 16%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_bad_format_condition_bad_equals_size PASSED [ 16%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_condition.py::TestBadConditions::test_nested_conditions PASSED [ 17%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_condition_relationship PASSED [ 17%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_development PASSED [ 17%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_not_production PASSED [ 17%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_primary PASSED [ 18%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_primary_and_prod PASSED [ 18%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_production PASSED [ 18%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_is_production_or_stage PASSED [ 18%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestConditions::test_success_size_of_conditions PASSED [ 18%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestBadConditions::test_bad_condition_formating PASSED [ 19%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestBadConditions::test_no_failure_on_list PASSED [ 19%]
[2020-03-05T15:09:44.800Z] test/unit/module/conditions/test_conditions.py::TestBadConditions::test_no_failure_on_missing PASSED [ 19%]
[2020-03-05T15:09:44.801Z] test/unit/module/conditions/test_equal_values.py::TestEquals::test_equal_value_string PASSED [ 19%]
[2020-03-05T15:09:44.801Z] test/unit/module/conditions/test_equals.py::TestEquals::test_equals PASSED [ 19%]
[2020-03-05T15:09:44.801Z] test/unit/module/conditions/test_get_hash.py::TestHash::test_get_hash PASSED [ 20%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_cli_args.py::TestArgsParser::test_create_parser PASSED [ 20%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_cli_args.py::TestArgsParser::test_create_parser_config_file PASSED [ 20%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_cli_args.py::TestArgsParser::test_create_parser_default_param PASSED [ 20%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_cli_args.py::TestArgsParser::test_create_parser_exend PASSED [ 21%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_cli_args.py::TestArgsParser::test_create_parser_rule_configuration PASSED [ 21%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_file_args.py::TestConfigFileArgs::test_config_parser_fail_on_bad_config PASSED [ 21%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_file_args.py::TestConfigFileArgs::test_config_parser_fail_on_config_rules PASSED [ 21%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_file_args.py::TestConfigFileArgs::test_config_parser_read PASSED [ 21%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_file_args.py::TestConfigFileArgs::test_config_parser_read_config PASSED [ 22%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_file_args.py::TestConfigFileArgs::test_config_parser_read_merge PASSED [ 22%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_all_regions PASSED [ 22%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_default_region PASSED [ 22%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_expand_ignore_templates PASSED [ 22%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_expand_paths PASSED [ 23%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_expand_paths_failure PASSED [ 23%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_mix_in PASSED [ 23%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_config_mixin.py::TestConfigMixIn::test_config_precedence PASSED [ 23%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_logging.py::TestLogging::test_logging_debug PASSED [ 24%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_logging.py::TestLogging::test_logging_info PASSED [ 24%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_logging.py::TestLogging::test_no_logging PASSED [ 24%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_template_args.py::TestTempalteArgs::test_template_args PASSED [ 24%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_template_args.py::TestTempalteArgs::test_template_args_failure_bad_format PASSED [ 24%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_template_args.py::TestTempalteArgs::test_template_args_failure_bad_value PASSED [ 25%]
[2020-03-05T15:09:44.801Z] test/unit/module/config/test_template_args.py::TestTempalteArgs::test_template_args_failure_good_and_bad_value PASSED [ 25%]
[2020-03-05T15:09:44.801Z] test/unit/module/core/test_get_rules.py::TestGetRules::test_append_directory PASSED [ 25%]
[2020-03-05T15:09:44.801Z] test/unit/module/core/test_get_rules.py::TestGetRules::test_append_module PASSED [ 25%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_get_rules.py::TestGetRules::test_invalid_rule PASSED [ 25%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_checks.py::TestRunChecks::test_bad_region PASSED [ 26%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_checks.py::TestRunChecks::test_bad_template PASSED [ 26%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_checks.py::TestRunChecks::test_good_template PASSED [ 26%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_bad_config PASSED [ 26%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters PASSED [ 27%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters PASSED [ 27%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_config PASSED [ 27%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_invalid_json PASSED [ 27%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_invalid_json_ignore PASSED [ 27%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_invalid_yaml PASSED [ 28%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_invalid_yaml_ignore PASSED [ 28%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_not_found PASSED [ 28%]
[2020-03-05T15:09:45.051Z] test/unit/module/core/test_run_cli.py::TestCli::test_template_via_stdin PASSED [ 28%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_failure_dict_select PASSED [ 28%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_dict_select PASSED [ 29%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_get PASSED [ 29%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_get_nested PASSED [ 29%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_list PASSED [ 29%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_list_conditions PASSED [ 30%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_list_conditions_no_value PASSED [ 30%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_list_strings PASSED [ 30%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_nested PASSED [ 30%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_object PASSED [ 30%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_ref_novalue PASSED [ 31%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_fnif_string PASSED [ 31%]
[2020-03-05T15:09:45.051Z] test/unit/module/decode/test_node.py::TestNode::test_success_init PASSED [ 31%]
[2020-03-05T15:09:45.302Z] test/unit/module/formatters/test_formatters.py::TestFormatters::test_json_formatter PASSED [ 31%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_convert_dict.py::TestConvertDict::test_success_run PASSED [ 31%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_create_rules.py::TestCreateRules::testBase PASSED [ 32%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_format_json.py::TestFormatJson::test_success_run PASSED [ 32%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_get_url_content.py::TestGetUrlContent::test_get_url_content_unzipped PASSED [ 32%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_get_url_content.py::TestGetUrlContent::test_get_url_content_zipped PASSED [ 32%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_load_plugins.py::TestLoadPlugins::testFromDefaultDirectory PASSED [ 33%]
[2020-03-05T15:09:45.302Z] test/unit/module/helpers/test_load_plugins.py::TestLoadPlugins::testFromSubDirectory PASSED [ 33%]
[2020-03-05T15:09:45.302Z] test/unit/module/maintenance/test_patch_spec.py::TestPatchJson::test_failure_in_patch_move PASSED [ 33%]
[2020-03-05T15:09:45.302Z] test/unit/module/maintenance/test_patch_spec.py::TestPatchJson::test_failure_in_patch_parent PASSED [ 33%]
[2020-03-05T15:09:45.552Z] test/unit/module/maintenance/test_patch_spec.py::TestPatchJson::test_success_rds_dbcluster PASSED [ 33%]
[2020-03-05T15:09:45.552Z] test/unit/module/maintenance/test_patch_spec.py::TestPatchJson::test_success_sbd_domain_removed PASSED [ 34%]
[2020-03-05T15:09:45.552Z] test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_iam_policies PASSED [ 34%]
[2020-03-05T15:09:45.552Z] test/unit/module/maintenance/test_update_iam_policies.py::TestUpdateIamPolicies::test_update_iam_policies PASSED [ 34%]
[2020-03-05T15:09:45.552Z] test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs PASSED [ 34%]
[2020-03-05T15:09:46.102Z] test/unit/module/override/test_complete.py::TestComplete::test_fail_run PASSED [ 34%]
[2020-03-05T15:09:46.653Z] test/unit/module/override/test_complete.py::TestComplete::test_success_run PASSED [ 35%]
[2020-03-05T15:09:47.203Z] test/unit/module/override/test_exclude.py::TestExclude::test_fail_run PASSED [ 35%]
[2020-03-05T15:09:47.754Z] test/unit/module/override/test_exclude.py::TestExclude::test_success_run PASSED [ 35%]
[2020-03-05T15:09:48.304Z] test/unit/module/override/test_include.py::TestInclude::test_fail_run PASSED [ 35%]
[2020-03-05T15:09:48.855Z] test/unit/module/override/test_required.py::TestOverrideRequired::test_fail_run PASSED [ 36%]
[2020-03-05T15:09:49.405Z] test/unit/module/override/test_required.py::TestOverrideRequired::test_success_run PASSED [ 36%]
[2020-03-05T15:09:49.405Z] test/unit/module/rule/test_rule.py::TestCloudFormationRule::test_base PASSED [ 36%]
[2020-03-05T15:09:49.405Z] test/unit/module/rule/test_rule.py::TestCloudFormationRule::test_config PASSED [ 36%]
[2020-03-05T15:09:49.405Z] test/unit/module/transform/test_transform.py::TestTransform::test_parameter_for_autopublish_version PASSED [ 36%]
[2020-03-05T15:09:49.405Z] test/unit/module/transform/test_transform.py::TestTransform::test_parameter_for_autopublish_version_bad PASSED [ 37%]
[2020-03-05T15:09:49.405Z] test/unit/rules/conditions/test_and.py::TestAnd::test_file_negative PASSED [ 37%]
[2020-03-05T15:09:49.405Z] test/unit/rules/conditions/test_and.py::TestAnd::test_file_positive PASSED [ 37%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_configuration.py::TestMappingConfiguration::test_file_negative PASSED [ 37%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_configuration.py::TestMappingConfiguration::test_file_positive PASSED [ 37%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_equals.py::TestEquals::test_file_negative PASSED [ 38%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_equals.py::TestEquals::test_file_positive PASSED [ 38%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_exists.py::TestExistsConditions::test_file_negative PASSED [ 38%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_exists.py::TestExistsConditions::test_file_positive PASSED [ 38%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_not.py::TestNot::test_file_negative PASSED [ 39%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_not.py::TestNot::test_file_positive PASSED [ 39%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_or.py::TestOr::test_file_negative PASSED [ 39%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_or.py::TestOr::test_file_positive PASSED [ 39%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_used.py::TestUsedConditions::test_file_negative PASSED [ 39%]
[2020-03-05T15:09:49.655Z] test/unit/rules/conditions/test_used.py::TestUsedConditions::test_file_positive PASSED [ 40%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_base64.py::TestRulesBase64::test_file_negative PASSED [ 40%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_base64.py::TestRulesBase64::test_file_positive PASSED [ 40%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_cidr.py::TestRulesCidr::test_file_negative PASSED [ 40%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_cidr.py::TestRulesCidr::test_file_positive PASSED [ 40%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_cidr.py::TestRulesCidr::test_file_positive_extra PASSED [ 41%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_dynamic_reference.py::TestDynamicReferenceSecureString::test_file_negative PASSED [ 41%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_dynamic_reference.py::TestDynamicReferenceSecureString::test_file_positive PASSED [ 41%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_find_in_map.py::TestRulesFindInMap::test_file_negative PASSED [ 41%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_find_in_map.py::TestRulesFindInMap::test_file_positive PASSED [ 42%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_find_in_map_keys.py::TestRulesFindInMapKeys::test_file_negative PASSED [ 42%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_find_in_map_keys.py::TestRulesFindInMapKeys::test_file_positive PASSED [ 42%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_get_att.py::TestRulesGetAtt::test_file_negative PASSED [ 42%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_get_att.py::TestRulesGetAtt::test_file_negative_getatt PASSED [ 42%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_get_att.py::TestRulesGetAtt::test_file_positive PASSED [ 43%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_getazs.py::TestRulesGetAZs::test_file_negative PASSED [ 43%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_getazs.py::TestRulesGetAZs::test_file_positive PASSED [ 43%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_if.py::TestIf::test_file_negative PASSED [ 43%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_if.py::TestIf::test_file_positive PASSED [ 43%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_import_value.py::TestImportValue::test_file_negative PASSED [ 44%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_import_value.py::TestImportValue::test_file_positive PASSED [ 44%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_join.py::TestRulesJoin::test_file_negative PASSED [ 44%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_join.py::TestRulesJoin::test_file_positive PASSED [ 44%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_join.py::TestRulesJoin::test_functions PASSED [ 45%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_not.py::TestFunctionNot::test_file_negative PASSED [ 45%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_not.py::TestFunctionNot::test_file_positive PASSED [ 45%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref.py::TestRulesRef::test_file_negative PASSED [ 45%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref.py::TestRulesRef::test_file_positive PASSED [ 45%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref_exist.py::TestRulesRefExist::test_file_negative PASSED [ 46%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref_exist.py::TestRulesRefExist::test_file_positive PASSED [ 46%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref_in_condition.py::TestRulesRefInCondition::test_file_negative PASSED [ 46%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_ref_in_condition.py::TestRulesRefInCondition::test_file_positive PASSED [ 46%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_relationship_conditions.py::TestRulesRelationshipConditions::test_file_negative PASSED [ 46%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_relationship_conditions.py::TestRulesRelationshipConditions::test_file_positive PASSED [ 47%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_select.py::TestRulesSelect::test_file_negative PASSED [ 47%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_select.py::TestRulesSelect::test_file_positive PASSED [ 47%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_split.py::TestRulesSplit::test_file_negative PASSED [ 47%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_split.py::TestRulesSplit::test_file_positive PASSED [ 48%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub.py::TestRulesSub::test_file_negative PASSED [ 48%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub.py::TestRulesSub::test_file_positive PASSED [ 48%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_needed.py::TestSubNeeded::test_file_negative PASSED [ 48%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_needed.py::TestSubNeeded::test_file_positive PASSED [ 48%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_needed.py::TestSubNeeded::test_template_config PASSED [ 49%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_not_join.py::TestSubNotJoin::test_file_negative PASSED [ 49%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_not_join.py::TestSubNotJoin::test_file_positive PASSED [ 49%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_parameters_used.py::TestSubParametersUsed::test_file_negative PASSED [ 49%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_parameters_used.py::TestSubParametersUsed::test_file_positive PASSED [ 50%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_unneeded.py::TestSubUnneeded::test_file_negative PASSED [ 50%]
[2020-03-05T15:09:49.656Z] test/unit/rules/functions/test_sub_unneeded.py::TestSubUnneeded::test_file_positive PASSED [ 50%]
[2020-03-05T15:09:49.656Z] test/unit/rules/mappings/test_configuration.py::TestMappingConfiguration::test_file_negative PASSED [ 50%]
[2020-03-05T15:09:49.656Z] test/unit/rules/mappings/test_configuration.py::TestMappingConfiguration::test_file_positive PASSED [ 50%]
[2020-03-05T15:09:49.656Z] test/unit/rules/mappings/test_key_name.py::TestKeyName::test_file_negative PASSED [ 51%]
[2020-03-05T15:09:49.656Z] test/unit/rules/mappings/test_key_name.py::TestKeyName::test_file_positive PASSED [ 51%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitattributes.py::TestParameterLimitAttributes::test_file_negative PASSED [ 51%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitattributes.py::TestParameterLimitAttributes::test_file_positive PASSED [ 51%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitname.py::TestParameterLimitNumber::test_file_negative PASSED [ 51%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitname.py::TestParameterLimitNumber::test_file_positive PASSED [ 52%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitnumber.py::TestMappingLimitNumber::test_file_negative PASSED [ 52%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_limitnumber.py::TestMappingLimitNumber::test_file_positive PASSED [ 52%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_name.py::TestName::test_file_negative PASSED [ 52%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_name.py::TestName::test_file_positive PASSED [ 53%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_used.py::TestUsedMappings::test_file_negative PASSED [ 53%]
[2020-03-05T15:09:49.906Z] test/unit/rules/mappings/test_used.py::TestUsedMappings::test_file_positive PASSED [ 53%]
[2020-03-05T15:09:49.906Z] test/unit/rules/metadata/test_interface_configuration.py::TestOutputRequired::test_file_negative PASSED [ 53%]
[2020-03-05T15:09:49.906Z] test/unit/rules/metadata/test_interface_configuration.py::TestOutputRequired::test_file_positive PASSED [ 53%]
[2020-03-05T15:09:49.906Z] test/unit/rules/metadata/test_interface_parameter_exists.py::TestOutputRequired::test_file_negative PASSED [ 54%]
[2020-03-05T15:09:49.907Z] test/unit/rules/metadata/test_interface_parameter_exists.py::TestOutputRequired::test_file_positive PASSED [ 54%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_configuration.py::TestOutputRequired::test_file_negative PASSED [ 54%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_configuration.py::TestOutputRequired::test_file_positive PASSED [ 54%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_description.py::TestDescription::test_file_negative PASSED [ 54%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_description.py::TestDescription::test_file_positive PASSED [ 55%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_importvalue.py::TestOutputImportValue::test_file_negative PASSED [ 55%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_importvalue.py::TestOutputImportValue::test_file_positive PASSED [ 55%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_limit_description.py::TestLimitDescription::test_file_negative PASSED [ 55%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_limit_description.py::TestLimitDescription::test_file_positive PASSED [ 56%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_limitname.py::TestOutputLimitName::test_file_negative PASSED [ 56%]
[2020-03-05T15:09:49.907Z] test/unit/rules/outputs/test_limitname.py::TestOutputLimitName::test_file_positive PASSED [ 56%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_limitnumber.py::TestOutputLimitNumber::test_file_negative PASSED [ 56%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_limitnumber.py::TestOutputLimitNumber::test_file_positive PASSED [ 56%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_name.py::TestName::test_file_negative PASSED [ 57%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_name.py::TestName::test_file_positive PASSED [ 57%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_required.py::TestOutputRequired::test_file_negative PASSED [ 57%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_required.py::TestOutputRequired::test_file_positive PASSED [ 57%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_value.py::TestOutputValue::test_file_negative PASSED [ 57%]
[2020-03-05T15:09:50.157Z] test/unit/rules/outputs/test_value.py::TestOutputValue::test_file_positive PASSED [ 58%]
[2020-03-05T15:09:50.157Z] test/unit/rules/parameters/test_allowed_value.py::TestAllowedValue::test_file_negative PASSED [ 58%]
[2020-03-05T15:09:50.157Z] test/unit/rules/parameters/test_allowed_value.py::TestAllowedValue::test_file_positive PASSED [ 58%]
[2020-03-05T15:09:50.157Z] test/unit/rules/parameters/test_cidr.py::TestParameterCidr::test_file_negative PASSED [ 58%]
[2020-03-05T15:09:50.157Z] test/unit/rules/parameters/test_cidr.py::TestParameterCidr::test_file_negative_nist_app PASSED [ 59%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_cidr.py::TestParameterCidr::test_file_negative_nist_mgmt PASSED [ 59%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_cidr.py::TestParameterCidr::test_file_negative_nist_prod PASSED [ 59%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_cidr.py::TestParameterCidr::test_file_positive PASSED [ 59%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_cidr_allowed_values.py::TestParameterCidrAllowedValues::test_file_negative PASSED [ 59%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_cidr_allowed_values.py::TestParameterCidrAllowedValues::test_file_positive PASSED [ 60%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_configuration.py::TestParameterConfiguration::test_file_negative PASSED [ 60%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_configuration.py::TestParameterConfiguration::test_file_positive PASSED [ 60%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_default.py::TestDefault::test_file_negative PASSED [ 60%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_default.py::TestDefault::test_file_positive PASSED [ 60%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_default.py::TestDefault::test_parameters_success PASSED [ 61%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_defaultref.py::TestDefaultRef::test_file_negative PASSED [ 61%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_defaultref.py::TestDefaultRef::test_file_positive PASSED [ 61%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_defaultref.py::TestDefaultRef::test_parameters_success PASSED [ 61%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_lambda_memory_size.py::TestParameterLambdaMemorySize::test_file_negative PASSED [ 62%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_lambda_memory_size.py::TestParameterLambdaMemorySize::test_file_positive PASSED [ 62%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_limitname.py::TestParameterLimitNumber::test_file_negative PASSED [ 62%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_limitname.py::TestParameterLimitNumber::test_file_positive PASSED [ 62%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_limitnumber.py::TestParameterLimitNumber::test_file_negative PASSED [ 62%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_limitnumber.py::TestParameterLimitNumber::test_file_positive PASSED [ 63%]
[2020-03-05T15:09:50.407Z] test/unit/rules/parameters/test_limitvalue.py::TestParameterLimitValue::test_file_negative PASSED [ 63%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_limitvalue.py::TestParameterLimitValue::test_file_positive PASSED [ 63%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_name.py::TestName::test_file_negative PASSED [ 63%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_name.py::TestName::test_file_positive PASSED [ 63%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_types.py::TestParameterTypes::test_file_negative PASSED [ 64%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_types.py::TestParameterTypes::test_file_positive PASSED [ 64%]
[2020-03-05T15:09:50.408Z] test/unit/rules/parameters/test_used.py::TestParameterUsed::test_file_negative PASSED [ 64%]
[2020-03-05T15:09:50.658Z] test/unit/rules/parameters/test_used.py::TestParameterUsed::test_file_negative_removed PASSED [ 64%]
[2020-03-05T15:09:50.658Z] test/unit/rules/parameters/test_used.py::TestParameterUsed::test_file_positive PASSED [ 65%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_circulary_dependency.py::TestRulesRefCircular::test_file_negative PASSED [ 65%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_circulary_dependency.py::TestRulesRefCircular::test_file_positive PASSED [ 65%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_configurations.py::TestResourceConfiguration::test_file_negative PASSED [ 65%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_configurations.py::TestResourceConfiguration::test_file_positive PASSED [ 65%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_deletionpolicy.py::TestResourceDeletionPolicy::test_file_negative PASSED [ 66%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_deletionpolicy.py::TestResourceDeletionPolicy::test_file_positive PASSED [ 66%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_dependson.py::TestResourceDependsOn::test_file_negative PASSED [ 66%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_dependson.py::TestResourceDependsOn::test_file_positive PASSED [ 66%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_limitname.py::TestParameterLimitNumber::test_file_negative PASSED [ 66%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_limitname.py::TestParameterLimitNumber::test_file_positive PASSED [ 67%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_limitnumber.py::TestResourceLimitNumber::test_file_negative PASSED [ 67%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_limitnumber.py::TestResourceLimitNumber::test_file_positive PASSED [ 67%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_name.py::TestName::test_file_negative PASSED [ 67%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_name.py::TestName::test_file_positive PASSED [ 68%]
[2020-03-05T15:09:50.658Z] test/unit/rules/resources/test_serverless_transform.py::TestServerlessTransform::test_file_negative PASSED [ 68%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/test_serverless_transform.py::TestServerlessTransform::test_file_positive PASSED [ 68%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/test_updatereplacepolicy.py::TestResourceUpdateReplacePolicy::test_file_negative PASSED [ 68%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/test_updatereplacepolicy.py::TestResourceUpdateReplacePolicy::test_file_positive PASSED [ 68%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/cloudfront/test_aliases.py::TestCloudFrontAliases::test_file_negative_alias PASSED [ 69%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/cloudfront/test_aliases.py::TestCloudFrontAliases::test_file_positive PASSED [ 69%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stageactions.py::TestCodePipelineStageActions::test_file_artifact_counts PASSED [ 69%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stageactions.py::TestCodePipelineStageActions::test_file_invalid_version PASSED [ 69%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stageactions.py::TestCodePipelineStageActions::test_file_non_unique PASSED [ 69%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stageactions.py::TestCodePipelineStageActions::test_file_positive PASSED [ 70%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_negative_no_source PASSED [ 70%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_negative_non_unique PASSED [ 70%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_negative_onestage PASSED [ 70%]
[2020-03-05T15:09:50.908Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_negative_only_source_types PASSED [ 71%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_negative_second_stage PASSED [ 71%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_file_positive PASSED [ 71%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/codepipeline/test_stages.py::TestCodePipelineStages::test_scenario_format PASSED [ 71%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_attribute_mismatch.py::TestAttributeMismatch::test_file_negative_undefined PASSED [ 71%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_attribute_mismatch.py::TestAttributeMismatch::test_file_negative_unused_1 PASSED [ 72%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_attribute_mismatch.py::TestAttributeMismatch::test_file_negative_unused_2 PASSED [ 72%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_attribute_mismatch.py::TestAttributeMismatch::test_file_positive PASSED [ 72%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_billing_mode.py::TestBillingMode::test_file_negative_alias PASSED [ 72%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_billing_mode.py::TestBillingMode::test_file_positive PASSED [ 72%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_delete_policy.py::TestUpdateReplacePolicyDeletionPolicyOnStatefulResourceTypes::test_file_negative_alias PASSED [ 73%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/dynamodb/test_delete_policy.py::TestUpdateReplacePolicyDeletionPolicyOnStatefulResourceTypes::test_file_positive PASSED [ 73%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_ebs.py::TestPropertyEc2Ebs::test_file_negative PASSED [ 73%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_ebs.py::TestPropertyEc2Ebs::test_file_positive PASSED [ 73%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_subnet.py::TestPropertyEc2Subnet::test_file_negative PASSED [ 74%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_subnet.py::TestPropertyEc2Subnet::test_file_positive PASSED [ 74%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_vpc.py::TestPropertyEc2Vpc::test_file_negative PASSED [ 74%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_ec2_vpc.py::TestPropertyEc2Vpc::test_file_positive PASSED [ 74%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_rt_association.py::TestPropertyRtAssociation::test_file_negative PASSED [ 74%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_rt_association.py::TestPropertyRtAssociation::test_file_positive PASSED [ 75%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_sg_ingress.py::TestPropertySgIngress::test_file_negative PASSED [ 75%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/ec2/test_sg_ingress.py::TestPropertySgIngress::test_file_positive PASSED [ 75%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elasticache/test_cache_cluster_failover.py::TestElasticCacheClusterFailover::test_file_artifact_failure PASSED [ 75%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elasticache/test_cache_cluster_failover.py::TestElasticCacheClusterFailover::test_file_positive PASSED [ 75%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elb/test_elb.py::TestPropertyElb::test_alb_subnets PASSED [ 76%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elb/test_elb.py::TestPropertyElb::test_file_negative PASSED [ 76%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elb/test_elb.py::TestPropertyElb::test_file_positive PASSED [ 76%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/elb/test_elb.py::TestPropertyElb::test_loadbalancer_attributes PASSED [ 76%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/events/test_rule_schedule_expression.py::TestRuleScheduleExpression::test_file_negative_alias PASSED [ 77%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/events/test_rule_schedule_expression.py::TestRuleScheduleExpression::test_file_positive PASSED [ 77%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/events/test_rule_targets_limit.py::TestRuleTargetsLimit::test_file_negative_alias PASSED [ 77%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/events/test_rule_targets_limit.py::TestRuleTargetsLimit::test_file_positive PASSED [ 77%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_permissions.py::TestPermissions::test_file_negative PASSED [ 77%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_policy.py::TestPropertyIamPolicies::test_file_negative PASSED [ 78%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_policy.py::TestPropertyIamPolicies::test_file_positive PASSED [ 78%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_policy.py::TestPropertyIamPolicies::test_file_resource_negative PASSED [ 78%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_policy_version.py::TestPolicyVersion::test_file_negative PASSED [ 78%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_iam_policy_version.py::TestPolicyVersion::test_file_positive PASSED [ 78%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_ref_with_path.py::TestRefWithPath::test_file_negative PASSED [ 79%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/iam/test_ref_with_path.py::TestRefWithPath::test_file_positive PASSED [ 79%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/lmbd/test_deprecated_runtime_end.py::TestDeprecatedRuntimeEnd::test_file_negative PASSED [ 79%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/lmbd/test_deprecated_runtime_end.py::TestDeprecatedRuntimeEnd::test_file_positive PASSED [ 79%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/lmbd/test_deprecated_runtime_eol.py::TestDeprecatedRuntimeEol::test_file_negative PASSED [ 80%]
[2020-03-05T15:09:51.159Z] test/unit/rules/resources/lmbd/test_deprecated_runtime_eol.py::TestDeprecatedRuntimeEol::test_file_positive PASSED [ 80%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/lmbd/test_events_log_group_name.py::TestEventsLogGroupName::test_file_negative PASSED [ 80%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/lmbd/test_events_log_group_name.py::TestEventsLogGroupName::test_file_positive PASSED [ 80%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/lmbd/test_memory_size.py::TestFunctionMemorySize::test_file_negative PASSED [ 80%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/lmbd/test_memory_size.py::TestFunctionMemorySize::test_file_positive PASSED [ 81%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/properties/test_allowed_pattern.py::TestAllowedPattern::test_file_negative_sg_ingress PASSED [ 81%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/properties/test_allowed_pattern.py::TestAllowedPattern::test_file_positive PASSED [ 81%]
[2020-03-05T15:09:51.410Z] test/unit/rules/resources/properties/test_allowed_pattern.py::TestAllowedPattern::test_valid_regex PASSED [ 81%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_allowed_value.py::TestAllowedValue::test_file_negative PASSED [ 81%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_allowed_value.py::TestAllowedValue::test_file_positive PASSED [ 82%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_atleastone.py::TestPropertyAtLeastOne::test_file_negative PASSED [ 82%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_atleastone.py::TestPropertyAtLeastOne::test_file_positive PASSED [ 82%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_availability_zone.py::TestPropertyAvailabilityZone::test_file_negative PASSED [ 82%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_availability_zone.py::TestPropertyAvailabilityZone::test_file_positive PASSED [ 83%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_exclusive.py::TestPropertyExclusive::test_file_negative PASSED [ 83%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_exclusive.py::TestPropertyExclusive::test_file_positive PASSED [ 83%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_image_id.py::TestPropertyVpcId::test_file_negative PASSED [ 83%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_image_id.py::TestPropertyVpcId::test_file_negative_nist_app PASSED [ 83%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_image_id.py::TestPropertyVpcId::test_file_negative_nist_mgmt PASSED [ 84%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_image_id.py::TestPropertyVpcId::test_file_positive PASSED [ 84%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_inclusive.py::TestPropertyInclusive::test_file_negative PASSED [ 84%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_inclusive.py::TestPropertyInclusive::test_file_positive PASSED [ 84%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_json_size.py::TestJsonSize::test_file_positive PASSED [ 84%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_json_size.py::TestJsonSize::test_role_assume_role_policy_document PASSED [ 85%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_duplicates.py::TestListDuplicates::test_file_negative PASSED [ 85%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_duplicates.py::TestListDuplicates::test_file_positive PASSED [ 85%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_duplicates_allowed.py::TestListDuplicatesAllowed::test_file_negative PASSED [ 85%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_duplicates_allowed.py::TestListDuplicatesAllowed::test_file_positive PASSED [ 86%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_size.py::TestListSize::test_file_negative_iam_managed_policies PASSED [ 86%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_size.py::TestListSize::test_file_negative_iam_user_groups PASSED [ 86%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_list_size.py::TestListSize::test_file_positive PASSED [ 86%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_number_size.py::TestNumberSize::test_file_negative_string_size PASSED [ 86%]
[2020-03-05T15:09:51.660Z] test/unit/rules/resources/properties/test_number_size.py::TestNumberSize::test_file_positive PASSED [ 87%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_onlyone.py::TestPropertyOnlyOne::test_file_negative PASSED [ 87%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_onlyone.py::TestPropertyOnlyOne::test_file_positive PASSED [ 87%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_password.py::TestPropertyPassword::test_file_negative PASSED [ 87%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_password.py::TestPropertyPassword::test_file_positive PASSED [ 87%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_E3012_in_bad_template PASSED [ 88%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_E3012_match_has_extra_attributes PASSED [ 88%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_file_negative PASSED [ 88%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_file_negative_2 PASSED [ 88%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_file_negative_3 PASSED [ 89%]
[2020-03-05T15:09:51.911Z] test/unit/rules/resources/properties/test_properties.py::TestResourceProperties::test_file_positive PASSED [ 89%]
[2020-03-05T15:09:52.461Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_E3012_in_bad_template PASSED [ 89%]
[2020-03-05T15:09:53.011Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_E3012_match_has_extra_attributes PASSED [ 89%]
[2020-03-05T15:09:53.562Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_file_negative PASSED [ 89%]
[2020-03-05T15:09:54.112Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_file_negative_2 PASSED [ 90%]
[2020-03-05T15:09:54.663Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_file_negative_3 PASSED [ 90%]
[2020-03-05T15:09:55.213Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_file_negative_custom PASSED [ 90%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_properties.py::TestSpecifiedCustomResourceProperties::test_file_positive PASSED [ 90%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_properties_templated.py::TestPropertiesTemplated::test_file_negative_4 PASSED [ 90%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_properties_templated.py::TestPropertiesTemplated::test_file_positive PASSED [ 91%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_required.py::TestResourceConfiguration::test_file_negative PASSED [ 91%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_required.py::TestResourceConfiguration::test_file_negative_generic PASSED [ 91%]
[2020-03-05T15:09:55.764Z] test/unit/rules/resources/properties/test_required.py::TestResourceConfiguration::test_file_positive PASSED [ 91%]
[2020-03-05T15:09:56.674Z] test/unit/rules/resources/properties/test_required.py::TestSpecifiedCustomResourceRequiredProperties::test_file_negative PASSED [ 92%]
[2020-03-05T15:09:56.925Z] test/unit/rules/resources/properties/test_required.py::TestSpecifiedCustomResourceRequiredProperties::test_file_negative_generic PASSED [ 92%]
[2020-03-05T15:09:57.475Z] test/unit/rules/resources/properties/test_required.py::TestSpecifiedCustomResourceRequiredProperties::test_file_positive PASSED [ 92%]
[2020-03-05T15:09:57.475Z] test/unit/rules/resources/properties/test_string_size.py::TestStringSize::test_file_negative_string_size PASSED [ 92%]
[2020-03-05T15:09:57.475Z] test/unit/rules/resources/properties/test_string_size.py::TestStringSize::test_file_positive PASSED [ 92%]
[2020-03-05T15:09:57.475Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_file_negative_generic PASSED [ 93%]
[2020-03-05T15:09:57.475Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_file_negative_nist_config_rules PASSED [ 93%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_file_negative_nist_high_app PASSED [ 93%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_file_negative_nist_high_master PASSED [ 93%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_file_positive PASSED [ 93%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveType::test_template_config PASSED [ 94%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_primitive_type.py::TestResourceValuePrimitiveTypeNonStrict::test_file_positive PASSED [ 94%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_ref_getatt.py::TestValueRefGetAtt::test_file_negative PASSED [ 94%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_ref_getatt.py::TestValueRefGetAtt::test_file_negative_az PASSED [ 94%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_ref_getatt.py::TestValueRefGetAtt::test_file_negative_value PASSED [ 95%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_ref_getatt.py::TestValueRefGetAtt::test_file_negative_vpc_id_value PASSED [ 95%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/properties/test_value_ref_getatt.py::TestValueRefGetAtt::test_file_positive PASSED [ 95%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/rds/test_aurora_scaling_configuration.py::TestAuroraScalingConfiguration::test_file_negative_alias PASSED [ 95%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/rds/test_aurora_scaling_configuration.py::TestAuroraScalingConfiguration::test_file_positive PASSED [ 95%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/rds/test_instance_sizes.py::TestInstanceSize::test_file_negative_alias PASSED [ 96%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/rds/test_instance_sizes.py::TestInstanceSize::test_file_positive PASSED [ 96%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/route53/test_health_check.py::TestRoute53RecordSets::test_file_negative PASSED [ 96%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/route53/test_health_check.py::TestRoute53RecordSets::test_file_positive PASSED [ 96%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/route53/test_recordsets.py::TestRoute53RecordSets::test_file_negative PASSED [ 96%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/route53/test_recordsets.py::TestRoute53RecordSets::test_file_positive PASSED [ 97%]
[2020-03-05T15:09:57.725Z] test/unit/rules/resources/stepfunctions/test_state_machine.py::TestStateMachine::test_file_negative_alias PASSED [ 97%]
[2020-03-05T15:09:57.726Z] test/unit/rules/resources/stepfunctions/test_state_machine.py::TestStateMachine::test_file_positive PASSED [ 97%]
[2020-03-05T15:09:57.726Z] test/unit/rules/resources/updatepolicy/test_configuration.py::TestConfiguration::test_file_negative_alias PASSED [ 97%]
[2020-03-05T15:09:57.726Z] test/unit/rules/resources/updatepolicy/test_configuration.py::TestConfiguration::test_file_positive PASSED [ 98%]
[2020-03-05T15:09:57.726Z] test/unit/rules/templates/test_base_template.py::TestBaseTemplate::test_file_negative PASSED [ 98%]
[2020-03-05T15:09:57.726Z] test/unit/rules/templates/test_base_template.py::TestBaseTemplate::test_file_positive PASSED [ 98%]
[2020-03-05T15:09:57.726Z] test/unit/rules/templates/test_description.py::TestDescription::test_file_negative PASSED [ 98%]
[2020-03-05T15:09:57.726Z] test/unit/rules/templates/test_description.py::TestDescription::test_file_positive PASSED [ 98%]
[2020-03-05T15:09:58.276Z] test/unit/rules/templates/test_limitsize_description.py::TestTemplateLimitDescription::test_file_negative PASSED [ 99%]
[2020-03-05T15:09:58.276Z] test/unit/rules/templates/test_limitsize_description.py::TestTemplateLimitDescription::test_file_positive PASSED [ 99%]
[2020-03-05T15:09:59.187Z] test/unit/rules/templates/test_limitsize_template.py::TestTemplateLimitSize::test_file_negative PASSED [ 99%]
[2020-03-05T15:09:59.187Z] test/unit/rules/templates/test_limitsize_template.py::TestTemplateLimitSize::test_file_positive PASSED [ 99%]
[2020-03-05T15:09:59.187Z] test/unit/rules/templates/test_yaml_template.py::TestBaseTemplate::test_file_negative PASSED [100%]
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] =================================== FAILURES ===================================
[2020-03-05T15:09:59.187Z] ________________________ TestDirectives.test_templates _________________________
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] self = <test.integration.test_directives.TestDirectives testMethod=test_templates>
[2020-03-05T15:09:59.187Z] extra_params = []
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] def run_scenarios(self, extra_params=None):
[2020-03-05T15:09:59.187Z] """Success test"""
[2020-03-05T15:09:59.187Z] extra_params = extra_params or []
[2020-03-05T15:09:59.187Z] for scenario in self.scenarios:
[2020-03-05T15:09:59.187Z] filename = scenario.get('filename')
[2020-03-05T15:09:59.187Z] results_filename = scenario.get('results_filename')
[2020-03-05T15:09:59.187Z] expected_results = scenario.get('results', [])
[2020-03-05T15:09:59.187Z] exit_code = scenario.get('exit_code')
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] if results_filename and not expected_results:
[2020-03-05T15:09:59.187Z] with open(results_filename) as json_data:
[2020-03-05T15:09:59.187Z] expected_results = json.load(json_data)
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] try:
[2020-03-05T15:09:59.187Z] > result = subprocess.check_output(['cfn-lint'] + extra_params + ['--format', 'json',
[2020-03-05T15:09:59.187Z] '--', filename])
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] test/integration/__init__.py:34:
[2020-03-05T15:09:59.187Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] timeout = None
[2020-03-05T15:09:59.187Z] popenargs = (['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/bad/core/directives.yaml'],)
[2020-03-05T15:09:59.187Z] kwargs = {}
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] def check_output(*popenargs, timeout=None, **kwargs):
[2020-03-05T15:09:59.187Z] r"""Run command with arguments and return its output.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] If the exit code was non-zero it raises a CalledProcessError. The
[2020-03-05T15:09:59.187Z] CalledProcessError object will have the return code in the returncode
[2020-03-05T15:09:59.187Z] attribute and output in the output attribute.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] The arguments are the same as for the Popen constructor. Example:
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] >>> check_output(["ls", "-l", "/dev/null"])
[2020-03-05T15:09:59.187Z] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] The stdout argument is not allowed as it is used internally.
[2020-03-05T15:09:59.187Z] To capture standard error in the result, use stderr=STDOUT.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] >>> check_output(["/bin/sh", "-c",
[2020-03-05T15:09:59.187Z] ... "ls -l non_existent_file ; exit 0"],
[2020-03-05T15:09:59.187Z] ... stderr=STDOUT)
[2020-03-05T15:09:59.187Z] b'ls: non_existent_file: No such file or directory\n'
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] There is an additional optional argument, "input", allowing you to
[2020-03-05T15:09:59.187Z] pass a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.187Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.187Z] it too will be used internally. Example:
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] >>> check_output(["sed", "-e", "s/foo/bar/"],
[2020-03-05T15:09:59.187Z] ... input=b"when in the course of fooman events\n")
[2020-03-05T15:09:59.187Z] b'when in the course of barman events\n'
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] By default, all communication is in bytes, and therefore any "input"
[2020-03-05T15:09:59.187Z] should be bytes, and the return value will be bytes. If in text mode,
[2020-03-05T15:09:59.187Z] any "input" should be a string, and the return value will be a string
[2020-03-05T15:09:59.187Z] decoded according to locale encoding, or by "encoding" if set. Text mode
[2020-03-05T15:09:59.187Z] is triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.187Z] """
[2020-03-05T15:09:59.187Z] if 'stdout' in kwargs:
[2020-03-05T15:09:59.187Z] raise ValueError('stdout argument not allowed, it will be overridden.')
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] if 'input' in kwargs and kwargs['input'] is None:
[2020-03-05T15:09:59.187Z] # Explicitly passing input=None was previously equivalent to passing an
[2020-03-05T15:09:59.187Z] # empty string. That is maintained here for backwards compatibility.
[2020-03-05T15:09:59.187Z] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
[2020-03-05T15:09:59.187Z] **kwargs).stdout
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] /usr/lib/python3.8/subprocess.py:411:
[2020-03-05T15:09:59.187Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] input = None, capture_output = False, timeout = None, check = True
[2020-03-05T15:09:59.187Z] popenargs = (['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/bad/core/directives.yaml'],)
[2020-03-05T15:09:59.187Z] kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7eff40b96d00>
[2020-03-05T15:09:59.187Z] stdout = b'', stderr = None, retcode = 1
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] def run(*popenargs,
[2020-03-05T15:09:59.187Z] input=None, capture_output=False, timeout=None, check=False, **kwargs):
[2020-03-05T15:09:59.187Z] """Run command with arguments and return a CompletedProcess instance.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] The returned instance will have attributes args, returncode, stdout and
[2020-03-05T15:09:59.187Z] stderr. By default, stdout and stderr are not captured, and those attributes
[2020-03-05T15:09:59.187Z] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] If check is True and the exit code was non-zero, it raises a
[2020-03-05T15:09:59.187Z] CalledProcessError. The CalledProcessError object will have the return code
[2020-03-05T15:09:59.187Z] in the returncode attribute, and output & stderr attributes if those streams
[2020-03-05T15:09:59.187Z] were captured.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] If timeout is given, and the process takes too long, a TimeoutExpired
[2020-03-05T15:09:59.187Z] exception will be raised.
[2020-03-05T15:09:59.187Z]
[2020-03-05T15:09:59.187Z] There is an optional argument "input", allowing you to
[2020-03-05T15:09:59.188Z] pass bytes or a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.188Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.188Z] it will be used internally.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] By default, all communication is in bytes, and therefore any "input" should
[2020-03-05T15:09:59.188Z] be bytes, and the stdout and stderr will be bytes. If in text mode, any
[2020-03-05T15:09:59.188Z] "input" should be a string, and stdout and stderr will be strings decoded
[2020-03-05T15:09:59.188Z] according to locale encoding, or by "encoding" if set. Text mode is
[2020-03-05T15:09:59.188Z] triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] The other arguments are the same as for the Popen constructor.
[2020-03-05T15:09:59.188Z] """
[2020-03-05T15:09:59.188Z] if input is not None:
[2020-03-05T15:09:59.188Z] if kwargs.get('stdin') is not None:
[2020-03-05T15:09:59.188Z] raise ValueError('stdin and input arguments may not both be used.')
[2020-03-05T15:09:59.188Z] kwargs['stdin'] = PIPE
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] if capture_output:
[2020-03-05T15:09:59.188Z] if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
[2020-03-05T15:09:59.188Z] raise ValueError('stdout and stderr arguments may not be used '
[2020-03-05T15:09:59.188Z] 'with capture_output.')
[2020-03-05T15:09:59.188Z] kwargs['stdout'] = PIPE
[2020-03-05T15:09:59.188Z] kwargs['stderr'] = PIPE
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] with Popen(*popenargs, **kwargs) as process:
[2020-03-05T15:09:59.188Z] try:
[2020-03-05T15:09:59.188Z] stdout, stderr = process.communicate(input, timeout=timeout)
[2020-03-05T15:09:59.188Z] except TimeoutExpired as exc:
[2020-03-05T15:09:59.188Z] process.kill()
[2020-03-05T15:09:59.188Z] if _mswindows:
[2020-03-05T15:09:59.188Z] # Windows accumulates the output in a single blocking
[2020-03-05T15:09:59.188Z] # read() call run on child threads, with the timeout
[2020-03-05T15:09:59.188Z] # being done in a join() on those threads. communicate()
[2020-03-05T15:09:59.188Z] # _after_ kill() is required to collect that and add it
[2020-03-05T15:09:59.188Z] # to the exception.
[2020-03-05T15:09:59.188Z] exc.stdout, exc.stderr = process.communicate()
[2020-03-05T15:09:59.188Z] else:
[2020-03-05T15:09:59.188Z] # POSIX _communicate already populated the output so
[2020-03-05T15:09:59.188Z] # far into the TimeoutExpired exception.
[2020-03-05T15:09:59.188Z] process.wait()
[2020-03-05T15:09:59.188Z] raise
[2020-03-05T15:09:59.188Z] except: # Including KeyboardInterrupt, communicate handled that.
[2020-03-05T15:09:59.188Z] process.kill()
[2020-03-05T15:09:59.188Z] # We don't call process.wait() as .__exit__ does that for us.
[2020-03-05T15:09:59.188Z] raise
[2020-03-05T15:09:59.188Z] retcode = process.poll()
[2020-03-05T15:09:59.188Z] if check and retcode:
[2020-03-05T15:09:59.188Z] > raise CalledProcessError(retcode, process.args,
[2020-03-05T15:09:59.188Z] output=stdout, stderr=stderr)
[2020-03-05T15:09:59.188Z] E subprocess.CalledProcessError: Command '['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/bad/core/directives.yaml']' returned non-zero exit status 1.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] /usr/lib/python3.8/subprocess.py:512: CalledProcessError
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] self = <test.integration.test_directives.TestDirectives testMethod=test_templates>
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] def test_templates(self):
[2020-03-05T15:09:59.188Z] '''Test ignoring certain rules'''
[2020-03-05T15:09:59.188Z] > self.run_scenarios()
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] test/integration/test_directives.py:156:
[2020-03-05T15:09:59.188Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.188Z] test/integration/__init__.py:52: in run_scenarios
[2020-03-05T15:09:59.188Z] self.assertEqual(error.returncode, exit_code, 'Expected {} exit code, got {} on {}'.format(
[2020-03-05T15:09:59.188Z] E AssertionError: 1 != 2 : Expected 2 exit code, got 1 on test/fixtures/templates/bad/core/directives.yaml
[2020-03-05T15:09:59.188Z] ----------------------------- Captured stderr call -----------------------------
[2020-03-05T15:09:59.188Z] Traceback (most recent call last):
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
[2020-03-05T15:09:59.188Z] ws.require(__requires__)
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
[2020-03-05T15:09:59.188Z] needed = self.resolve(parse_requirements(requirements))
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
[2020-03-05T15:09:59.188Z] raise VersionConflict(dist, req).with_context(dependent_req)
[2020-03-05T15:09:59.188Z] pkg_resources.ContextualVersionConflict: (botocore 1.15.3 (/usr/lib/python3.8/site-packages), Requirement.parse('botocore<1.16.0,>=1.15.10'), {'boto3'})
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] Traceback (most recent call last):
[2020-03-05T15:09:59.188Z] File "/build/python-cfn-lint/src/tmp_install/cfn-lint", line 6, in <module>
[2020-03-05T15:09:59.188Z] from pkg_resources import load_entry_point
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3254, in <module>
[2020-03-05T15:09:59.188Z] def _initialize_master_working_set():
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3237, in _call_aside
[2020-03-05T15:09:59.188Z] f(*args, **kwargs)
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
[2020-03-05T15:09:59.188Z] working_set = WorkingSet._build_master()
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
[2020-03-05T15:09:59.188Z] return cls._build_from_requirements(__requires__)
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
[2020-03-05T15:09:59.188Z] dists = ws.resolve(reqs, Environment())
[2020-03-05T15:09:59.188Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
[2020-03-05T15:09:59.188Z] raise DistributionNotFound(req, requirers)
[2020-03-05T15:09:59.188Z] pkg_resources.DistributionNotFound: The 'botocore<1.16.0,>=1.15.10' distribution was not found and is required by boto3
[2020-03-05T15:09:59.188Z] ____________________ TestQuickStartTemplates.test_templates ____________________
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] self = <test.integration.test_good_templates.TestQuickStartTemplates testMethod=test_templates>
[2020-03-05T15:09:59.188Z] extra_params = []
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] def run_scenarios(self, extra_params=None):
[2020-03-05T15:09:59.188Z] """Success test"""
[2020-03-05T15:09:59.188Z] extra_params = extra_params or []
[2020-03-05T15:09:59.188Z] for scenario in self.scenarios:
[2020-03-05T15:09:59.188Z] filename = scenario.get('filename')
[2020-03-05T15:09:59.188Z] results_filename = scenario.get('results_filename')
[2020-03-05T15:09:59.188Z] expected_results = scenario.get('results', [])
[2020-03-05T15:09:59.188Z] exit_code = scenario.get('exit_code')
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] if results_filename and not expected_results:
[2020-03-05T15:09:59.188Z] with open(results_filename) as json_data:
[2020-03-05T15:09:59.188Z] expected_results = json.load(json_data)
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] try:
[2020-03-05T15:09:59.188Z] > result = subprocess.check_output(['cfn-lint'] + extra_params + ['--format', 'json',
[2020-03-05T15:09:59.188Z] '--', filename])
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] test/integration/__init__.py:34:
[2020-03-05T15:09:59.188Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] timeout = None
[2020-03-05T15:09:59.188Z] popenargs = (['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/good/generic.yaml'],)
[2020-03-05T15:09:59.188Z] kwargs = {}
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] def check_output(*popenargs, timeout=None, **kwargs):
[2020-03-05T15:09:59.188Z] r"""Run command with arguments and return its output.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] If the exit code was non-zero it raises a CalledProcessError. The
[2020-03-05T15:09:59.188Z] CalledProcessError object will have the return code in the returncode
[2020-03-05T15:09:59.188Z] attribute and output in the output attribute.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] The arguments are the same as for the Popen constructor. Example:
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] >>> check_output(["ls", "-l", "/dev/null"])
[2020-03-05T15:09:59.188Z] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] The stdout argument is not allowed as it is used internally.
[2020-03-05T15:09:59.188Z] To capture standard error in the result, use stderr=STDOUT.
[2020-03-05T15:09:59.188Z]
[2020-03-05T15:09:59.188Z] >>> check_output(["/bin/sh", "-c",
[2020-03-05T15:09:59.189Z] ... "ls -l non_existent_file ; exit 0"],
[2020-03-05T15:09:59.189Z] ... stderr=STDOUT)
[2020-03-05T15:09:59.189Z] b'ls: non_existent_file: No such file or directory\n'
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] There is an additional optional argument, "input", allowing you to
[2020-03-05T15:09:59.189Z] pass a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.189Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.189Z] it too will be used internally. Example:
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] >>> check_output(["sed", "-e", "s/foo/bar/"],
[2020-03-05T15:09:59.189Z] ... input=b"when in the course of fooman events\n")
[2020-03-05T15:09:59.189Z] b'when in the course of barman events\n'
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] By default, all communication is in bytes, and therefore any "input"
[2020-03-05T15:09:59.189Z] should be bytes, and the return value will be bytes. If in text mode,
[2020-03-05T15:09:59.189Z] any "input" should be a string, and the return value will be a string
[2020-03-05T15:09:59.189Z] decoded according to locale encoding, or by "encoding" if set. Text mode
[2020-03-05T15:09:59.189Z] is triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.189Z] """
[2020-03-05T15:09:59.189Z] if 'stdout' in kwargs:
[2020-03-05T15:09:59.189Z] raise ValueError('stdout argument not allowed, it will be overridden.')
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] if 'input' in kwargs and kwargs['input'] is None:
[2020-03-05T15:09:59.189Z] # Explicitly passing input=None was previously equivalent to passing an
[2020-03-05T15:09:59.189Z] # empty string. That is maintained here for backwards compatibility.
[2020-03-05T15:09:59.189Z] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
[2020-03-05T15:09:59.189Z] **kwargs).stdout
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] /usr/lib/python3.8/subprocess.py:411:
[2020-03-05T15:09:59.189Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] input = None, capture_output = False, timeout = None, check = True
[2020-03-05T15:09:59.189Z] popenargs = (['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/good/generic.yaml'],)
[2020-03-05T15:09:59.189Z] kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7eff407c3b20>
[2020-03-05T15:09:59.189Z] stdout = b'', stderr = None, retcode = 1
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] def run(*popenargs,
[2020-03-05T15:09:59.189Z] input=None, capture_output=False, timeout=None, check=False, **kwargs):
[2020-03-05T15:09:59.189Z] """Run command with arguments and return a CompletedProcess instance.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] The returned instance will have attributes args, returncode, stdout and
[2020-03-05T15:09:59.189Z] stderr. By default, stdout and stderr are not captured, and those attributes
[2020-03-05T15:09:59.189Z] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] If check is True and the exit code was non-zero, it raises a
[2020-03-05T15:09:59.189Z] CalledProcessError. The CalledProcessError object will have the return code
[2020-03-05T15:09:59.189Z] in the returncode attribute, and output & stderr attributes if those streams
[2020-03-05T15:09:59.189Z] were captured.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] If timeout is given, and the process takes too long, a TimeoutExpired
[2020-03-05T15:09:59.189Z] exception will be raised.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] There is an optional argument "input", allowing you to
[2020-03-05T15:09:59.189Z] pass bytes or a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.189Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.189Z] it will be used internally.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] By default, all communication is in bytes, and therefore any "input" should
[2020-03-05T15:09:59.189Z] be bytes, and the stdout and stderr will be bytes. If in text mode, any
[2020-03-05T15:09:59.189Z] "input" should be a string, and stdout and stderr will be strings decoded
[2020-03-05T15:09:59.189Z] according to locale encoding, or by "encoding" if set. Text mode is
[2020-03-05T15:09:59.189Z] triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] The other arguments are the same as for the Popen constructor.
[2020-03-05T15:09:59.189Z] """
[2020-03-05T15:09:59.189Z] if input is not None:
[2020-03-05T15:09:59.189Z] if kwargs.get('stdin') is not None:
[2020-03-05T15:09:59.189Z] raise ValueError('stdin and input arguments may not both be used.')
[2020-03-05T15:09:59.189Z] kwargs['stdin'] = PIPE
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] if capture_output:
[2020-03-05T15:09:59.189Z] if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
[2020-03-05T15:09:59.189Z] raise ValueError('stdout and stderr arguments may not be used '
[2020-03-05T15:09:59.189Z] 'with capture_output.')
[2020-03-05T15:09:59.189Z] kwargs['stdout'] = PIPE
[2020-03-05T15:09:59.189Z] kwargs['stderr'] = PIPE
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] with Popen(*popenargs, **kwargs) as process:
[2020-03-05T15:09:59.189Z] try:
[2020-03-05T15:09:59.189Z] stdout, stderr = process.communicate(input, timeout=timeout)
[2020-03-05T15:09:59.189Z] except TimeoutExpired as exc:
[2020-03-05T15:09:59.189Z] process.kill()
[2020-03-05T15:09:59.189Z] if _mswindows:
[2020-03-05T15:09:59.189Z] # Windows accumulates the output in a single blocking
[2020-03-05T15:09:59.189Z] # read() call run on child threads, with the timeout
[2020-03-05T15:09:59.189Z] # being done in a join() on those threads. communicate()
[2020-03-05T15:09:59.189Z] # _after_ kill() is required to collect that and add it
[2020-03-05T15:09:59.189Z] # to the exception.
[2020-03-05T15:09:59.189Z] exc.stdout, exc.stderr = process.communicate()
[2020-03-05T15:09:59.189Z] else:
[2020-03-05T15:09:59.189Z] # POSIX _communicate already populated the output so
[2020-03-05T15:09:59.189Z] # far into the TimeoutExpired exception.
[2020-03-05T15:09:59.189Z] process.wait()
[2020-03-05T15:09:59.189Z] raise
[2020-03-05T15:09:59.189Z] except: # Including KeyboardInterrupt, communicate handled that.
[2020-03-05T15:09:59.189Z] process.kill()
[2020-03-05T15:09:59.189Z] # We don't call process.wait() as .__exit__ does that for us.
[2020-03-05T15:09:59.189Z] raise
[2020-03-05T15:09:59.189Z] retcode = process.poll()
[2020-03-05T15:09:59.189Z] if check and retcode:
[2020-03-05T15:09:59.189Z] > raise CalledProcessError(retcode, process.args,
[2020-03-05T15:09:59.189Z] output=stdout, stderr=stderr)
[2020-03-05T15:09:59.189Z] E subprocess.CalledProcessError: Command '['cfn-lint', '--format', 'json', '--', 'test/fixtures/templates/good/generic.yaml']' returned non-zero exit status 1.
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] /usr/lib/python3.8/subprocess.py:512: CalledProcessError
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] self = <test.integration.test_good_templates.TestQuickStartTemplates testMethod=test_templates>
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] def test_templates(self):
[2020-03-05T15:09:59.189Z] """Test Successful JSON Parsing"""
[2020-03-05T15:09:59.189Z] > self.run_scenarios()
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] test/integration/test_good_templates.py:301:
[2020-03-05T15:09:59.189Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.189Z] test/integration/__init__.py:52: in run_scenarios
[2020-03-05T15:09:59.189Z] self.assertEqual(error.returncode, exit_code, 'Expected {} exit code, got {} on {}'.format(
[2020-03-05T15:09:59.189Z] E AssertionError: 1 != 0 : Expected 0 exit code, got 1 on test/fixtures/templates/good/generic.yaml
[2020-03-05T15:09:59.189Z] ----------------------------- Captured stderr call -----------------------------
[2020-03-05T15:09:59.189Z] Traceback (most recent call last):
[2020-03-05T15:09:59.189Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
[2020-03-05T15:09:59.189Z] ws.require(__requires__)
[2020-03-05T15:09:59.189Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
[2020-03-05T15:09:59.189Z] needed = self.resolve(parse_requirements(requirements))
[2020-03-05T15:09:59.189Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
[2020-03-05T15:09:59.189Z] raise VersionConflict(dist, req).with_context(dependent_req)
[2020-03-05T15:09:59.189Z] pkg_resources.ContextualVersionConflict: (botocore 1.15.3 (/usr/lib/python3.8/site-packages), Requirement.parse('botocore<1.16.0,>=1.15.10'), {'boto3'})
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.189Z]
[2020-03-05T15:09:59.189Z] Traceback (most recent call last):
[2020-03-05T15:09:59.189Z] File "/build/python-cfn-lint/src/tmp_install/cfn-lint", line 6, in <module>
[2020-03-05T15:09:59.189Z] from pkg_resources import load_entry_point
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3254, in <module>
[2020-03-05T15:09:59.190Z] def _initialize_master_working_set():
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3237, in _call_aside
[2020-03-05T15:09:59.190Z] f(*args, **kwargs)
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
[2020-03-05T15:09:59.190Z] working_set = WorkingSet._build_master()
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
[2020-03-05T15:09:59.190Z] return cls._build_from_requirements(__requires__)
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
[2020-03-05T15:09:59.190Z] dists = ws.resolve(reqs, Environment())
[2020-03-05T15:09:59.190Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
[2020-03-05T15:09:59.190Z] raise DistributionNotFound(req, requirers)
[2020-03-05T15:09:59.190Z] pkg_resources.DistributionNotFound: The 'botocore<1.16.0,>=1.15.10' distribution was not found and is required by boto3
[2020-03-05T15:09:59.190Z] ____________________ TestDirectives.test_templates_explicit ____________________
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] self = <test.integration.test_mandatory_checks.TestDirectives testMethod=test_templates_explicit>
[2020-03-05T15:09:59.190Z] extra_params = ['--mandatory-checks', 'E3001', 'E3002']
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] def run_scenarios(self, extra_params=None):
[2020-03-05T15:09:59.190Z] """Success test"""
[2020-03-05T15:09:59.190Z] extra_params = extra_params or []
[2020-03-05T15:09:59.190Z] for scenario in self.scenarios:
[2020-03-05T15:09:59.190Z] filename = scenario.get('filename')
[2020-03-05T15:09:59.190Z] results_filename = scenario.get('results_filename')
[2020-03-05T15:09:59.190Z] expected_results = scenario.get('results', [])
[2020-03-05T15:09:59.190Z] exit_code = scenario.get('exit_code')
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] if results_filename and not expected_results:
[2020-03-05T15:09:59.190Z] with open(results_filename) as json_data:
[2020-03-05T15:09:59.190Z] expected_results = json.load(json_data)
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] try:
[2020-03-05T15:09:59.190Z] > result = subprocess.check_output(['cfn-lint'] + extra_params + ['--format', 'json',
[2020-03-05T15:09:59.190Z] '--', filename])
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] test/integration/__init__.py:34:
[2020-03-05T15:09:59.190Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] timeout = None
[2020-03-05T15:09:59.190Z] popenargs = (['cfn-lint', '--mandatory-checks', 'E3001', 'E3002', '--format', 'json', ...],)
[2020-03-05T15:09:59.190Z] kwargs = {}
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] def check_output(*popenargs, timeout=None, **kwargs):
[2020-03-05T15:09:59.190Z] r"""Run command with arguments and return its output.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] If the exit code was non-zero it raises a CalledProcessError. The
[2020-03-05T15:09:59.190Z] CalledProcessError object will have the return code in the returncode
[2020-03-05T15:09:59.190Z] attribute and output in the output attribute.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] The arguments are the same as for the Popen constructor. Example:
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] >>> check_output(["ls", "-l", "/dev/null"])
[2020-03-05T15:09:59.190Z] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] The stdout argument is not allowed as it is used internally.
[2020-03-05T15:09:59.190Z] To capture standard error in the result, use stderr=STDOUT.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] >>> check_output(["/bin/sh", "-c",
[2020-03-05T15:09:59.190Z] ... "ls -l non_existent_file ; exit 0"],
[2020-03-05T15:09:59.190Z] ... stderr=STDOUT)
[2020-03-05T15:09:59.190Z] b'ls: non_existent_file: No such file or directory\n'
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] There is an additional optional argument, "input", allowing you to
[2020-03-05T15:09:59.190Z] pass a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.190Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.190Z] it too will be used internally. Example:
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] >>> check_output(["sed", "-e", "s/foo/bar/"],
[2020-03-05T15:09:59.190Z] ... input=b"when in the course of fooman events\n")
[2020-03-05T15:09:59.190Z] b'when in the course of barman events\n'
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] By default, all communication is in bytes, and therefore any "input"
[2020-03-05T15:09:59.190Z] should be bytes, and the return value will be bytes. If in text mode,
[2020-03-05T15:09:59.190Z] any "input" should be a string, and the return value will be a string
[2020-03-05T15:09:59.190Z] decoded according to locale encoding, or by "encoding" if set. Text mode
[2020-03-05T15:09:59.190Z] is triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.190Z] """
[2020-03-05T15:09:59.190Z] if 'stdout' in kwargs:
[2020-03-05T15:09:59.190Z] raise ValueError('stdout argument not allowed, it will be overridden.')
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] if 'input' in kwargs and kwargs['input'] is None:
[2020-03-05T15:09:59.190Z] # Explicitly passing input=None was previously equivalent to passing an
[2020-03-05T15:09:59.190Z] # empty string. That is maintained here for backwards compatibility.
[2020-03-05T15:09:59.190Z] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
[2020-03-05T15:09:59.190Z] **kwargs).stdout
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] /usr/lib/python3.8/subprocess.py:411:
[2020-03-05T15:09:59.190Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] input = None, capture_output = False, timeout = None, check = True
[2020-03-05T15:09:59.190Z] popenargs = (['cfn-lint', '--mandatory-checks', 'E3001', 'E3002', '--format', 'json', ...],)
[2020-03-05T15:09:59.190Z] kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7eff40827df0>
[2020-03-05T15:09:59.190Z] stdout = b'', stderr = None, retcode = 1
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] def run(*popenargs,
[2020-03-05T15:09:59.190Z] input=None, capture_output=False, timeout=None, check=False, **kwargs):
[2020-03-05T15:09:59.190Z] """Run command with arguments and return a CompletedProcess instance.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] The returned instance will have attributes args, returncode, stdout and
[2020-03-05T15:09:59.190Z] stderr. By default, stdout and stderr are not captured, and those attributes
[2020-03-05T15:09:59.190Z] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] If check is True and the exit code was non-zero, it raises a
[2020-03-05T15:09:59.190Z] CalledProcessError. The CalledProcessError object will have the return code
[2020-03-05T15:09:59.190Z] in the returncode attribute, and output & stderr attributes if those streams
[2020-03-05T15:09:59.190Z] were captured.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] If timeout is given, and the process takes too long, a TimeoutExpired
[2020-03-05T15:09:59.190Z] exception will be raised.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] There is an optional argument "input", allowing you to
[2020-03-05T15:09:59.190Z] pass bytes or a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.190Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.190Z] it will be used internally.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] By default, all communication is in bytes, and therefore any "input" should
[2020-03-05T15:09:59.190Z] be bytes, and the stdout and stderr will be bytes. If in text mode, any
[2020-03-05T15:09:59.190Z] "input" should be a string, and stdout and stderr will be strings decoded
[2020-03-05T15:09:59.190Z] according to locale encoding, or by "encoding" if set. Text mode is
[2020-03-05T15:09:59.190Z] triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] The other arguments are the same as for the Popen constructor.
[2020-03-05T15:09:59.190Z] """
[2020-03-05T15:09:59.190Z] if input is not None:
[2020-03-05T15:09:59.190Z] if kwargs.get('stdin') is not None:
[2020-03-05T15:09:59.190Z] raise ValueError('stdin and input arguments may not both be used.')
[2020-03-05T15:09:59.190Z] kwargs['stdin'] = PIPE
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.190Z] if capture_output:
[2020-03-05T15:09:59.190Z] if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
[2020-03-05T15:09:59.190Z] raise ValueError('stdout and stderr arguments may not be used '
[2020-03-05T15:09:59.190Z] 'with capture_output.')
[2020-03-05T15:09:59.190Z] kwargs['stdout'] = PIPE
[2020-03-05T15:09:59.190Z] kwargs['stderr'] = PIPE
[2020-03-05T15:09:59.190Z]
[2020-03-05T15:09:59.191Z] with Popen(*popenargs, **kwargs) as process:
[2020-03-05T15:09:59.191Z] try:
[2020-03-05T15:09:59.191Z] stdout, stderr = process.communicate(input, timeout=timeout)
[2020-03-05T15:09:59.191Z] except TimeoutExpired as exc:
[2020-03-05T15:09:59.191Z] process.kill()
[2020-03-05T15:09:59.191Z] if _mswindows:
[2020-03-05T15:09:59.191Z] # Windows accumulates the output in a single blocking
[2020-03-05T15:09:59.191Z] # read() call run on child threads, with the timeout
[2020-03-05T15:09:59.191Z] # being done in a join() on those threads. communicate()
[2020-03-05T15:09:59.191Z] # _after_ kill() is required to collect that and add it
[2020-03-05T15:09:59.191Z] # to the exception.
[2020-03-05T15:09:59.191Z] exc.stdout, exc.stderr = process.communicate()
[2020-03-05T15:09:59.191Z] else:
[2020-03-05T15:09:59.191Z] # POSIX _communicate already populated the output so
[2020-03-05T15:09:59.191Z] # far into the TimeoutExpired exception.
[2020-03-05T15:09:59.191Z] process.wait()
[2020-03-05T15:09:59.191Z] raise
[2020-03-05T15:09:59.191Z] except: # Including KeyboardInterrupt, communicate handled that.
[2020-03-05T15:09:59.191Z] process.kill()
[2020-03-05T15:09:59.191Z] # We don't call process.wait() as .__exit__ does that for us.
[2020-03-05T15:09:59.191Z] raise
[2020-03-05T15:09:59.191Z] retcode = process.poll()
[2020-03-05T15:09:59.191Z] if check and retcode:
[2020-03-05T15:09:59.191Z] > raise CalledProcessError(retcode, process.args,
[2020-03-05T15:09:59.191Z] output=stdout, stderr=stderr)
[2020-03-05T15:09:59.191Z] E subprocess.CalledProcessError: Command '['cfn-lint', '--mandatory-checks', 'E3001', 'E3002', '--format', 'json', '--', 'test/fixtures/templates/bad/core/mandatory_checks.yaml']' returned non-zero exit status 1.
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] /usr/lib/python3.8/subprocess.py:512: CalledProcessError
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] self = <test.integration.test_mandatory_checks.TestDirectives testMethod=test_templates_explicit>
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] def test_templates_explicit(self):
[2020-03-05T15:09:59.191Z] """Test making certain rules mandatory explictly"""
[2020-03-05T15:09:59.191Z] > self.run_scenarios(["--mandatory-checks", "E3001", "E3002"])
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] test/integration/test_mandatory_checks.py:168:
[2020-03-05T15:09:59.191Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.191Z] test/integration/__init__.py:52: in run_scenarios
[2020-03-05T15:09:59.191Z] self.assertEqual(error.returncode, exit_code, 'Expected {} exit code, got {} on {}'.format(
[2020-03-05T15:09:59.191Z] E AssertionError: 1 != 2 : Expected 2 exit code, got 1 on test/fixtures/templates/bad/core/mandatory_checks.yaml
[2020-03-05T15:09:59.191Z] ----------------------------- Captured stderr call -----------------------------
[2020-03-05T15:09:59.191Z] Traceback (most recent call last):
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
[2020-03-05T15:09:59.191Z] ws.require(__requires__)
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
[2020-03-05T15:09:59.191Z] needed = self.resolve(parse_requirements(requirements))
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
[2020-03-05T15:09:59.191Z] raise VersionConflict(dist, req).with_context(dependent_req)
[2020-03-05T15:09:59.191Z] pkg_resources.ContextualVersionConflict: (botocore 1.15.3 (/usr/lib/python3.8/site-packages), Requirement.parse('botocore<1.16.0,>=1.15.10'), {'boto3'})
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] Traceback (most recent call last):
[2020-03-05T15:09:59.191Z] File "/build/python-cfn-lint/src/tmp_install/cfn-lint", line 6, in <module>
[2020-03-05T15:09:59.191Z] from pkg_resources import load_entry_point
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3254, in <module>
[2020-03-05T15:09:59.191Z] def _initialize_master_working_set():
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3237, in _call_aside
[2020-03-05T15:09:59.191Z] f(*args, **kwargs)
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
[2020-03-05T15:09:59.191Z] working_set = WorkingSet._build_master()
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
[2020-03-05T15:09:59.191Z] return cls._build_from_requirements(__requires__)
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
[2020-03-05T15:09:59.191Z] dists = ws.resolve(reqs, Environment())
[2020-03-05T15:09:59.191Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
[2020-03-05T15:09:59.191Z] raise DistributionNotFound(req, requirers)
[2020-03-05T15:09:59.191Z] pkg_resources.DistributionNotFound: The 'botocore<1.16.0,>=1.15.10' distribution was not found and is required by boto3
[2020-03-05T15:09:59.191Z] ____________________ TestDirectives.test_templates_prefixed ____________________
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] self = <test.integration.test_mandatory_checks.TestDirectives testMethod=test_templates_prefixed>
[2020-03-05T15:09:59.191Z] extra_params = ['--mandatory-checks', 'E300']
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] def run_scenarios(self, extra_params=None):
[2020-03-05T15:09:59.191Z] """Success test"""
[2020-03-05T15:09:59.191Z] extra_params = extra_params or []
[2020-03-05T15:09:59.191Z] for scenario in self.scenarios:
[2020-03-05T15:09:59.191Z] filename = scenario.get('filename')
[2020-03-05T15:09:59.191Z] results_filename = scenario.get('results_filename')
[2020-03-05T15:09:59.191Z] expected_results = scenario.get('results', [])
[2020-03-05T15:09:59.191Z] exit_code = scenario.get('exit_code')
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] if results_filename and not expected_results:
[2020-03-05T15:09:59.191Z] with open(results_filename) as json_data:
[2020-03-05T15:09:59.191Z] expected_results = json.load(json_data)
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] try:
[2020-03-05T15:09:59.191Z] > result = subprocess.check_output(['cfn-lint'] + extra_params + ['--format', 'json',
[2020-03-05T15:09:59.191Z] '--', filename])
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] test/integration/__init__.py:34:
[2020-03-05T15:09:59.191Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] timeout = None
[2020-03-05T15:09:59.191Z] popenargs = (['cfn-lint', '--mandatory-checks', 'E300', '--format', 'json', '--', ...],)
[2020-03-05T15:09:59.191Z] kwargs = {}
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] def check_output(*popenargs, timeout=None, **kwargs):
[2020-03-05T15:09:59.191Z] r"""Run command with arguments and return its output.
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] If the exit code was non-zero it raises a CalledProcessError. The
[2020-03-05T15:09:59.191Z] CalledProcessError object will have the return code in the returncode
[2020-03-05T15:09:59.191Z] attribute and output in the output attribute.
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] The arguments are the same as for the Popen constructor. Example:
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] >>> check_output(["ls", "-l", "/dev/null"])
[2020-03-05T15:09:59.191Z] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] The stdout argument is not allowed as it is used internally.
[2020-03-05T15:09:59.191Z] To capture standard error in the result, use stderr=STDOUT.
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] >>> check_output(["/bin/sh", "-c",
[2020-03-05T15:09:59.191Z] ... "ls -l non_existent_file ; exit 0"],
[2020-03-05T15:09:59.191Z] ... stderr=STDOUT)
[2020-03-05T15:09:59.191Z] b'ls: non_existent_file: No such file or directory\n'
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] There is an additional optional argument, "input", allowing you to
[2020-03-05T15:09:59.191Z] pass a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.191Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.191Z] it too will be used internally. Example:
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] >>> check_output(["sed", "-e", "s/foo/bar/"],
[2020-03-05T15:09:59.191Z] ... input=b"when in the course of fooman events\n")
[2020-03-05T15:09:59.191Z] b'when in the course of barman events\n'
[2020-03-05T15:09:59.191Z]
[2020-03-05T15:09:59.191Z] By default, all communication is in bytes, and therefore any "input"
[2020-03-05T15:09:59.191Z] should be bytes, and the return value will be bytes. If in text mode,
[2020-03-05T15:09:59.191Z] any "input" should be a string, and the return value will be a string
[2020-03-05T15:09:59.191Z] decoded according to locale encoding, or by "encoding" if set. Text mode
[2020-03-05T15:09:59.191Z] is triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.191Z] """
[2020-03-05T15:09:59.191Z] if 'stdout' in kwargs:
[2020-03-05T15:09:59.191Z] raise ValueError('stdout argument not allowed, it will be overridden.')
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] if 'input' in kwargs and kwargs['input'] is None:
[2020-03-05T15:09:59.192Z] # Explicitly passing input=None was previously equivalent to passing an
[2020-03-05T15:09:59.192Z] # empty string. That is maintained here for backwards compatibility.
[2020-03-05T15:09:59.192Z] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
[2020-03-05T15:09:59.192Z] **kwargs).stdout
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] /usr/lib/python3.8/subprocess.py:411:
[2020-03-05T15:09:59.192Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] input = None, capture_output = False, timeout = None, check = True
[2020-03-05T15:09:59.192Z] popenargs = (['cfn-lint', '--mandatory-checks', 'E300', '--format', 'json', '--', ...],)
[2020-03-05T15:09:59.192Z] kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7eff40967640>
[2020-03-05T15:09:59.192Z] stdout = b'', stderr = None, retcode = 1
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] def run(*popenargs,
[2020-03-05T15:09:59.192Z] input=None, capture_output=False, timeout=None, check=False, **kwargs):
[2020-03-05T15:09:59.192Z] """Run command with arguments and return a CompletedProcess instance.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] The returned instance will have attributes args, returncode, stdout and
[2020-03-05T15:09:59.192Z] stderr. By default, stdout and stderr are not captured, and those attributes
[2020-03-05T15:09:59.192Z] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] If check is True and the exit code was non-zero, it raises a
[2020-03-05T15:09:59.192Z] CalledProcessError. The CalledProcessError object will have the return code
[2020-03-05T15:09:59.192Z] in the returncode attribute, and output & stderr attributes if those streams
[2020-03-05T15:09:59.192Z] were captured.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] If timeout is given, and the process takes too long, a TimeoutExpired
[2020-03-05T15:09:59.192Z] exception will be raised.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] There is an optional argument "input", allowing you to
[2020-03-05T15:09:59.192Z] pass bytes or a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.192Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.192Z] it will be used internally.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] By default, all communication is in bytes, and therefore any "input" should
[2020-03-05T15:09:59.192Z] be bytes, and the stdout and stderr will be bytes. If in text mode, any
[2020-03-05T15:09:59.192Z] "input" should be a string, and stdout and stderr will be strings decoded
[2020-03-05T15:09:59.192Z] according to locale encoding, or by "encoding" if set. Text mode is
[2020-03-05T15:09:59.192Z] triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] The other arguments are the same as for the Popen constructor.
[2020-03-05T15:09:59.192Z] """
[2020-03-05T15:09:59.192Z] if input is not None:
[2020-03-05T15:09:59.192Z] if kwargs.get('stdin') is not None:
[2020-03-05T15:09:59.192Z] raise ValueError('stdin and input arguments may not both be used.')
[2020-03-05T15:09:59.192Z] kwargs['stdin'] = PIPE
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] if capture_output:
[2020-03-05T15:09:59.192Z] if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
[2020-03-05T15:09:59.192Z] raise ValueError('stdout and stderr arguments may not be used '
[2020-03-05T15:09:59.192Z] 'with capture_output.')
[2020-03-05T15:09:59.192Z] kwargs['stdout'] = PIPE
[2020-03-05T15:09:59.192Z] kwargs['stderr'] = PIPE
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] with Popen(*popenargs, **kwargs) as process:
[2020-03-05T15:09:59.192Z] try:
[2020-03-05T15:09:59.192Z] stdout, stderr = process.communicate(input, timeout=timeout)
[2020-03-05T15:09:59.192Z] except TimeoutExpired as exc:
[2020-03-05T15:09:59.192Z] process.kill()
[2020-03-05T15:09:59.192Z] if _mswindows:
[2020-03-05T15:09:59.192Z] # Windows accumulates the output in a single blocking
[2020-03-05T15:09:59.192Z] # read() call run on child threads, with the timeout
[2020-03-05T15:09:59.192Z] # being done in a join() on those threads. communicate()
[2020-03-05T15:09:59.192Z] # _after_ kill() is required to collect that and add it
[2020-03-05T15:09:59.192Z] # to the exception.
[2020-03-05T15:09:59.192Z] exc.stdout, exc.stderr = process.communicate()
[2020-03-05T15:09:59.192Z] else:
[2020-03-05T15:09:59.192Z] # POSIX _communicate already populated the output so
[2020-03-05T15:09:59.192Z] # far into the TimeoutExpired exception.
[2020-03-05T15:09:59.192Z] process.wait()
[2020-03-05T15:09:59.192Z] raise
[2020-03-05T15:09:59.192Z] except: # Including KeyboardInterrupt, communicate handled that.
[2020-03-05T15:09:59.192Z] process.kill()
[2020-03-05T15:09:59.192Z] # We don't call process.wait() as .__exit__ does that for us.
[2020-03-05T15:09:59.192Z] raise
[2020-03-05T15:09:59.192Z] retcode = process.poll()
[2020-03-05T15:09:59.192Z] if check and retcode:
[2020-03-05T15:09:59.192Z] > raise CalledProcessError(retcode, process.args,
[2020-03-05T15:09:59.192Z] output=stdout, stderr=stderr)
[2020-03-05T15:09:59.192Z] E subprocess.CalledProcessError: Command '['cfn-lint', '--mandatory-checks', 'E300', '--format', 'json', '--', 'test/fixtures/templates/bad/core/mandatory_checks.yaml']' returned non-zero exit status 1.
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] /usr/lib/python3.8/subprocess.py:512: CalledProcessError
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] self = <test.integration.test_mandatory_checks.TestDirectives testMethod=test_templates_prefixed>
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] def test_templates_prefixed(self):
[2020-03-05T15:09:59.192Z] """Test making certain rules mandatory via a rule prefix"""
[2020-03-05T15:09:59.192Z] > self.run_scenarios(["--mandatory-checks", "E300"])
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] test/integration/test_mandatory_checks.py:172:
[2020-03-05T15:09:59.192Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.192Z] test/integration/__init__.py:52: in run_scenarios
[2020-03-05T15:09:59.192Z] self.assertEqual(error.returncode, exit_code, 'Expected {} exit code, got {} on {}'.format(
[2020-03-05T15:09:59.192Z] E AssertionError: 1 != 2 : Expected 2 exit code, got 1 on test/fixtures/templates/bad/core/mandatory_checks.yaml
[2020-03-05T15:09:59.192Z] ----------------------------- Captured stderr call -----------------------------
[2020-03-05T15:09:59.192Z] Traceback (most recent call last):
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
[2020-03-05T15:09:59.192Z] ws.require(__requires__)
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
[2020-03-05T15:09:59.192Z] needed = self.resolve(parse_requirements(requirements))
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
[2020-03-05T15:09:59.192Z] raise VersionConflict(dist, req).with_context(dependent_req)
[2020-03-05T15:09:59.192Z] pkg_resources.ContextualVersionConflict: (botocore 1.15.3 (/usr/lib/python3.8/site-packages), Requirement.parse('botocore<1.16.0,>=1.15.10'), {'boto3'})
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] Traceback (most recent call last):
[2020-03-05T15:09:59.192Z] File "/build/python-cfn-lint/src/tmp_install/cfn-lint", line 6, in <module>
[2020-03-05T15:09:59.192Z] from pkg_resources import load_entry_point
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3254, in <module>
[2020-03-05T15:09:59.192Z] def _initialize_master_working_set():
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3237, in _call_aside
[2020-03-05T15:09:59.192Z] f(*args, **kwargs)
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
[2020-03-05T15:09:59.192Z] working_set = WorkingSet._build_master()
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
[2020-03-05T15:09:59.192Z] return cls._build_from_requirements(__requires__)
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
[2020-03-05T15:09:59.192Z] dists = ws.resolve(reqs, Environment())
[2020-03-05T15:09:59.192Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
[2020-03-05T15:09:59.192Z] raise DistributionNotFound(req, requirers)
[2020-03-05T15:09:59.192Z] pkg_resources.DistributionNotFound: The 'botocore<1.16.0,>=1.15.10' distribution was not found and is required by boto3
[2020-03-05T15:09:59.192Z] ____________________ TestQuickStartTemplates.test_templates ____________________
[2020-03-05T15:09:59.192Z]
[2020-03-05T15:09:59.192Z] self = <test.integration.test_quickstart_templates_non_strict.TestQuickStartTemplates testMethod=test_templates>
[2020-03-05T15:09:59.193Z] extra_params = ['--include-checks', 'I', '--include-expiremental', '--configure-rule', 'E3012:strict=false']
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] def run_scenarios(self, extra_params=None):
[2020-03-05T15:09:59.193Z] """Success test"""
[2020-03-05T15:09:59.193Z] extra_params = extra_params or []
[2020-03-05T15:09:59.193Z] for scenario in self.scenarios:
[2020-03-05T15:09:59.193Z] filename = scenario.get('filename')
[2020-03-05T15:09:59.193Z] results_filename = scenario.get('results_filename')
[2020-03-05T15:09:59.193Z] expected_results = scenario.get('results', [])
[2020-03-05T15:09:59.193Z] exit_code = scenario.get('exit_code')
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] if results_filename and not expected_results:
[2020-03-05T15:09:59.193Z] with open(results_filename) as json_data:
[2020-03-05T15:09:59.193Z] expected_results = json.load(json_data)
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] try:
[2020-03-05T15:09:59.193Z] > result = subprocess.check_output(['cfn-lint'] + extra_params + ['--format', 'json',
[2020-03-05T15:09:59.193Z] '--', filename])
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] test/integration/__init__.py:34:
[2020-03-05T15:09:59.193Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] timeout = None
[2020-03-05T15:09:59.193Z] popenargs = (['cfn-lint', '--include-checks', 'I', '--include-expiremental', '--configure-rule', 'E3012:strict=false', ...],)
[2020-03-05T15:09:59.193Z] kwargs = {}
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] def check_output(*popenargs, timeout=None, **kwargs):
[2020-03-05T15:09:59.193Z] r"""Run command with arguments and return its output.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] If the exit code was non-zero it raises a CalledProcessError. The
[2020-03-05T15:09:59.193Z] CalledProcessError object will have the return code in the returncode
[2020-03-05T15:09:59.193Z] attribute and output in the output attribute.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] The arguments are the same as for the Popen constructor. Example:
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] >>> check_output(["ls", "-l", "/dev/null"])
[2020-03-05T15:09:59.193Z] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] The stdout argument is not allowed as it is used internally.
[2020-03-05T15:09:59.193Z] To capture standard error in the result, use stderr=STDOUT.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] >>> check_output(["/bin/sh", "-c",
[2020-03-05T15:09:59.193Z] ... "ls -l non_existent_file ; exit 0"],
[2020-03-05T15:09:59.193Z] ... stderr=STDOUT)
[2020-03-05T15:09:59.193Z] b'ls: non_existent_file: No such file or directory\n'
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] There is an additional optional argument, "input", allowing you to
[2020-03-05T15:09:59.193Z] pass a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.193Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.193Z] it too will be used internally. Example:
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] >>> check_output(["sed", "-e", "s/foo/bar/"],
[2020-03-05T15:09:59.193Z] ... input=b"when in the course of fooman events\n")
[2020-03-05T15:09:59.193Z] b'when in the course of barman events\n'
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] By default, all communication is in bytes, and therefore any "input"
[2020-03-05T15:09:59.193Z] should be bytes, and the return value will be bytes. If in text mode,
[2020-03-05T15:09:59.193Z] any "input" should be a string, and the return value will be a string
[2020-03-05T15:09:59.193Z] decoded according to locale encoding, or by "encoding" if set. Text mode
[2020-03-05T15:09:59.193Z] is triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.193Z] """
[2020-03-05T15:09:59.193Z] if 'stdout' in kwargs:
[2020-03-05T15:09:59.193Z] raise ValueError('stdout argument not allowed, it will be overridden.')
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] if 'input' in kwargs and kwargs['input'] is None:
[2020-03-05T15:09:59.193Z] # Explicitly passing input=None was previously equivalent to passing an
[2020-03-05T15:09:59.193Z] # empty string. That is maintained here for backwards compatibility.
[2020-03-05T15:09:59.193Z] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
[2020-03-05T15:09:59.193Z] **kwargs).stdout
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] /usr/lib/python3.8/subprocess.py:411:
[2020-03-05T15:09:59.193Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] input = None, capture_output = False, timeout = None, check = True
[2020-03-05T15:09:59.193Z] popenargs = (['cfn-lint', '--include-checks', 'I', '--include-expiremental', '--configure-rule', 'E3012:strict=false', ...],)
[2020-03-05T15:09:59.193Z] kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7eff4082d190>
[2020-03-05T15:09:59.193Z] stdout = b'', stderr = None, retcode = 1
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] def run(*popenargs,
[2020-03-05T15:09:59.193Z] input=None, capture_output=False, timeout=None, check=False, **kwargs):
[2020-03-05T15:09:59.193Z] """Run command with arguments and return a CompletedProcess instance.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] The returned instance will have attributes args, returncode, stdout and
[2020-03-05T15:09:59.193Z] stderr. By default, stdout and stderr are not captured, and those attributes
[2020-03-05T15:09:59.193Z] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] If check is True and the exit code was non-zero, it raises a
[2020-03-05T15:09:59.193Z] CalledProcessError. The CalledProcessError object will have the return code
[2020-03-05T15:09:59.193Z] in the returncode attribute, and output & stderr attributes if those streams
[2020-03-05T15:09:59.193Z] were captured.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] If timeout is given, and the process takes too long, a TimeoutExpired
[2020-03-05T15:09:59.193Z] exception will be raised.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] There is an optional argument "input", allowing you to
[2020-03-05T15:09:59.193Z] pass bytes or a string to the subprocess's stdin. If you use this argument
[2020-03-05T15:09:59.193Z] you may not also use the Popen constructor's "stdin" argument, as
[2020-03-05T15:09:59.193Z] it will be used internally.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] By default, all communication is in bytes, and therefore any "input" should
[2020-03-05T15:09:59.193Z] be bytes, and the stdout and stderr will be bytes. If in text mode, any
[2020-03-05T15:09:59.193Z] "input" should be a string, and stdout and stderr will be strings decoded
[2020-03-05T15:09:59.193Z] according to locale encoding, or by "encoding" if set. Text mode is
[2020-03-05T15:09:59.193Z] triggered by setting any of text, encoding, errors or universal_newlines.
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] The other arguments are the same as for the Popen constructor.
[2020-03-05T15:09:59.193Z] """
[2020-03-05T15:09:59.193Z] if input is not None:
[2020-03-05T15:09:59.193Z] if kwargs.get('stdin') is not None:
[2020-03-05T15:09:59.193Z] raise ValueError('stdin and input arguments may not both be used.')
[2020-03-05T15:09:59.193Z] kwargs['stdin'] = PIPE
[2020-03-05T15:09:59.193Z]
[2020-03-05T15:09:59.193Z] if capture_output:
[2020-03-05T15:09:59.193Z] if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
[2020-03-05T15:09:59.193Z] raise ValueError('stdout and stderr arguments may not be used '
[2020-03-05T15:09:59.193Z] 'with capture_output.')
[2020-03-05T15:09:59.194Z] kwargs['stdout'] = PIPE
[2020-03-05T15:09:59.194Z] kwargs['stderr'] = PIPE
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] with Popen(*popenargs, **kwargs) as process:
[2020-03-05T15:09:59.194Z] try:
[2020-03-05T15:09:59.194Z] stdout, stderr = process.communicate(input, timeout=timeout)
[2020-03-05T15:09:59.194Z] except TimeoutExpired as exc:
[2020-03-05T15:09:59.194Z] process.kill()
[2020-03-05T15:09:59.194Z] if _mswindows:
[2020-03-05T15:09:59.194Z] # Windows accumulates the output in a single blocking
[2020-03-05T15:09:59.194Z] # read() call run on child threads, with the timeout
[2020-03-05T15:09:59.194Z] # being done in a join() on those threads. communicate()
[2020-03-05T15:09:59.194Z] # _after_ kill() is required to collect that and add it
[2020-03-05T15:09:59.194Z] # to the exception.
[2020-03-05T15:09:59.194Z] exc.stdout, exc.stderr = process.communicate()
[2020-03-05T15:09:59.194Z] else:
[2020-03-05T15:09:59.194Z] # POSIX _communicate already populated the output so
[2020-03-05T15:09:59.194Z] # far into the TimeoutExpired exception.
[2020-03-05T15:09:59.194Z] process.wait()
[2020-03-05T15:09:59.194Z] raise
[2020-03-05T15:09:59.194Z] except: # Including KeyboardInterrupt, communicate handled that.
[2020-03-05T15:09:59.194Z] process.kill()
[2020-03-05T15:09:59.194Z] # We don't call process.wait() as .__exit__ does that for us.
[2020-03-05T15:09:59.194Z] raise
[2020-03-05T15:09:59.194Z] retcode = process.poll()
[2020-03-05T15:09:59.194Z] if check and retcode:
[2020-03-05T15:09:59.194Z] > raise CalledProcessError(retcode, process.args,
[2020-03-05T15:09:59.194Z] output=stdout, stderr=stderr)
[2020-03-05T15:09:59.194Z] E subprocess.CalledProcessError: Command '['cfn-lint', '--include-checks', 'I', '--include-expiremental', '--configure-rule', 'E3012:strict=false', '--format', 'json', '--', 'test/fixtures/templates/quickstart/nist_high_master.yaml']' returned non-zero exit status 1.
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] /usr/lib/python3.8/subprocess.py:512: CalledProcessError
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] self = <test.integration.test_quickstart_templates_non_strict.TestQuickStartTemplates testMethod=test_templates>
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] def test_templates(self):
[2020-03-05T15:09:59.194Z] """Test Successful JSON Parsing"""
[2020-03-05T15:09:59.194Z] self.maxDiff = None
[2020-03-05T15:09:59.194Z] > self.run_scenarios([
[2020-03-05T15:09:59.194Z] '--include-checks', 'I',
[2020-03-05T15:09:59.194Z] '--include-expiremental',
[2020-03-05T15:09:59.194Z] '--configure-rule', 'E3012:strict=false',
[2020-03-05T15:09:59.194Z] ])
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] test/integration/test_quickstart_templates_non_strict.py:38:
[2020-03-05T15:09:59.194Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2020-03-05T15:09:59.194Z] test/integration/__init__.py:52: in run_scenarios
[2020-03-05T15:09:59.194Z] self.assertEqual(error.returncode, exit_code, 'Expected {} exit code, got {} on {}'.format(
[2020-03-05T15:09:59.194Z] E AssertionError: 1 != 12 : Expected 12 exit code, got 1 on test/fixtures/templates/quickstart/nist_high_master.yaml
[2020-03-05T15:09:59.194Z] ----------------------------- Captured stderr call -----------------------------
[2020-03-05T15:09:59.194Z] Traceback (most recent call last):
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
[2020-03-05T15:09:59.194Z] ws.require(__requires__)
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
[2020-03-05T15:09:59.194Z] needed = self.resolve(parse_requirements(requirements))
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
[2020-03-05T15:09:59.194Z] raise VersionConflict(dist, req).with_context(dependent_req)
[2020-03-05T15:09:59.194Z] pkg_resources.ContextualVersionConflict: (botocore 1.15.3 (/usr/lib/python3.8/site-packages), Requirement.parse('botocore<1.16.0,>=1.15.10'), {'boto3'})
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] During handling of the above exception, another exception occurred:
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] Traceback (most recent call last):
[2020-03-05T15:09:59.194Z] File "/build/python-cfn-lint/src/tmp_install/cfn-lint", line 6, in <module>
[2020-03-05T15:09:59.194Z] from pkg_resources import load_entry_point
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3254, in <module>
[2020-03-05T15:09:59.194Z] def _initialize_master_working_set():
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3237, in _call_aside
[2020-03-05T15:09:59.194Z] f(*args, **kwargs)
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
[2020-03-05T15:09:59.194Z] working_set = WorkingSet._build_master()
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
[2020-03-05T15:09:59.194Z] return cls._build_from_requirements(__requires__)
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
[2020-03-05T15:09:59.194Z] dists = ws.resolve(reqs, Environment())
[2020-03-05T15:09:59.194Z] File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
[2020-03-05T15:09:59.194Z] raise DistributionNotFound(req, requirers)
[2020-03-05T15:09:59.194Z] pkg_resources.DistributionNotFound: The 'botocore<1.16.0,>=1.15.10' distribution was not found and is required by boto3
[2020-03-05T15:09:59.194Z] =============================== warnings summary ===============================
[2020-03-05T15:09:59.194Z] test/unit/rules/functions/test_sub_needed.py:30
[2020-03-05T15:09:59.194Z] /build/python-cfn-lint/src/cfn-python-lint-0.28.3/test/unit/rules/functions/test_sub_needed.py:30: DeprecationWarning: invalid escape sequence \$
[2020-03-05T15:09:59.194Z] {'custom_excludes': '^\${self.+}$'}, 0
[2020-03-05T15:09:59.194Z]
[2020-03-05T15:09:59.194Z] -- Docs: https://docs.pytest.org/en/latest/warnings.html
[2020-03-05T15:09:59.194Z] ================== 5 failed, 461 passed, 1 warning in 23.46s ===================
[2020-03-05T15:09:59.444Z] ==> ERROR: A failure occurred in check().
[2020-03-05T15:09:59.444Z] Aborting...
[2020-03-05T15:10:00.355Z] ==> ERROR: Build failed, check /build/buildpkg/default-x86_64/jenkins/build
[Pipeline] }
[Pipeline] // dir
Post stage
[Pipeline] emailext
[2020-03-05T15:10:00.472Z] Sending email to: artix-build-failures at artixlinux.org
More information about the artix-build-failures
mailing list