GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-107862: Add stateful, timezones and ip_addresses to the Hypothesis stubs by pganssle · Pull Request #159770 · python/cpython

Conversation

@pganssle

@pganssle pganssle commented Oct 19, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

The stubs in test.support._hypothesis_stubs only cover the strategies and decorators the existing property tests happen to use, so a test wanting hypothesis.stateful, or the timezones() / ip_addresses() strategies, fails to import when Hypothesis is not installed.

This adds those names. The stateful API has no equivalent of @example, so there is nothing for the stub to replay: a state machine's TestCase is skipped and run_state_machine_as_test raises SkipTest. The decorators are accepted so state machine classes can be defined at import time.

Real Hypothesis only exposes hypothesis.stateful once the submodule has been imported, so hypothesis_helper now imports it, making the attribute available in both modes.

The stubs had no tests of their own, so this also adds test_hypothesis_stubs, which checks the replay and skip behavior directly and runs the API-shape checks against the real package when it is importable (i.e. in the "Hypothesis tests on Ubuntu" job).

Groundwork for #107862; a stacked PR adding the first stateful/property users follows.

  • Issue: [Meta] Research: what can we test with Hypothesis? #107862

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-app bedevere-app Bot added the type-feature A feature request or enhancement label Oct 19, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Oct 19, 2026
[Meta] Research: what can we test with Hypothesis? #107862
Open
@pganssle pganssle mentioned this pull request Oct 19, 2026
gh-107862: Fix infinite loop in email header folding found by a Hypothesis round-trip test #159771
Open
@pganssle
pythongh-107862: Add stateful, timezones and ip_addresses to the Hypo…
aeb677f
…thesis stubs

The stubs in test.support._hypothesis_stubs only cover the strategies
and decorators the existing property tests happen to use, so a test
that wants hypothesis.stateful, or the timezones() and ip_addresses()
strategies, fails to import when Hypothesis is not installed.

This adds those names. The stateful API has no equivalent of @example,
so there is nothing for the stub to replay: a state machine's TestCase
is skipped and run_state_machine_as_test raises SkipTest. The
decorators are accepted so that state machine classes can be defined
at import time.

Real Hypothesis only exposes hypothesis.stateful once the submodule has
been imported, so hypothesis_helper now imports it, making the
attribute available in both modes.
@pganssle
pganssle force-pushed the hypothesis-stubs-stateful branch from b88d3ad to aeb677f Compare October 19, 2026 21:30
@pganssle
pganssle marked this pull request as ready for review October 19, 2026 21:45
@bedevere-app bedevere-app Bot added the awaiting core review label Oct 19, 2026
@pganssle
Merge remote-tracking branch 'upstream/main' into hypothesis-stubs-st…
c3b2240
…ateful
gpshead
gpshead approved these changes Oct 20, 2026
View reviewed changes
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Oct 20, 2026
@pganssle
pganssle merged commit f5d989e into python:main Oct 20, 2026
56 of 57 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting merge label Oct 20, 2026
@pganssle pganssle mentioned this pull request Oct 20, 2026
gh-107862: Add Hypothesis tests for the compression modules #159960
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gpshead gpshead gpshead approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

type-feature A feature request or enhancement

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@pganssle @gpshead
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.