[
https://issues.apache.org/jira/browse/BEAM-5621?focusedWorklogId=152590&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-152590
]
ASF GitHub Bot logged work on BEAM-5621:
----------------------------------------
Author: ASF GitHub Bot
Created on: 09/Oct/18 08:36
Start Date: 09/Oct/18 08:36
Worklog Time Spent: 10m
Work Description: Juta commented on a change in pull request #6602:
[BEAM-5621] Fix unorderable types in python 3
URL: https://github.com/apache/beam/pull/6602#discussion_r223605699
##########
File path: sdks/python/apache_beam/testing/util.py
##########
@@ -112,8 +112,8 @@ def equal_to(expected):
expected = list(expected)
def _equal(actual):
- sorted_expected = sorted(expected)
- sorted_actual = sorted(actual)
+ sorted_expected = sorted(expected, key=str)
Review comment:
Yes the test fails because integers and strings happen to be inside the same
collection, which is being sorted. In python 2 sorted will sort different types
such as strings and int together while in python 3 this gives a TypeError.
Using the `key=str` as an argument to `sorted` does not solve the problem
however because some input fails when using the `str` function. I am not sure
what would be a good solution to this?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 152590)
Time Spent: 50m (was: 40m)
> Several tests fail on Python 3 with TypeError: unorderable types: str() <
> int()
> -------------------------------------------------------------------------------
>
> Key: BEAM-5621
> URL: https://issues.apache.org/jira/browse/BEAM-5621
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-py-core
> Reporter: Valentyn Tymofieiev
> Assignee: Juta Staes
> Priority: Major
> Fix For: Not applicable
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> ======================================================================
> ERROR: test_remove_duplicates
> (apache_beam.transforms.ptransform_test.PTransformTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/usr/local/google/home/valentyn/projects/beam/clean_head/beam/sdks/python/apache_beam/runners/common.py",
> line 677, in process
> self.do_fn_invoker.invoke_process(windowed_value)
> File
> "/usr/local/google/home/valentyn/projects/beam/clean_head/beam/sdks/python/apache_beam/runners/common.py",
> line 414, in invoke_process
> windowed_value, self.process_method(windowed_value.value))
> File
> "/usr/local/google/home/valentyn/projects/beam/clean_head/beam/sdks/python/apache_beam/transforms/core.py",
> line 1068, in <lambda>
> wrapper = lambda x: [fn(x)]
> File
> "/usr/local/google/home/valentyn/projects/beam/clean_head/beam/sdks/python/apache_beam/testing/util.py",
> line 115, in _equal
> sorted_expected = sorted(expected)
> TypeError: unorderable types: str() < int()
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)