From d788408e0ff4d6b57c360822fec1df656d2627d1 Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 12:43:28 -0700 Subject: [PATCH 1/6] pylint max-attributes appears to be ratcheted down recently --- src/aws_encryption_sdk/caches/__init__.py | 1 + src/aws_encryption_sdk/structures.py | 1 + 2 files changed, 2 insertions(+) diff --git a/src/aws_encryption_sdk/caches/__init__.py b/src/aws_encryption_sdk/caches/__init__.py index 3d3189441..9d2afa485 100644 --- a/src/aws_encryption_sdk/caches/__init__.py +++ b/src/aws_encryption_sdk/caches/__init__.py @@ -143,6 +143,7 @@ class CryptoMaterialsCacheEntryHints(object): @attr.s(hash=False) class CryptoMaterialsCacheEntry(object): + # pylint: disable=too-many-instance-attributes """Value and metadata store for cryptographic materials cache entries. :param bytes cache_key: Identifier for entries in cache diff --git a/src/aws_encryption_sdk/structures.py b/src/aws_encryption_sdk/structures.py index 8229d65fb..97e4c1d13 100644 --- a/src/aws_encryption_sdk/structures.py +++ b/src/aws_encryption_sdk/structures.py @@ -20,6 +20,7 @@ @attr.s(hash=True) class MessageHeader(object): + # pylint: disable=too-many-instance-attributes """Deserialized message header object. :param version: Message format version, per spec From ff6d141a05bd0969bf99f58b0943adc064b72237 Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 12:47:07 -0700 Subject: [PATCH 2/6] remove unnecessary comprehensions --- setup.py | 2 +- src/aws_encryption_sdk/streaming_client.py | 2 +- test/unit/test_identifiers.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 1afa9d869..6ceb2d8fb 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ def get_version(): def get_requirements(): """Reads the requirements file.""" requirements = read("requirements.txt") - return [r for r in requirements.strip().splitlines()] + return list(requirements.strip().splitlines()) setup( diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index 90dc9d25c..b599637ab 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -283,7 +283,7 @@ def readline(self): def readlines(self): """Reads all chunks of output, outputting a list as defined in the IOBase specification.""" - return [line for line in self] + return list(self) def __iter__(self): """Make this class and subclasses identify as iterators.""" diff --git a/test/unit/test_identifiers.py b/test/unit/test_identifiers.py index 8f13b1314..3fd421b65 100644 --- a/test/unit/test_identifiers.py +++ b/test/unit/test_identifiers.py @@ -41,7 +41,7 @@ def test_algorithm_safe_to_cache(check_algorithm, safe_to_cache): assert not check_algorithm.safe_to_cache() -@pytest.mark.parametrize("suite", [suite for suite in EncryptionSuite]) +@pytest.mark.parametrize("suite", list(EncryptionSuite)) def test_encryption_suite_invalid_kdf(suite): mock_kdf = Mock() mock_kdf.input_length.return_value = 1 From 8fe12cc74acc3012188bb450fa61718756fd60fb Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 12:49:11 -0700 Subject: [PATCH 3/6] whitelist some pylint use-constant-test false-positives --- src/aws_encryption_sdk/streaming_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index b599637ab..504f68977 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -235,7 +235,7 @@ def read(self, b=-1): if not self._message_prepped: self._prep_message() - if self.closed: + if self.closed: # dynamic values confuse pylint: disable=using-constant-test raise ValueError("I/O operation on closed file") if b >= 0: @@ -292,7 +292,7 @@ def __iter__(self): def next(self): """Provides hook for Python2 iterator functionality.""" _LOGGER.debug("reading next") - if self.closed: + if self.closed: # dynamic values confuse pylint: disable=using-constant-test _LOGGER.debug("stream is closed") raise StopIteration() From 03baa4903c772ee42514f400de92e66caea7a9f5 Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 13:16:31 -0700 Subject: [PATCH 4/6] reorganize backwards compatibility test requirements definitions attrs==19.2.0 removed a deprecated feature that aws-encryption-sdk==1.3.3 depended on. This reorganization lets us define specific requirements bounds for old versions of aws-encryption-sdk that will probably continue to be necessary as these old versions age. --- test_vector_handlers/compatibility-requirements/1.3.3 | 2 ++ test_vector_handlers/compatibility-requirements/1.3.max | 1 + test_vector_handlers/compatibility-requirements/latest | 1 + test_vector_handlers/tox.ini | 6 +++--- 4 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 test_vector_handlers/compatibility-requirements/1.3.3 create mode 100644 test_vector_handlers/compatibility-requirements/1.3.max create mode 100644 test_vector_handlers/compatibility-requirements/latest diff --git a/test_vector_handlers/compatibility-requirements/1.3.3 b/test_vector_handlers/compatibility-requirements/1.3.3 new file mode 100644 index 000000000..fee9d68da --- /dev/null +++ b/test_vector_handlers/compatibility-requirements/1.3.3 @@ -0,0 +1,2 @@ +aws-encryption-sdk==1.3.3 +attrs<19.2.0 \ No newline at end of file diff --git a/test_vector_handlers/compatibility-requirements/1.3.max b/test_vector_handlers/compatibility-requirements/1.3.max new file mode 100644 index 000000000..9aaaddb16 --- /dev/null +++ b/test_vector_handlers/compatibility-requirements/1.3.max @@ -0,0 +1 @@ +aws-encryption-sdk >= 1.3.3, < 1.4.0 \ No newline at end of file diff --git a/test_vector_handlers/compatibility-requirements/latest b/test_vector_handlers/compatibility-requirements/latest new file mode 100644 index 000000000..c4e1dae6b --- /dev/null +++ b/test_vector_handlers/compatibility-requirements/latest @@ -0,0 +1 @@ +aws-encryption-sdk \ No newline at end of file diff --git a/test_vector_handlers/tox.ini b/test_vector_handlers/tox.ini index 748ba4881..fc2c8d5a7 100644 --- a/test_vector_handlers/tox.ini +++ b/test_vector_handlers/tox.ini @@ -46,9 +46,9 @@ passenv = sitepackages = False deps = -rtest/requirements.txt - awses_1.3.3: aws-encryption-sdk==1.3.3 - awses_1.3.max: aws-encryption-sdk >= 1.3.3, < 1.4.0 - awses_latest: aws-encryption-sdk + awses_1.3.3: -rcompatibility-requirements/1.3.3 + awses_1.3.max: -rcompatibility-requirements/1.3.max + awses_latest: -rcompatibility-requirements/latest commands = {[testenv:base-command]commands} [testenv:full-encrypt] From de55fd8e896423a50af22c4a7fe5f0ade8c9a777 Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 13:35:07 -0700 Subject: [PATCH 5/6] remove unnecessary comprehensions --- decrypt_oracle/setup.py | 2 +- test_vector_handlers/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/decrypt_oracle/setup.py b/decrypt_oracle/setup.py index e5d9ec84f..e8dfb2aac 100644 --- a/decrypt_oracle/setup.py +++ b/decrypt_oracle/setup.py @@ -22,7 +22,7 @@ def get_version(): def get_requirements(): """Read the requirements file.""" requirements = read("requirements-actual.txt") - return [r for r in requirements.strip().splitlines()] + return list(requirements.strip().splitlines()) setup( diff --git a/test_vector_handlers/setup.py b/test_vector_handlers/setup.py index f191b3869..bd16c76c8 100644 --- a/test_vector_handlers/setup.py +++ b/test_vector_handlers/setup.py @@ -22,7 +22,7 @@ def get_version(): def get_requirements(): """Read the requirements file.""" requirements = read("requirements.txt") - return [r for r in requirements.strip().splitlines()] + return list(requirements.strip().splitlines()) setup( From 30b8c8aed535e865a5b6ea2c8fc15288d7e32ab4 Mon Sep 17 00:00:00 2001 From: mattsb42-aws Date: Thu, 3 Oct 2019 14:51:35 -0700 Subject: [PATCH 6/6] add newlines to the end of all requirements files --- doc/requirements.txt | 2 +- requirements.txt | 2 +- test/requirements.txt | 2 +- test_vector_handlers/compatibility-requirements/1.3.3 | 2 +- test_vector_handlers/compatibility-requirements/1.3.max | 2 +- test_vector_handlers/compatibility-requirements/latest | 2 +- test_vector_handlers/requirements.txt | 2 +- test_vector_handlers/test/requirements.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 29e319455..9a54370d6 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,2 +1,2 @@ sphinx>=1.3.0 -sphinx_rtd_theme \ No newline at end of file +sphinx_rtd_theme diff --git a/requirements.txt b/requirements.txt index f04114485..7f8f0d532 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ boto3>=1.4.4 cryptography>=1.8.1 attrs>=17.4.0 -wrapt>=1.10.11 \ No newline at end of file +wrapt>=1.10.11 diff --git a/test/requirements.txt b/test/requirements.txt index d1b878ce2..152b5dbf4 100644 --- a/test/requirements.txt +++ b/test/requirements.txt @@ -1,4 +1,4 @@ mock pytest>=3.3.1 pytest-cov -pytest-mock \ No newline at end of file +pytest-mock diff --git a/test_vector_handlers/compatibility-requirements/1.3.3 b/test_vector_handlers/compatibility-requirements/1.3.3 index fee9d68da..7aa43f6be 100644 --- a/test_vector_handlers/compatibility-requirements/1.3.3 +++ b/test_vector_handlers/compatibility-requirements/1.3.3 @@ -1,2 +1,2 @@ aws-encryption-sdk==1.3.3 -attrs<19.2.0 \ No newline at end of file +attrs<19.2.0 diff --git a/test_vector_handlers/compatibility-requirements/1.3.max b/test_vector_handlers/compatibility-requirements/1.3.max index 9aaaddb16..72c946bf5 100644 --- a/test_vector_handlers/compatibility-requirements/1.3.max +++ b/test_vector_handlers/compatibility-requirements/1.3.max @@ -1 +1 @@ -aws-encryption-sdk >= 1.3.3, < 1.4.0 \ No newline at end of file +aws-encryption-sdk >= 1.3.3, < 1.4.0 diff --git a/test_vector_handlers/compatibility-requirements/latest b/test_vector_handlers/compatibility-requirements/latest index c4e1dae6b..d0197da7f 100644 --- a/test_vector_handlers/compatibility-requirements/latest +++ b/test_vector_handlers/compatibility-requirements/latest @@ -1 +1 @@ -aws-encryption-sdk \ No newline at end of file +aws-encryption-sdk diff --git a/test_vector_handlers/requirements.txt b/test_vector_handlers/requirements.txt index 21e4de2f0..9de0ee532 100644 --- a/test_vector_handlers/requirements.txt +++ b/test_vector_handlers/requirements.txt @@ -1,3 +1,3 @@ attrs >= 17.4.0 aws-encryption-sdk -six \ No newline at end of file +six diff --git a/test_vector_handlers/test/requirements.txt b/test_vector_handlers/test/requirements.txt index d1b878ce2..152b5dbf4 100644 --- a/test_vector_handlers/test/requirements.txt +++ b/test_vector_handlers/test/requirements.txt @@ -1,4 +1,4 @@ mock pytest>=3.3.1 pytest-cov -pytest-mock \ No newline at end of file +pytest-mock