Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1838200 - python-hypothesis fails to build with Python 3.9: AttributeError: __args__
Summary: python-hypothesis fails to build with Python 3.9: AttributeError: __args__
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-hypothesis
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Michel Alexandre Salim
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON39
TreeView+ depends on / blocked
 
Reported: 2020-05-20 16:01 UTC by Miro Hrončok
Modified: 2020-05-21 20:19 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-21 17:36:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github HypothesisWorks hypothesis pull 2441 0 None closed Python 3.9: Treat missing __args__ on generic types as None 2021-02-01 17:29:03 UTC

Description Miro Hrončok 2020-05-20 16:01:26 UTC
python-hypothesis fails to build with Python 3.9.0b1.

______________________ test_resolve_typing_module[typ11] _______________________
[gw0] linux -- Python 3.9.0 /usr/bin/python3
Traceback (most recent call last):
  File "/builddir/build/BUILD/hypothesis-hypothesis-python-5.14.0/hypothesis-python/tests/cover/test_lookup.py", line 68, in test_resolve_typing_module
    inner()
  File "/builddir/build/BUILD/hypothesis-hypothesis-python-5.14.0/hypothesis-python/tests/cover/test_lookup.py", line 46, in inner
    suppress_health_check=[HealthCheck.too_slow, HealthCheck.filter_too_much],
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 981, in wrapped_test
    processed_args = process_arguments_to_given(
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 422, in process_arguments_to_given
    search_strategy.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 39, in do_validate
    s.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 646, in do_validate
    self.mapped_strategy.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 118, in do_validate
    w.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 646, in do_validate
    self.mapped_strategy.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 39, in do_validate
    s.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 118, in do_validate
    w.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 379, in validate
    self.is_empty
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 126, in accept
    recur(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 122, in recur
    mapping[strat] = getattr(strat, calculation)(recur)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 80, in calc_is_empty
    return recur(self.wrapped_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 43, in wrapped_strategy
    result = self.__definition()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1323, in <lambda>
    lambda thing: deferred(lambda: _from_type(thing)),
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1402, in _from_type
    return as_strategy(types._global_type_lookup[thing], thing)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1359, in as_strategy
    strategy = strat_or_callable(thing)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/types.py", line 415, in resolve_Type
    if thing.__args__ is None:
  File "/usr/lib64/python3.9/typing.py", line 640, in __getattr__
    raise AttributeError(attr)
AttributeError: __args__
_______________________ test_resolves_weird_types[typ0] ________________________
[gw0] linux -- Python 3.9.0 /usr/bin/python3
Traceback (most recent call last):
  File "/builddir/build/BUILD/hypothesis-hypothesis-python-5.14.0/hypothesis-python/tests/cover/test_lookup.py", line 249, in test_resolves_weird_types
    from_type(typ).example()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 315, in example
    example_generating_inner_function()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 303, in example_generating_inner_function
    @settings(
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 1102, in wrapped_test
    raise the_error_hypothesis_found
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 1071, in wrapped_test
    state.run_engine()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 732, in run_engine
    runner.run()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 458, in run
    self._run()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 857, in _run
    self.generate_new_examples()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 589, in generate_new_examples
    zero_data = self.cached_test_function(bytes(BUFFER_SIZE))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 1034, in cached_test_function
    self.test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 180, in test_function
    self.__stoppable_test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 162, in __stoppable_test_function
    self._test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 685, in _execute_once_for_engine
    escalate_hypothesis_internal_error()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 656, in _execute_once_for_engine
    result = self.execute_once(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 611, in execute_once
    result = self.test_runner(data, run)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/executors.py", line 52, in default_new_style_executor
    return function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 552, in run
    args, kwargs = data.draw(self.search_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 889, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in do_draw
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in <genexpr>
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 658, in do_draw
    result = self.pack(data.draw(self.mapped_strategy))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 150, in do_draw
    return data.draw(self.wrapped_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 658, in do_draw
    result = self.pack(data.draw(self.mapped_strategy))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in do_draw
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in <genexpr>
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/flatmapped.py", line 42, in do_draw
    return data.draw(expanded_source)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 871, in draw
    strategy.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 118, in do_validate
    w.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 379, in validate
    self.is_empty
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 126, in accept
    recur(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 122, in recur
    mapping[strat] = getattr(strat, calculation)(recur)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 80, in calc_is_empty
    return recur(self.wrapped_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 43, in wrapped_strategy
    result = self.__definition()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1323, in <lambda>
    lambda thing: deferred(lambda: _from_type(thing)),
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1446, in _from_type
    raise ResolutionFailed(
hypothesis.errors.ResolutionFailed: Could not resolve <class 'collections.abc.ByteString'> to a strategy, because it is an abstract type without any subclasses. Consider using register_type_strategy
_______________________ test_resolves_weird_types[typ2] ________________________
[gw0] linux -- Python 3.9.0 /usr/bin/python3
Traceback (most recent call last):
  File "/builddir/build/BUILD/hypothesis-hypothesis-python-5.14.0/hypothesis-python/tests/cover/test_lookup.py", line 249, in test_resolves_weird_types
    from_type(typ).example()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 315, in example
    example_generating_inner_function()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 303, in example_generating_inner_function
    @settings(
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 1102, in wrapped_test
    raise the_error_hypothesis_found
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 1071, in wrapped_test
    state.run_engine()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 732, in run_engine
    runner.run()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 458, in run
    self._run()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 857, in _run
    self.generate_new_examples()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 589, in generate_new_examples
    zero_data = self.cached_test_function(bytes(BUFFER_SIZE))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 1034, in cached_test_function
    self.test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 180, in test_function
    self.__stoppable_test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/engine.py", line 162, in __stoppable_test_function
    self._test_function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 685, in _execute_once_for_engine
    escalate_hypothesis_internal_error()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 656, in _execute_once_for_engine
    result = self.execute_once(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 611, in execute_once
    result = self.test_runner(data, run)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/executors.py", line 52, in default_new_style_executor
    return function(data)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/core.py", line 552, in run
    args, kwargs = data.draw(self.search_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 889, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in do_draw
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in <genexpr>
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 658, in do_draw
    result = self.pack(data.draw(self.mapped_strategy))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 150, in do_draw
    return data.draw(self.wrapped_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 658, in do_draw
    result = self.pack(data.draw(self.mapped_strategy))
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in do_draw
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/collections.py", line 57, in <genexpr>
    return tuple(data.draw(e) for e in self.element_strategies)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/flatmapped.py", line 42, in do_draw
    return data.draw(expanded_source)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 884, in draw
    return strategy.do_draw(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/flatmapped.py", line 42, in do_draw
    return data.draw(expanded_source)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/internal/conjecture/data.py", line 871, in draw
    strategy.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 378, in validate
    self.do_validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/lazy.py", line 118, in do_validate
    w.validate()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 379, in validate
    self.is_empty
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 126, in accept
    recur(self)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/strategies.py", line 122, in recur
    mapping[strat] = getattr(strat, calculation)(recur)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 80, in calc_is_empty
    return recur(self.wrapped_strategy)
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/deferred.py", line 43, in wrapped_strategy
    result = self.__definition()
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1323, in <lambda>
    lambda thing: deferred(lambda: _from_type(thing)),
  File "/builddir/build/BUILDROOT/python-hypothesis-5.14.0-1.fc33.x86_64/usr/lib/python3.9/site-packages/hypothesis/strategies/_internal/core.py", line 1437, in _from_type
    raise ResolutionFailed(
hypothesis.errors.ResolutionFailed: Could not resolve <class 'os._Environ'> to a strategy; consider using register_type_strategy

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01399157-python-hypothesis/

For all our attempts to build python-hypothesis with Python 3.9, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-hypothesis/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2020-05-20 16:02:28 UTC
Setting the severity to high, because we'd like to proceed with Koji side tag rebuilds really soon.

Comment 2 Miro Hrončok 2020-05-20 18:27:29 UTC
Taking https://github.com/HypothesisWorks/hypothesis/pull/2441/commits/5e0867c01785929957663b6c425843da415a0c85 and building it in Copr. Thanks.

Comment 3 Miro Hrončok 2020-05-20 19:22:38 UTC
(In reply to Miro Hrončok from comment #2)
> Taking
> https://github.com/HypothesisWorks/hypothesis/pull/2441/commits/
> 5e0867c01785929957663b6c425843da415a0c85 and building it in Copr. Thanks.

Apparently, this is not fixing everything and I'll be more patient. Sorry for rushing things.

Comment 4 Michel Alexandre Salim 2020-05-20 21:34:27 UTC
(In reply to Miro Hrončok from comment #3)
> (In reply to Miro Hrončok from comment #2)
> > Taking
> > https://github.com/HypothesisWorks/hypothesis/pull/2441/commits/
> > 5e0867c01785929957663b6c425843da415a0c85 and building it in Copr. Thanks.
> 
> Apparently, this is not fixing everything and I'll be more patient. Sorry
> for rushing things.

oof, no worries. I'll try and fix things on my side.

I'll do a couple of things:
- propose upstream start testing against Python 3.9 pre-releases too (they currently test up to 3.8)
- try and follow up until this is fixed properly

Quick question: given Hypothesis' fast churn of releases and the brittleness of their Python 3.9 support right now, once we get a working build should we just freeze it in place and not do further updates?

Comment 5 Miro Hrončok 2020-05-20 21:57:21 UTC
> Quick question: given Hypothesis' fast churn of releases and the brittleness of their Python 3.9 support right now, once we get a working build should we just freeze it in place and not do further updates?

We should just make sure the update does not introduce a regression with 3.9. When you open a src.fp.o pull request, the copr should attempt to rebuild it automatically.

This particular failure started not with update of hypothesis, but with changes in Python 3.9.

Comment 6 Michel Alexandre Salim 2020-05-20 22:24:20 UTC
noted, I'll do future updates via pull request first and let it sit for -- err, is a day enough, or two?

And yeah, just noticed the error is with 3.9b1. Hopefully future errors are less likely as 3.9 stabilizes.

Comment 7 Miro Hrončok 2020-05-20 22:27:07 UTC
You can observe the results within minutes (hours when the load is too big) in https://copr.fedorainfracloud.org/coprs/g/python/python3.9/builds/?dirname=python3.9:pr:<pr_number> (for example https://copr.fedorainfracloud.org/coprs/g/python/python3.9/builds/?dirname=python3.9:pr:6)

Comment 8 Michel Alexandre Salim 2020-05-21 17:36:07 UTC
5.15.1 fixes this (upstream merged Petr's patch and fixed a couple of additional issues, and now has CI testing against Python 3.9 too).

Comment 9 Miro Hrončok 2020-05-21 20:19:27 UTC
Excellent news!


Note You need to log in before you can comment on or make changes to this bug.