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__':