[ 
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)

Reply via email to