[ https://issues.apache.org/jira/browse/BEAM-6985?focusedWorklogId=239530&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-239530 ]
ASF GitHub Bot logged work on BEAM-6985: ---------------------------------------- Author: ASF GitHub Bot Created on: 09/May/19 00:22 Start Date: 09/May/19 00:22 Worklog Time Spent: 10m Work Description: tvalentyn commented on pull request #8453: [BEAM-6985] TypeHints Py3 Error: Native type compatibility tests fail on Python 3.7+ Updates URL: https://github.com/apache/beam/pull/8453#discussion_r282301745 ########## File path: sdks/python/apache_beam/typehints/native_type_compatibility_test.py ########## @@ -103,6 +98,64 @@ def test_convert_to_beam_types(self): native_type_compatibility.convert_to_beam_types(typing_types), beam_types) + def test_is_sub_class(self): + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Dict, + derived=typing.Dict[bytes, int])) + self.assertFalse(native_type_compatibility._safe_issubclass( + parent=typing.List, + derived=typing.Dict[bytes, int])) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.List, + derived=typing.List[bytes])) + self.assertFalse(native_type_compatibility._safe_issubclass( + parent=typing.List, + derived=typing.Dict[bytes, int])) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Set, + derived=typing.Set[int])) + self.assertFalse(native_type_compatibility._safe_issubclass( + parent=typing.List, + derived=typing.Set[float])) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Tuple, + derived=typing.Tuple[int])) + self.assertFalse(native_type_compatibility._safe_issubclass( + parent=typing.List, + derived=typing.Tuple[bytes])) + + @unittest.skipIf(sys.version_info >= (2, 7, 0), + 'Order dosent matter in python 3') + def test_is_sub_class_order(self): + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Dict[bytes, int], + derived=typing.Dict)) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.List[bytes], + derived=typing.List)) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Set[int], + derived=typing.Set)) + self.assertTrue(native_type_compatibility._safe_issubclass( + parent=typing.Tuple[int], + derived=typing.Tuple)) + + @unittest.skipIf(sys.version_info.major != '3', Review comment: It is discouraged to compare to exact "3" version, as one day there may be Python 4, see also: https://docs.python.org/3/howto/pyporting.html#use-feature-detection-instead-of-version-detection ```if sys.version_info.major < 3 will be better``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 239530) Time Spent: 3h 10m (was: 3h) > TypeHints Py3 Error: Native type compatibility tests fail on Python 3.7+ > ------------------------------------------------------------------------ > > Key: BEAM-6985 > URL: https://issues.apache.org/jira/browse/BEAM-6985 > Project: Beam > Issue Type: Sub-task > Components: sdk-py-core > Reporter: Robbe > Assignee: niklas Hansson > Priority: Major > Time Spent: 3h 10m > Remaining Estimate: 0h > > The following tests are failing: > * test_convert_nested_to_beam_type > (apache_beam.typehints.native_type_compatibility_test.NativeTypeCompatibilityTest) > > * test_convert_to_beam_type > (apache_beam.typehints.native_type_compatibility_test.NativeTypeCompatibilityTest) > > * test_convert_to_beam_types > (apache_beam.typehints.native_type_compatibility_test.NativeTypeCompatibilityTest) > With similar errors, where `typing.<Type> != <Type>`. eg: > {noformat} > FAIL: test_convert_to_beam_type > (apache_beam.typehints.native_type_compatibility_test.NativeTypeCompatibilityTest) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/native_type_compatibility_test.py", > line 79, in test_convert_to_beam_type > beam_type, description) > AssertionError: typing.Dict[bytes, int] != Dict[bytes, int] : simple dict > {noformat} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)