This is an automated email from the ASF dual-hosted git repository.

altay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 500c570  Skip DoFn params test in Python 2 on Windows
     new 11215fc  Merge pull request #9081 from davidcavazos/pardo_test_fix
500c570 is described below

commit 500c570ef682bcc1d2875d34bad2372bd63b8461
Author: David Cavazos <[email protected]>
AuthorDate: Tue Jul 16 12:17:41 2019 -0700

    Skip DoFn params test in Python 2 on Windows
---
 .../snippets/transforms/element_wise/pardo.py      |  4 +-
 .../snippets/transforms/element_wise/pardo_test.py | 57 ++++++++++++----------
 2 files changed, 33 insertions(+), 28 deletions(-)

diff --git 
a/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo.py 
b/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo.py
index d8ce5bf..e3cc8a8 100644
--- a/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo.py
+++ b/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo.py
@@ -47,10 +47,10 @@ def pardo_dofn(test=None):
 
 
 def pardo_dofn_params(test=None):
+  # pylint: disable=line-too-long
   # [START pardo_dofn_params]
   import apache_beam as beam
 
-  # pylint: disable=line-too-long
   class AnalyzeElement(beam.DoFn):
     def process(self, elem, timestamp=beam.DoFn.TimestampParam, 
window=beam.DoFn.WindowParam):
       yield '\n'.join([
@@ -66,7 +66,6 @@ def pardo_dofn_params(test=None):
           'window.end -> {} ({})'.format(window.end, 
window.end.to_utc_datetime()),
           'window.max_timestamp() -> {} ({})'.format(window.max_timestamp(), 
window.max_timestamp().to_utc_datetime()),
       ])
-  # pylint: enable=line-too-long
 
   with beam.Pipeline() as pipeline:
     dofn_params = (
@@ -79,5 +78,6 @@ def pardo_dofn_params(test=None):
         | beam.Map(print)
     )
     # [END pardo_dofn_params]
+    # pylint: enable=line-too-long
     if test:
       test(dofn_params)
diff --git 
a/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo_test.py
 
b/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo_test.py
index 9cb617e..3286f35 100644
--- 
a/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo_test.py
+++ 
b/sdks/python/apache_beam/examples/snippets/transforms/element_wise/pardo_test.py
@@ -19,6 +19,8 @@
 from __future__ import absolute_import
 from __future__ import print_function
 
+import platform
+import sys
 import unittest
 
 import mock
@@ -29,27 +31,23 @@ from apache_beam.testing.util import assert_that
 from apache_beam.testing.util import equal_to
 
 
[email protected]('apache_beam.Pipeline', TestPipeline)
-# pylint: disable=line-too-long
[email protected]('apache_beam.examples.snippets.transforms.element_wise.pardo.print',
 lambda elem: elem)
-# pylint: enable=line-too-long
-class ParDoTest(unittest.TestCase):
-  def __init__(self, methodName):
-    super(ParDoTest, self).__init__(methodName)
-    # [START plants]
-    plants = [
-        '🍓Strawberry',
-        '🥕Carrot',
-        '🍆Eggplant',
-        '🍅Tomato',
-        '🥔Potato',
-    ]
-    # [END plants]
-    self.plants_test = lambda actual: assert_that(actual, equal_to(plants))
+def check_plants(actual):
+  # [START plants]
+  plants = [
+      '🍓Strawberry',
+      '🥕Carrot',
+      '🍆Eggplant',
+      '🍅Tomato',
+      '🥔Potato',
+  ]
+  # [END plants]
+  assert_that(actual, equal_to(plants))
+
 
-    # pylint: disable=line-too-long
-    # [START dofn_params]
-    dofn_params = '''\
+def check_dofn_params(actual):
+  # pylint: disable=line-too-long
+  # [START dofn_params]
+  dofn_params = '''\
 # timestamp
 type(timestamp) -> <class 'apache_beam.utils.timestamp.Timestamp'>
 timestamp.micros -> 1584675660000000
@@ -61,16 +59,23 @@ type(window) -> <class 
'apache_beam.transforms.window.IntervalWindow'>
 window.start -> Timestamp(1584675660) (2020-03-20 03:41:00)
 window.end -> Timestamp(1584675690) (2020-03-20 03:41:30)
 window.max_timestamp() -> Timestamp(1584675689.999999) (2020-03-20 
03:41:29.999999)'''
-    # [END dofn_params]
-    # pylint: enable=line-too-long
-    self.dofn_params_test = lambda actual: \
-        assert_that(actual, equal_to([dofn_params]))
+  # [END dofn_params]
+  # pylint: enable=line-too-long
+  assert_that(actual, equal_to([dofn_params]))
 
+
[email protected]('apache_beam.Pipeline', TestPipeline)
+# pylint: disable=line-too-long
[email protected]('apache_beam.examples.snippets.transforms.element_wise.pardo.print',
 lambda elem: elem)
+# pylint: enable=line-too-long
+class ParDoTest(unittest.TestCase):
   def test_pardo_dofn(self):
-    pardo_dofn(self.plants_test)
+    pardo_dofn(check_plants)
 
+  @unittest.skipIf(sys.version_info[0] < 3 and platform.system() == 'Windows',
+                   'Python 2 on Windows uses `long` rather than `int`')
   def test_pardo_dofn_params(self):
-    pardo_dofn_params(self.dofn_params_test)
+    pardo_dofn_params(check_dofn_params)
 
 
 if __name__ == '__main__':

Reply via email to