-
Notifications
You must be signed in to change notification settings - Fork 25
Closed
Labels
Description
There are two test failures with Python 3.10. With Python 3.9 everything seems fine. Could you have a look?
================================================================================== FAILURES ==================================================================================
_________________________________________________________________________________ test_repr __________________________________________________________________________________
def test_repr():
> assert repr(R(123, R11(y='abc'))) == epy.dedent("""
R(
x=123,
y=R11(
x=None,
y='abc',
z=None,
),
)
""")
E assert "R(x=123, y=R...bc', z=None))" == 'R(\n x=12...e,\n ),\n)'
E + R(x=123, y=R11(x=None, y='abc', z=None))
E - R(
E - x=123,
E - y=R11(
E - x=None,
E - y='abc',
E - z=None,...
E
E ...Full output truncated (3 lines hidden), use '-vv' to show
etils/edc/dataclass_utils_test.py:108: AssertionError
_____________________________________________________________________________ test_resource_path _____________________________________________________________________________
def test_resource_path():
path = epath.resource_utils.ResourcePath(_make_zip_file())
assert isinstance(path, os.PathLike)
assert path.joinpath('b/c.txt').read_text() == 'content of c'
sub_dirs = list(path.joinpath('b').iterdir())
assert len(sub_dirs) == 3
for p in sub_dirs: # Childs should be `ResourcePath` instances
assert isinstance(p, epath.resource_utils.ResourcePath)
# Forwarded to `Path` keep the resource.
path = epath.Path(path)
assert isinstance(path, epath.resource_utils.ResourcePath)
> assert path.joinpath() == path
E AssertionError: assert ResourcePath('alpharep.zip', '') == ResourcePath('alpharep.zip', '')
E + where ResourcePath('alpharep.zip', '') = <bound method Path.joinpath of ResourcePath('alpharep.zip', '')>()
E + where <bound method Path.joinpath of ResourcePath('alpharep.zip', '')> = ResourcePath('alpharep.zip', '').joinpath
For test_repr
, apparently custom __repr__
is not applied as __qualname__
is changed in Python 3.10.
For test_resource_path
, joinpath()
returns a new object for Python >= 3.10 as that function is not overridden.
I noticed those failures when I'm creating a unofficial package python-etils for Arch Linux as a new dependency for the latest python-tensorflow-datasets.
Environment: Arch Linux x86_64, Python 3.10.4