From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C961A138334 for ; Tue, 27 Aug 2019 21:38:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 19BC0E0857; Tue, 27 Aug 2019 21:38:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 480D2E0857 for ; Tue, 27 Aug 2019 21:38:46 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 123DC34A3FE for ; Tue, 27 Aug 2019 21:38:45 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 88F516E8 for ; Tue, 27 Aug 2019 21:38:43 +0000 (UTC) From: "Patrick McLean" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Patrick McLean" Message-ID: <1566941908.2c7bdc17799ac9bc164ff4ec92f7105f3a9d6cad.chutzpah@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/salt/files/, app-admin/salt/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-admin/salt/files/salt-2019.2.0-newer-deps.patch app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch app-admin/salt/salt-2019.2.0-r1.ebuild app-admin/salt/salt-2019.2.0.ebuild X-VCS-Directories: app-admin/salt/files/ app-admin/salt/ X-VCS-Committer: chutzpah X-VCS-Committer-Name: Patrick McLean X-VCS-Revision: 2c7bdc17799ac9bc164ff4ec92f7105f3a9d6cad X-VCS-Branch: master Date: Tue, 27 Aug 2019 21:38:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a3b53b27-4e94-49d3-b21a-e02ef3bde51d X-Archives-Hash: cae95a5150c00ed136df5770dd5cb957 commit: 2c7bdc17799ac9bc164ff4ec92f7105f3a9d6cad Author: Patrick McLean sony com> AuthorDate: Tue Aug 27 21:37:18 2019 +0000 Commit: Patrick McLean gentoo org> CommitDate: Tue Aug 27 21:38:28 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c7bdc17 app-admin/salt: Revbump, update to work with newer deps Newer pyyaml and jsonschema need patches to pass tests properly. Copyright: Sony Interactive Entertainment Inc. Package-Manager: Portage-2.3.73, Repoman-2.3.17 Signed-off-by: Patrick McLean gentoo.org> .../salt/files/salt-2019.2.0-newer-deps.patch | 210 +++++++++++++++++++++ ...salt-2019.2.0-skip-tests-that-oom-machine.patch | 20 ++ ...alt-2019.2.0.ebuild => salt-2019.2.0-r1.ebuild} | 8 +- 3 files changed, 235 insertions(+), 3 deletions(-) diff --git a/app-admin/salt/files/salt-2019.2.0-newer-deps.patch b/app-admin/salt/files/salt-2019.2.0-newer-deps.patch new file mode 100644 index 00000000000..bdf95e21089 --- /dev/null +++ b/app-admin/salt/files/salt-2019.2.0-newer-deps.patch @@ -0,0 +1,210 @@ +diff --git a/salt/modules/dockercompose.py b/salt/modules/dockercompose.py +index 61e937536c..0f37e0d43a 100644 +--- a/salt/modules/dockercompose.py ++++ b/salt/modules/dockercompose.py +@@ -241,7 +241,7 @@ def __load_docker_compose(path): + None, None) + try: + with salt.utils.files.fopen(file_path, 'r') as fl: +- loaded = yaml.load(fl) ++ loaded = yaml.safe_load(fl) + except EnvironmentError: + return None, __standardize_result(False, + 'Could not read {0}'.format(file_path), +@@ -371,7 +371,7 @@ def __load_compose_definitions(path, definition): + None, None) + else: + try: +- loaded_definition = yaml.load(definition) ++ loaded_definition = yaml.safe_load(definition) + except yaml.YAMLError as yerr: + msg = 'Could not parse {0} {1}'.format(definition, yerr) + return None, None, __standardize_result(False, msg, +diff --git a/salt/serializers/yaml.py b/salt/serializers/yaml.py +index c95b40e48f..2154e5dcab 100644 +--- a/salt/serializers/yaml.py ++++ b/salt/serializers/yaml.py +@@ -72,6 +72,7 @@ def serialize(obj, **options): + ''' + + options.setdefault('Dumper', Dumper) ++ options.setdefault('default_flow_style', None) + try: + response = yaml.dump(obj, **options) + if response.endswith('\n...\n'): +diff --git a/salt/serializers/yamlex.py b/salt/serializers/yamlex.py +index 2e4ba6fb2b..e42634f580 100644 +--- a/salt/serializers/yamlex.py ++++ b/salt/serializers/yamlex.py +@@ -182,6 +182,7 @@ def serialize(obj, **options): + ''' + + options.setdefault('Dumper', Dumper) ++ options.setdefault('default_flow_style', None) + try: + response = yaml.dump(obj, **options) + if response.endswith('\n...\n'): +diff --git a/salt/utils/yamldumper.py b/salt/utils/yamldumper.py +index 9892c87d23..3692ea324a 100644 +--- a/salt/utils/yamldumper.py ++++ b/salt/utils/yamldumper.py +@@ -115,6 +115,7 @@ def dump(data, stream=None, **kwargs): + ''' + if 'allow_unicode' not in kwargs: + kwargs['allow_unicode'] = True ++ kwargs.setdefault('default_flow_style', None) + return yaml.dump(data, stream, **kwargs) + + +@@ -126,4 +127,5 @@ def safe_dump(data, stream=None, **kwargs): + ''' + if 'allow_unicode' not in kwargs: + kwargs['allow_unicode'] = True ++ kwargs.setdefault('default_flow_style', None) + return yaml.dump(data, stream, Dumper=SafeOrderedDumper, **kwargs) +diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py +index 3042a77991..d4057a4d03 100644 +--- a/tests/integration/utils/test_win_runas.py ++++ b/tests/integration/utils/test_win_runas.py +@@ -539,7 +539,7 @@ class RunAsTest(ModuleCase): + win32serviceutil.StartService('test service') + wait_for_service('test service') + with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp: +- ret = yaml.load(fp) ++ ret = yaml.safe_load(fp) + assert ret['retcode'] == 1, ret + + @with_system_user('test-runas', on_existing='delete', delete=True, +@@ -560,7 +560,7 @@ class RunAsTest(ModuleCase): + win32serviceutil.StartService('test service') + wait_for_service('test service') + with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp: +- ret = yaml.load(fp) ++ ret = yaml.safe_load(fp) + assert ret['retcode'] == 1, ret + + @with_system_user('test-runas-admin', on_existing='delete', delete=True, +@@ -581,7 +581,7 @@ class RunAsTest(ModuleCase): + win32serviceutil.StartService('test service') + wait_for_service('test service') + with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp: +- ret = yaml.load(fp) ++ ret = yaml.safe_load(fp) + assert ret['retcode'] == 0, ret + + @with_system_user('test-runas-admin', on_existing='delete', delete=True, +@@ -602,7 +602,7 @@ class RunAsTest(ModuleCase): + win32serviceutil.StartService('test service') + wait_for_service('test service') + with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp: +- ret = yaml.load(fp) ++ ret = yaml.safe_load(fp) + assert ret['retcode'] == 0, ret + + def test_runas_service_system_user(self): +@@ -621,5 +621,5 @@ class RunAsTest(ModuleCase): + win32serviceutil.StartService('test service') + wait_for_service('test service') + with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp: +- ret = yaml.load(fp) ++ ret = yaml.safe_load(fp) + assert ret['retcode'] == 0, ret +diff --git a/tests/unit/serializers/test_serializers.py b/tests/unit/serializers/test_serializers.py +index 3bf42b67d7..ea42d617d7 100644 +--- a/tests/unit/serializers/test_serializers.py ++++ b/tests/unit/serializers/test_serializers.py +@@ -68,9 +68,24 @@ class TestSerializers(TestCase): + serialized = yamlex.serialize(data) + assert serialized == '{foo: bar}', serialized + ++ serialized = yamlex.serialize(data, default_flow_style=False) ++ assert serialized == 'foo: bar', serialized ++ + deserialized = yamlex.deserialize(serialized) + assert deserialized == data, deserialized + ++ serialized = yaml.serialize(data) ++ assert serialized == '{foo: bar}', serialized ++ ++ deserialized = yaml.deserialize(serialized) ++ assert deserialized == data, deserialized ++ ++ serialized = yaml.serialize(data, default_flow_style=False) ++ assert serialized == 'foo: bar', serialized ++ ++ deserialized = yaml.deserialize(serialized) ++ assert deserialized == data, deserialized ++ + @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls') + def test_serialize_complex_sls(self): + data = OrderedDict([ +@@ -84,6 +99,12 @@ class TestSerializers(TestCase): + deserialized = yamlex.deserialize(serialized) + assert deserialized == data, deserialized + ++ serialized = yaml.serialize(data) ++ assert serialized == '{bar: 2, baz: true, foo: 1}', serialized ++ ++ deserialized = yaml.deserialize(serialized) ++ assert deserialized == data, deserialized ++ + @skipIf(not yaml.available, SKIP_MESSAGE % 'yaml') + @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls') + def test_compare_sls_vs_yaml(self): +diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py +index 677cd0778b..5c2f1fd8fd 100644 +--- a/tests/unit/utils/test_schema.py ++++ b/tests/unit/utils/test_schema.py +@@ -5,6 +5,7 @@ + + # Import python libs + from __future__ import absolute_import, print_function, unicode_literals ++import sys + import copy + + # Import Salt Testing Libs +@@ -506,7 +507,7 @@ class ConfigTestCase(TestCase): + {'personal_access_token': 'foo'}, + Requirements.serialize() + ) +- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message) ++ self.assertIn("'ssh_key_file' is a required property", excinfo.exception.message) + + def test_boolean_config(self): + item = schema.BooleanItem(title='Hungry', description='Are you hungry?') +@@ -1730,7 +1731,10 @@ class ConfigTestCase(TestCase): + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({'item': {'sides': '4', 'color': 'blue'}}, TestConf.serialize()) +- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message) ++ if sys.hexversion >= 0x03000000: ++ self.assertIn("'4' is not of type 'boolean'", excinfo.exception.message) ++ else: ++ self.assertIn("u'4' is not of type u'boolean'", excinfo.exception.message) + + class TestConf(schema.Schema): + item = schema.DictItem( +@@ -1833,7 +1837,10 @@ class ConfigTestCase(TestCase): + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({'item': ['maybe']}, TestConf.serialize()) +- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message) ++ if sys.hexversion >= 0x03000000: ++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message) ++ else: ++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message) + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({'item': 2}, TestConf.serialize()) +@@ -1885,7 +1892,10 @@ class ConfigTestCase(TestCase): + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({'item': ['maybe']}, TestConf.serialize()) +- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message) ++ if sys.hexversion >= 0x03000000: ++ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message) ++ else: ++ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message) + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({'item': 2}, TestConf.serialize()) diff --git a/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch b/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch new file mode 100644 index 00000000000..d0172d73955 --- /dev/null +++ b/app-admin/salt/files/salt-2019.2.0-skip-tests-that-oom-machine.patch @@ -0,0 +1,20 @@ +diff --git a/tests/unit/modules/test_boto_apigateway.py b/tests/unit/modules/test_boto_apigateway.py +index be26b3f093..ca971556d5 100644 +--- a/tests/unit/modules/test_boto_apigateway.py ++++ b/tests/unit/modules/test_boto_apigateway.py +@@ -169,6 +169,7 @@ def _has_required_botocore(): + return True + + ++@skipIf(True, "Causes machines to OOM") + class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin): + conn = None + +@@ -207,6 +208,7 @@ class BotoApiGatewayTestCaseBase(TestCase, LoaderModuleMockMixin): + self.addCleanup(delattr, self, 'conn') + + ++@skipIf(True, "Causes machines to OOM") + class BotoApiGatewayTestCaseMixin(object): + def _diff_list_dicts(self, listdict1, listdict2, sortkey): + ''' diff --git a/app-admin/salt/salt-2019.2.0.ebuild b/app-admin/salt/salt-2019.2.0-r1.ebuild similarity index 94% rename from app-admin/salt/salt-2019.2.0.ebuild rename to app-admin/salt/salt-2019.2.0-r1.ebuild index 16433de1b07..eb02c39bf6f 100644 --- a/app-admin/salt/salt-2019.2.0.ebuild +++ b/app-admin/salt/salt-2019.2.0-r1.ebuild @@ -92,9 +92,11 @@ REQUIRED_USE="|| ( raet zeromq )" RESTRICT="x86? ( test )" PATCHES=( - "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch" - "${FILESDIR}/${PN}-2019.2.0-tests.patch" - "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch" + "${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch" + "${FILESDIR}/salt-2019.2.0-tests.patch" + "${FILESDIR}/salt-2018.3.2-skip-zeromq-test-that-hangs.patch" + "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-2019.2.0-newer-deps.patch" ) python_prepare() {