Your message dated Mon, 17 Jan 2022 04:49:49 +0000
with message-id <e1n9jxl-0000wz...@fasolo.debian.org>
and subject line Bug#1001538: fixed in python-hypothesis 6.35.0-1
has caused the Debian Bug report #1001538,
regarding python-hypothesis: test failures with python3.10
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1001538: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001538
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-hypothesis
Version: 5.43.3-1
Severity: serious
Tag: bookworm sid ftbfs
X-Debbugs-CC: debian...@lists.debian.org
User: debian...@lists.debian.org
Usertags: needs-update
User: debian-pyt...@lists.debian.org
Usertags: python3.10
Control: affects -1 src:python3-defaults

Hi Maintainer

As can be seen in autopkgtests [1] and reproducible builds [2], the
tests of python-hypothesis fail when python3.10 is a supported
version.  This currently blocks the migration of python3-defaults to
testing [3].

I've copied what I hope is the relevant part of the log below.

Regards
Graham


[1] https://ci.debian.net/packages/p/python-hypothesis/unstable/amd64/
[2] https://tests.reproducible-builds.org/debian/rb-pkg/python-hypothesis.html
[3] https://qa.debian.org/excuses.php?package=python3-defaults


=================================== FAILURES ===================================
____________________________ test_resolves_NewType _____________________________

    def test_resolves_NewType():
        typ = typing.NewType("T", int)
        nested = typing.NewType("NestedT", typ)
        uni = typing.NewType("UnionT", typing.Optional[int])
>       assert isinstance(from_type(typ).example(), int)

tests/cover/test_lookup.py:448:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:314:
in example
    example_generating_inner_function()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:302:
in example_generating_inner_function
    @settings(
/usr/lib/python3/dist-packages/hypothesis/core.py:441: in
process_arguments_to_given
    search_strategy.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/collections.py:39:
in do_validate
    s.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:638:
in do_validate
    self.mapped_strategy.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/lazy.py:118:
in do_validate
    w.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:638:
in do_validate
    self.mapped_strategy.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/collections.py:39:
in do_validate
    s.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:377:
in validate
    self.do_validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/lazy.py:118:
in do_validate
    w.validate()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:378:
in validate
    self.is_empty
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:125:
in accept
    recur(self)
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:121:
in recur
    mapping[strat] = getattr(strat, calculation)(recur)
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/deferred.py:80:
in calc_is_empty
    return recur(self.wrapped_strategy)
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/deferred.py:43:
in wrapped_strategy
    result = self.__definition()
/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/core.py:1417:
in <lambda>
    lambda thing: deferred(lambda: _from_type(thing)),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

thing = tests.cover.test_lookup.T

    def _from_type(thing: Type[Ex]) -> SearchStrategy[Ex]:
        # TODO: We would like to move this to the top level, but
pending some major
        # refactoring it's hard to do without creating circular imports.
        from hypothesis.strategies._internal import types

        if (
            hasattr(typing, "_TypedDictMeta")
            and type(thing) is typing._TypedDictMeta  # type: ignore
            or hasattr(types.typing_extensions, "_TypedDictMeta")
            and type(thing) is types.typing_extensions._TypedDictMeta
# type: ignore
        ):  # pragma: no cover
            # The __optional_keys__ attribute may or may not be
present, but if there's no
            # way to tell and we just have to assume that everything
is required.
            # See https://github.com/python/cpython/pull/17214 for details.
            optional = getattr(thing, "__optional_keys__", ())
            anns = {k: from_type(v) for k, v in thing.__annotations__.items()}
            return fixed_dictionaries(  # type: ignore
                mapping={k: v for k, v in anns.items() if k not in optional},
                optional={k: v for k, v in anns.items() if k in optional},
            )

        def as_strategy(strat_or_callable, thing, final=True):
            # User-provided strategies need some validation, and
callables even more
            # of it.  We do this in three places, hence the helper function
            if not isinstance(strat_or_callable, SearchStrategy):
                assert callable(strat_or_callable)  # Validated in
register_type_strategy
                try:
                    # On Python 3.6, typing.Hashable is just an alias
for abc.Hashable,
                    # and the resolver function for Type throws an
AttributeError because
                    # Hashable has no __args__.  We discard such
errors when attempting
                    # to resolve subclasses, because the function was
passed a weird arg.
                    strategy = strat_or_callable(thing)
                except Exception:  # pragma: no cover
                    if not final:
                        return NOTHING
                    raise
            else:
                strategy = strat_or_callable
            if not isinstance(strategy, SearchStrategy):
                raise ResolutionFailed(
                    "Error: %s was registered for %r, but returned
non-strategy %r"
                    % (thing, nicerepr(strat_or_callable), strategy)
                )
            if strategy.is_empty:
                raise ResolutionFailed("Error: %r resolved to an empty
strategy" % (thing,))
            return strategy

        if not isinstance(thing, type):
            if types.is_a_new_type(thing):
                # Check if we have an explicitly registered strategy
for this thing,
                # resolve it so, and otherwise resolve as for the base type.
                if thing in types._global_type_lookup:
                    return as_strategy(types._global_type_lookup[thing], thing)
                return from_type(thing.__supertype__)
            # Under Python 3.6, Unions are not instances of `type` - but we
            # still want to resolve them!
            if getattr(thing, "__origin__", None) is typing.Union:
                args = sorted(thing.__args__, key=types.type_sorting_key)
                return one_of([from_type(t) for t in args])
        if not types.is_a_type(thing):
>           raise InvalidArgument("thing=%s must be a type" % (thing,))
E           hypothesis.errors.InvalidArgument:
thing=tests.cover.test_lookup.T must be a type

/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/core.py:1484:
InvalidArgument
__________________________ test_can_register_NewType ___________________________

    def test_can_register_NewType():
        Name = typing.NewType("Name", str)
>       st.register_type_strategy(Name, st.just("Eric Idle"))

tests/cover/test_lookup.py:549:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

custom_type = tests.cover.test_lookup.Name, strategy = just('Eric Idle')

    def register_type_strategy(
        custom_type: Type[Ex],
        strategy: Union[SearchStrategy[Ex], Callable[[Type[Ex]],
SearchStrategy[Ex]]],
    ) -> None:
        """Add an entry to the global type-to-strategy lookup.

        This lookup is used in :func:`~hypothesis.strategies.builds` and
        :func:`@given <hypothesis.given>`.

        :func:`~hypothesis.strategies.builds` will be used automatically for
        classes with type annotations on ``__init__`` , so you only need to
        register a strategy if one or more arguments need to be more tightly
        defined than their type-based default, or if you want to
supply a strategy
        for an argument with a default value.

        ``strategy`` may be a search strategy, or a function that
takes a type and
        returns a strategy (useful for generic types).

        Note that you may not register a parametrised generic type (such as
        ``MyCollection[int]``) directly, because the resolution logic does not
        handle this case correctly.  Instead, you may register a *function* for
        ``MyCollection`` and `inspect the type parameters within that function
        <https://stackoverflow.com/q/48572831>`__.
        """
        # TODO: We would like to move this to the top level, but
pending some major
        # refactoring it's hard to do without creating circular imports.
        from hypothesis.strategies._internal import types

        if not types.is_a_type(custom_type):
>           raise InvalidArgument("custom_type=%r must be a type")
E           hypothesis.errors.InvalidArgument: custom_type=%r must be a type

/usr/lib/python3/dist-packages/hypothesis/strategies/_internal/core.py:2151:
InvalidArgument
_______________________ test_pprint_heap_allocated_type ________________________

    @skip_without("xxlimited")
    def test_pprint_heap_allocated_type():
        """Test that pprint works for heap allocated types."""
        import xxlimited

>       output = pretty.pretty(xxlimited.Null)
E       AttributeError: module 'xxlimited' has no attribute 'Null'

tests/cover/test_pretty.py:275: AttributeError

--- End Message ---
--- Begin Message ---
Source: python-hypothesis
Source-Version: 6.35.0-1
Done: Sandro Tosi <mo...@debian.org>

We believe that the bug you reported is fixed in the latest version of
python-hypothesis, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1001...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sandro Tosi <mo...@debian.org> (supplier of updated python-hypothesis package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sun, 16 Jan 2022 23:31:30 -0500
Source: python-hypothesis
Architecture: source
Version: 6.35.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Sandro Tosi <mo...@debian.org>
Closes: 1000639 1001538 1002392
Changes:
 python-hypothesis (6.35.0-1) unstable; urgency=medium
 .
   * New upstream release; Closes: #1001538, #1002392, #1000639
   * debian/watch
     - properly detect new upstream releases
   * debian/copyright
     - update upstream copyright information
   * debian/tests/control
     - skip test_basic_indices_default_max_dims_does_not_warn in autopkgtest
   * debian/rules
     - set the proper PYTHONPATH when building doc
   * refresh/update patches
Checksums-Sha1:
 9021cfa9db79c945c111904aa3dae894a7105b5c 2813 python-hypothesis_6.35.0-1.dsc
 0f68da6077a2d4e7fe755f41cb02e2e01f69ce87 8976772 
python-hypothesis_6.35.0.orig.tar.xz
 2a0e3296ebe7f020bf1d04639efebcc0407b7763 11540 
python-hypothesis_6.35.0-1.debian.tar.xz
 1822ea898425433a87d8cfc759ce9040534cae7e 8587 
python-hypothesis_6.35.0-1_source.buildinfo
Checksums-Sha256:
 eff34d408f0640682943cd551c1a1060bfa7414303ec069076b6e06a2fdee52c 2813 
python-hypothesis_6.35.0-1.dsc
 e69109be695a48e118fac2bcdd4b56a24400d8ad8e89ff05e34e423284639347 8976772 
python-hypothesis_6.35.0.orig.tar.xz
 9dbed94e1368e0862dd7f0a4592f17eb503323dcd0297ca847a2620204233bd6 11540 
python-hypothesis_6.35.0-1.debian.tar.xz
 f7042fa79a94d9eac0dfc57249f0bd58ea6a000d353cc4bbddf31a1557677238 8587 
python-hypothesis_6.35.0-1_source.buildinfo
Files:
 62ebdc38704c7f99cd9f9810c687415d 2813 python optional 
python-hypothesis_6.35.0-1.dsc
 cf9c663bdaeeb8f9524b34749ce01896 8976772 python optional 
python-hypothesis_6.35.0.orig.tar.xz
 a94f16e750cf23ec58b6632c804ede00 11540 python optional 
python-hypothesis_6.35.0-1.debian.tar.xz
 4c058f80a31a1f2334c0f6a388f5dfcc 8587 python optional 
python-hypothesis_6.35.0-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEufrTGSrz5KUwnZ05h588mTgBqU8FAmHk8UMACgkQh588mTgB
qU8GPQ//SWYLVpPm0NLGb5O/vnakRZ6wlyAam3E8E5C61/wxHYKfiDvjXI1QhfEC
Ab+EOZz01g1AkqC6rEMVoFfma19kXXH6H0OCb8hirivSHjsyyzbvgJ5DYcApIMoJ
bkYf+EKmKg3Ug05WL9HEyyRNqI0PkHFJsDf0GmOzNo+5YkyaRGZhZg0LM0YNE9Rw
JSh+Dge4ZNzUKW6PjEqR1uGkazpURaZIA0SCKSSiAaWHJdhIquFeTY3nQFlc/Igh
jZofHe8xRKudI4Q3Pup4/x66kwVcdzMmAiUDjqdrSSKOsFN3BLd32gl30yrhVHDt
Qvl6kOAex7Q6Jz+SrL1tv5H6wZo3OugYL75xfglTc9wFCIpOgZRj2azy5fO/Hk2y
mt24VfaLSJrP112ho+s90zOfjBqW7/hZhi4bIr8WOS+yrzW5yhbeZ+YSCpzb9mdI
oTNN4qoMJhy8poeYCHdOD+qgodJi6rmkIrCCZbIdovg6pUjNp19qeUIY2ZgS58xS
akNoNOQWfC3GQ1RKnGMEUm07RNLGlMIf5h3l5QtxnifkjANBpQLdojXIzlxy7HJE
+55UthqB6P/KTKm65KAb67pjQ/JJSQlTxcwzvLSzrKa9CW1J3CkgISC1QX5DqP3q
P35emrQU6xwSzpzsMxMIRoXpYlKtczetiXUp9mGjPpncv1Wt928=
=WDMA
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to