internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: HypothesisWorks/hypothesis

Issue:
License file in pypi archive
The pypi source archive isn't including the `LICENSE.txt` file. Would it be possible to add it? It is very helpful when packaging this for Linux distributions. The official python packaging guidelines also say [each package should have one](https://packaging.python.org/guides/distributing-packages-using-setuptools/#license-txt). Thank you!
Add keywords to setup.py
Testing with pyroma package showed keywords are missing from setup.py

```
willo@macbook ~/g/m/h/hypothesis-python> pyroma .
------------------------------
Checking .
Found hypothesis
------------------------------
Your package does not have keywords data.
------------------------------
Final rating: 9/10
Cottage Cheese
------------------------------
```
Discussed with @Zac-HD and keywords from the github repo below would be good to use.

python testing fuzzing property-based-testing


Discussion:
I'm perfectly happy to include the license file in the tarball (though this is slightly fiddlier than it sounds due to the repository structure), but in general we encourage packaging from github tarballs rather than pypi - we e.g. also don't include the tests in the pypi tarball and are unlikely to start doing so.
I am in the process of switching the package over to use the github sources as you request.  However, the upstream python packaging guidelines say that there [should be a license file](https://packaging.python.org/guides/distributing-packages-using-setuptools/#license-txt), so it would probably still be good to include it.
Doing this for the sprints.


Resolving patch:
diff --git a/hypothesis-python/setup.py b/hypothesis-python/setup.py
--- a/hypothesis-python/setup.py
+++ b/hypothesis-python/setup.py
@@ -53,9 +53,9 @@ def local_file(name):
 
 
 extras = {
-    'datetime': ['pytz'],
-    'pytz': ['pytz'],
-    'dateutil': ['python-dateutil'],
+    'datetime': ['pytz>=2014.1'],
+    'pytz': ['pytz>=2014.1'],
+    'dateutil': ['python-dateutil>=1.4'],
     'fakefactory': ['Faker>=0.7'],
     'numpy': ['numpy>=1.9.0'],
     'pytest': ['pytest>=3.0'],
@@ -120,4 +120,5 @@ def local_file(name):
         'pytest11': ['hypothesispytest = hypothesis.extra.pytestplugin'],
     },
     long_description=open(README).read(),
+    keywords='python testing fuzzing property-based-testing',
 )


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Add CI test to check whether Cargo.toml and Gemfile.lock agree on Helix version
Helix (the library we use to bind to Rust from Ruby) has two components: A crate and a rubygem. Each of these has their own version number, but we should always use the same version number on each side.

The version number for our dependency on them is (inextricably) specified in two places - the Cargo.toml and the Gemfile.lock. When these get out of sync we end up with confusing and non-obvious errors in tests like #1322. 

It would be nice to have a test in `whole-repo-tests` which checks for this and fails with a more meaningful error when this happens.


Discussion:
looking at this

Resolving patch:
diff --git a/tooling/src/hypothesistooling/projects/hypothesisruby.py b/tooling/src/hypothesistooling/projects/hypothesisruby.py
--- a/tooling/src/hypothesistooling/projects/hypothesisruby.py
+++ b/tooling/src/hypothesistooling/projects/hypothesisruby.py
@@ -39,6 +39,7 @@
 CHANGELOG_FILE = os.path.join(BASE_DIR, 'CHANGELOG.md')
 GEMSPEC_FILE = os.path.join(BASE_DIR, 'hypothesis-specs.gemspec')
 CARGO_FILE = os.path.join(BASE_DIR, 'Cargo.toml')
+GEMFILE_LOCK_FILE = os.path.join(BASE_DIR, 'Gemfile.lock')
 CONJECTURE_CARGO_FILE = cr.CARGO_FILE
 
 RUST_SRC = os.path.join(BASE_DIR, 'src')


Test patch:
diff --git a/whole-repo-tests/test_version_sync.py b/whole-repo-tests/test_version_sync.py
new file mode 100644
--- /dev/null
+++ b/whole-repo-tests/test_version_sync.py
@@ -0,0 +1,32 @@
+# coding=utf-8
+#
+# This file is part of Hypothesis, which may be found at
+# https://github.com/HypothesisWorks/hypothesis-python
+#
+# Most of this work is copyright (C) 2013-2018 David R. MacIver
+# (david@drmaciver.com), but it contains contributions by others. See
+# CONTRIBUTING.rst for a full list of people who may hold copyright, and
+# consult the git log if you need to determine who owns an individual
+# contribution.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at http://mozilla.org/MPL/2.0/.
+#
+# END HEADER
+
+from __future__ import division, print_function, absolute_import
+
+import toml
+
+from hypothesistooling.projects.hypothesisruby import CARGO_FILE, \
+    GEMFILE_LOCK_FILE
+
+
+def test_helix_version_sync():
+    cargo = toml.load(CARGO_FILE)
+    helix_version = cargo['dependencies']['helix']
+    gem_lock = open(GEMFILE_LOCK_FILE).read()
+    assert 'helix_runtime (%s)' % (helix_version,) in gem_lock, \
+        'helix version must be the same in %s and %s' % \
+        (CARGO_FILE, GEMFILE_LOCK_FILE)
Repository: HypothesisWorks/hypothesis

Issue:
RELEASE.rst is not checked for trailing whitespace
Which means that when such a file is merged (e.g. from #1515), subsequent builds break.  This is bad and should be fixed ASAP.  See #1525 for temporary workaround.


Discussion:
Aaand this just bit us again [here](https://travis-ci.org/HypothesisWorks/hypothesis/jobs/421474450), from #1537.

Resolving patch:
diff --git a/tooling/src/hypothesistooling/projects/hypothesispython.py b/tooling/src/hypothesistooling/projects/hypothesispython.py
--- a/tooling/src/hypothesistooling/projects/hypothesispython.py
+++ b/tooling/src/hypothesistooling/projects/hypothesispython.py
@@ -25,8 +25,6 @@
 
 import hypothesistooling as tools
 import hypothesistooling.releasemanagement as rm
-from hypothesistooling.releasemanagement import bump_version_info, \
-    replace_assignment, release_date_string
 
 PACKAGE_NAME = 'hypothesis-python'
 
@@ -92,17 +90,17 @@ def update_changelog_and_version():
 
     release_type, release_contents = parse_release_file()
 
-    new_version_string, new_version_info = bump_version_info(
+    new_version_string, new_version_info = rm.bump_version_info(
         __version_info__, release_type)
 
     __version_info__ = new_version_info
     __version__ = new_version_string
 
-    replace_assignment(
+    rm.replace_assignment(
         VERSION_FILE, '__version_info__', repr(new_version_info))
 
     heading_for_new_version = ' - '.join((
-        new_version_string, release_date_string()))
+        new_version_string, rm.release_date_string()))
     border_for_new_version = '-' * len(heading_for_new_version)
 
     new_changelog_parts = [
diff --git a/tooling/src/hypothesistooling/releasemanagement.py b/tooling/src/hypothesistooling/releasemanagement.py
--- a/tooling/src/hypothesistooling/releasemanagement.py
+++ b/tooling/src/hypothesistooling/releasemanagement.py
@@ -137,7 +137,7 @@ def parse_release_file(filename):
 
 
 def parse_release_file_contents(release_contents, filename):
-    release_lines = release_contents.split('\n')
+    release_lines = [l.rstrip() for l in release_contents.split('\n')]
 
     m = RELEASE_TYPE.match(release_lines[0])
     if m is not None:


Test patch:
diff --git a/whole-repo-tests/test_release_management.py b/whole-repo-tests/test_release_management.py
--- a/whole-repo-tests/test_release_management.py
+++ b/whole-repo-tests/test_release_management.py
@@ -94,3 +94,12 @@ def test_update_changelog(tmpdir):
         str(path), 'A test project', '1.2.3', 'some stuff happened'
     )
     assert path.read().strip() == TEST_CHANGELOG.strip()
+
+
+def test_changelog_parsing_strips_trailing_whitespace():
+    header = 'RELEASE_TYPE: patch\n\n'
+    contents = 'Adds a feature\n    indented.\n'
+    level, out = parse_release(
+        header + contents.replace('feature', 'feature    ')
+    )
+    assert contents.strip() == out
Repository: HypothesisWorks/hypothesis

Issue:
3.70.0 fails on py3.5 on all platforms
See the logs:
OSX: https://travis-ci.org/conda-forge/hypothesis-feedstock/jobs/423298695
Win: https://ci.appveyor.com/project/conda-forge/hypothesis-feedstock/build/1.0.315/job/l8qn1pf6l36abb8d
Linux: https://circleci.com/gh/conda-forge/hypothesis-feedstock/606?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

It seems to be a single zip test.



Discussion:

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/core.py b/hypothesis-python/src/hypothesis/core.py
--- a/hypothesis-python/src/hypothesis/core.py
+++ b/hypothesis-python/src/hypothesis/core.py
@@ -176,7 +176,12 @@ def decode_failure(blob):
     if prefix == b'\0':
         return buffer[1:]
     elif prefix == b'\1':
-        return zlib.decompress(buffer[1:])
+        try:
+            return zlib.decompress(buffer[1:])
+        except zlib.error:
+            raise InvalidArgument(
+                'Invalid zlib compression for blob %r' % (blob,)
+            )
     else:
         raise InvalidArgument(
             'Could not decode blob %r: Invalid start byte %r' % (


Test patch:
diff --git a/hypothesis-python/tests/cover/test_reproduce_failure.py b/hypothesis-python/tests/cover/test_reproduce_failure.py
--- a/hypothesis-python/tests/cover/test_reproduce_failure.py
+++ b/hypothesis-python/tests/cover/test_reproduce_failure.py
@@ -27,7 +27,8 @@
 from hypothesis import PrintSettings, given, reject, example, settings, \
     __version__, reproduce_failure
 from hypothesis.core import decode_failure, encode_failure
-from hypothesis.errors import DidNotReproduce, InvalidArgument
+from hypothesis.errors import DidNotReproduce, InvalidArgument, \
+    UnsatisfiedAssumption
 from tests.common.utils import no_shrink, capture_out
 from hypothesis.internal.compat import hbytes
 
@@ -41,13 +42,18 @@ def test_encoding_loop(b):
 
 @example(base64.b64encode(b'\2\3\4'))
 @example(b'\t')
+@example(base64.b64encode(b'\1\0'))  # zlib error
 @given(st.binary())
 def test_decoding_may_fail(t):
     try:
         decode_failure(t)
         reject()
+    except UnsatisfiedAssumption:
+        raise  # don't silence the reject()
     except InvalidArgument:
         pass
+    except Exception as e:
+        assert False, 'decoding failed with %r, not InvalidArgument' % (e,)
 
 
 def test_reproduces_the_failure():
Repository: HypothesisWorks/hypothesis

Issue:
PyPy for Python 3.5
In version 5.7, PyPy added beta support for Python 3.5.  We should check that Hypothesis works on this, and add it to CI either way.


Discussion:
PyPy is now up to [version 6.0](https://morepypy.blogspot.com.au/2018/04/pypy27-and-pypy35-v60-dual-release.html), but we've still got a little time to close this issue before the anniversary :smile: 

Resolving patch:
diff --git a/tooling/src/hypothesistooling/__main__.py b/tooling/src/hypothesistooling/__main__.py
--- a/tooling/src/hypothesistooling/__main__.py
+++ b/tooling/src/hypothesistooling/__main__.py
@@ -378,6 +378,7 @@ def run_tox(task, version):
 PY36 = '3.6.5'
 PY37 = '3.7.0'
 PYPY2 = 'pypy2.7-5.10.0'
+PYPY3 = 'pypy3.5-5.10.1'
 
 
 @task()
@@ -388,6 +389,7 @@ def install_core():
 
 ALIASES = {
     PYPY2: 'pypy',
+    PYPY3: 'pypy3',
 }
 
 for n in [PY27, PY34, PY35, PY36, PY37]:
@@ -432,6 +434,11 @@ def check_pypy():
     run_tox('pypy-full', PYPY2)
 
 
+@python_tests
+def check_pypy3():
+    run_tox('pypy3-full', PYPY3)
+
+
 @python_tests
 def check_py27_typing():
     run_tox('py27typing', PY27)


Test patch:
diff --git a/hypothesis-python/tests/py3/test_asyncio.py b/hypothesis-python/tests/py3/test_asyncio.py
--- a/hypothesis-python/tests/py3/test_asyncio.py
+++ b/hypothesis-python/tests/py3/test_asyncio.py
@@ -21,8 +21,11 @@
 import unittest
 from unittest import TestCase
 
+import pytest
+
 import hypothesis.strategies as st
 from hypothesis import given, assume
+from hypothesis.internal.compat import PYPY
 
 
 class TestAsyncio(TestCase):
@@ -54,6 +57,7 @@ def g():
         if error is not None:
             raise error
 
+    @pytest.mark.skipif(PYPY, reason='Error in asyncio.new_event_loop()')
     @given(st.text())
     @asyncio.coroutine
     def test_foo(self, x):
Repository: HypothesisWorks/hypothesis

Issue:
Outdated documentation for datetimes, times, and dates
The documentation for `hypothesis.strategies.datetimes`, `hypothesis.strategies.times` and `hypothesis.strategies.dates` [here](https://hypothesis.readthedocs.io/en/master/data.html) still uses the old parameter names(ex:`A strategy for times between min_time and max_time.`) instead of `min_value` and `max_value`.


Discussion:
Eek, so it does!  This should definitely be fixed - we just need to update the docstrings, here:

https://github.com/HypothesisWorks/hypothesis/blob/c4cf92422f97365427d3c938b85495a7b0429928/hypothesis-python/src/hypothesis/strategies.py#L1618-L1619

@SuperStormer - would you like to do this, or leave it for someone else?

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/strategies.py b/hypothesis-python/src/hypothesis/strategies.py
--- a/hypothesis-python/src/hypothesis/strategies.py
+++ b/hypothesis-python/src/hypothesis/strategies.py
@@ -1615,8 +1615,8 @@ def datetimes(
     # type: (...) -> SearchStrategy[dt.datetime]
     """A strategy for generating datetimes, which may be timezone-aware.
 
-    This strategy works by drawing a naive datetime between ``min_datetime``
-    and ``max_datetime``, which must both be naive (have no timezone).
+    This strategy works by drawing a naive datetime between ``min_value``
+    and ``max_value``, which must both be naive (have no timezone).
 
     ``timezones`` must be a strategy that generates
     :class:`~python:datetime.tzinfo` objects (or None,
@@ -1681,7 +1681,7 @@ def dates(
     min_date=None, max_date=None,
 ):
     # type: (dt.date, dt.date, dt.date, dt.date) -> SearchStrategy[dt.date]
-    """A strategy for dates between ``min_date`` and ``max_date``.
+    """A strategy for dates between ``min_value`` and ``max_value``.
 
     Examples from this strategy shrink towards January 1st 2000.
     """
@@ -1706,7 +1706,7 @@ def times(
     max_time=None,  # type: dt.time
 ):
     # type: (...) -> SearchStrategy[dt.time]
-    """A strategy for times between ``min_time`` and ``max_time``.
+    """A strategy for times between ``min_value`` and ``max_value``.
 
     The ``timezones`` argument is handled as for :py:func:`datetimes`.
 


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Add Pandas extra to our setup.py
Justin H [reports on Stack Overflow](https://stackoverflow.com/questions/53221061) that `pip install hypothesis[pandas]` fails - and he's right!  Fortunately this is an easy fix; all we need to do is add `'pandas': ['pandas>=0.19'],` as an entry in [our setuptools extras dict](https://github.com/HypothesisWorks/hypothesis/blob/da43eba90c1fbfa436c02e621f56dfa3a153a093/hypothesis-python/setup.py#L55-L69).  It would also be good to add a minimum version to the pytz requirement for the Django extra!

If this is your first contribution to Hypothesis, don't forget to add your name to the list of authors in `CONTRIBUTING.rst` and to write a `RELEASE.rst` file for a patch release!  You can read the `./guides` in the repo, or just copy a recent pull request 😄 
Fix minor typo



Discussion:

Resolving patch:
diff --git a/hypothesis-python/setup.py b/hypothesis-python/setup.py
--- a/hypothesis-python/setup.py
+++ b/hypothesis-python/setup.py
@@ -58,6 +58,7 @@ def local_file(name):
     'dateutil': ['python-dateutil>=1.4'],
     'fakefactory': ['Faker>=0.7'],
     'numpy': ['numpy>=1.9.0'],
+    'pandas': ['pandas>=0.19'],
     'pytest': ['pytest>=3.0'],
     'dpcontracts': ['dpcontracts>=0.4'],
     # We only support Django versions with upstream support - see
diff --git a/hypothesis-python/src/hypothesis/strategies.py b/hypothesis-python/src/hypothesis/strategies.py
--- a/hypothesis-python/src/hypothesis/strategies.py
+++ b/hypothesis-python/src/hypothesis/strategies.py
@@ -1699,7 +1699,7 @@ def datetimes(
     # that took aware bounds, but the API and validation is much harder.
     # If you want to generate datetimes between two particular momements in
     # time I suggest (a) just filtering out-of-bounds values; (b) if bounds
-    # are very close, draw a value and subtract it's UTC offset, handling
+    # are very close, draw a value and subtract its UTC offset, handling
     # overflows and nonexistent times; or (c) do something customised to
     # handle datetimes in e.g. a four-microsecond span which is not
     # representable in UTC.  Handling (d), all of the above, leads to a much


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Move over to new pytest plugin API
We're currently using `pytest.mark.hookwrapper` in our pytest plugin. According to @RonnyPfannschmidt this API is soon to be deprecated and we should be using ` pytest.hookimpl(hookwrapper=True)` instead.

Hopefully this should be a simple matter of changing the code over to use the new decorator, but it's Hypothesis development so I'm sure something exciting will break. 😆 😢 


Discussion:
Related to #1702, in that this will probably require us to increase the minimum supported version of pytest.
unrelated - https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst#280-2015-09-18 introduced the new api in pytest 2.8.0 
(maybe I'm being too optimistic, but I think this might well be a nice self-contained change :smile:)
@Zac-HD i have the same impression

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/extra/pytestplugin.py b/hypothesis-python/src/hypothesis/extra/pytestplugin.py
--- a/hypothesis-python/src/hypothesis/extra/pytestplugin.py
+++ b/hypothesis-python/src/hypothesis/extra/pytestplugin.py
@@ -110,7 +110,7 @@ def pytest_configure(config):
 gathered_statistics = OrderedDict()  # type: dict
 
 
-@pytest.mark.hookwrapper
+@pytest.hookimpl(hookwrapper=True)
 def pytest_runtest_call(item):
     if not (hasattr(item, "obj") and is_hypothesis_test(item.obj)):
         yield
@@ -129,7 +129,7 @@ def note_statistics(stats):
             item.hypothesis_report_information = list(store.results)
 
 
-@pytest.mark.hookwrapper
+@pytest.hookimpl(hookwrapper=True)
 def pytest_runtest_makereport(item, call):
     report = (yield).get_result()
     if hasattr(item, "hypothesis_report_information"):


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Coverage file "branch-check" gets truncated multiple times during coverage testing
As observed in #1712, the `branch-check` file that is written by `coverage.py` gets truncated multiple times during the coverage test run, instead of just once at the beginning.

(This happens on `master` too, not just in the v4 PR branch.)

Presumably this means that many of the entries are being lost, so the branch coverage checks aren't as thorough as they appear.


Discussion:

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/internal/coverage.py b/hypothesis-python/src/hypothesis/internal/coverage.py
--- a/hypothesis-python/src/hypothesis/internal/coverage.py
+++ b/hypothesis-python/src/hypothesis/internal/coverage.py
@@ -50,7 +50,7 @@ def pretty_file_name(f):
         pass
 
     parts = f.split(os.path.sep)
-    parts = parts[parts.index("hypothesis") :]
+    parts = parts[-parts[::-1].index("hypothesis") :]
     result = os.path.sep.join(parts)
     pretty_file_name_cache[f] = result
     return result
@@ -60,8 +60,9 @@ def pretty_file_name(f):
 
 
 if IN_COVERAGE_TESTS:
-    with open("branch-check", "w"):
-        pass
+    # By this point, "branch-check" should have already been deleted by the
+    # tox config. We can't delete it here because of #1718.
+
     written = set()  # type: Set[Tuple[str, bool]]
 
     def record_branch(name, value):


Test patch:
diff --git a/hypothesis-python/tests/cover/test_validation.py b/hypothesis-python/tests/cover/test_validation.py
--- a/hypothesis-python/tests/cover/test_validation.py
+++ b/hypothesis-python/tests/cover/test_validation.py
@@ -17,18 +17,23 @@
 
 from __future__ import absolute_import, division, print_function
 
+import functools
+
 import pytest
 
 from hypothesis import find, given
 from hypothesis.errors import InvalidArgument
 from hypothesis.strategies import (
+    binary,
     booleans,
+    dictionaries,
     floats,
     frozensets,
     integers,
     lists,
     recursive,
     sets,
+    text,
 )
 from tests.common.utils import checks_deprecated_behaviour, fails_with
 
@@ -222,3 +227,22 @@ def test(x, y):
 def test_cannot_find_non_strategies():
     with pytest.raises(InvalidArgument):
         find(bool, bool)
+
+
+@pytest.mark.parametrize(
+    "strategy",
+    [
+        functools.partial(lists, elements=integers()),
+        functools.partial(dictionaries, keys=integers(), values=integers()),
+        text,
+        binary,
+    ],
+)
+@pytest.mark.parametrize("min_size,max_size", [(0, "10"), ("0", 10)])
+def test_valid_sizes(strategy, min_size, max_size):
+    @given(strategy(min_size=min_size, max_size=max_size))
+    def test(x):
+        pass
+
+    with pytest.raises(InvalidArgument):
+        test()
Repository: HypothesisWorks/hypothesis

Issue:
integers(min_value=0) always produces longs on Python 2
```pycon
>>> find(st.integers(min_value=0), lambda x: True)
0L
```

The underlying culprit seems to be that our `floor` and `ceil` functions in `hypothesis.internal.compat` always return `long` values. This is because we explicitly use `_long_int_type`.  It's unclear that this is necessary - using `int(x)` will generally do the right thing for values that don't fit into an `int`.


Discussion:

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/internal/compat.py b/hypothesis-python/src/hypothesis/internal/compat.py
--- a/hypothesis-python/src/hypothesis/internal/compat.py
+++ b/hypothesis-python/src/hypothesis/internal/compat.py
@@ -80,7 +80,6 @@ def int_to_text(i):
     hrange = range
     ARG_NAME_ATTRIBUTE = "arg"
     integer_types = (int,)
-    _long_integer_type = int
     hunichr = chr
 
     def unicode_safe_repr(x):
@@ -236,7 +235,6 @@ def shimrange():
 
     ARG_NAME_ATTRIBUTE = "id"
     integer_types = (int, long)
-    _long_integer_type = long
     hunichr = unichr
 
     def escape_unicode_characters(s):
@@ -551,14 +549,14 @@ def implements_iterator(it):
 # custom __floor__ or __ceil__ methods may convert via floats.
 # See issue #1667, Numpy issue 9068.
 def floor(x):
-    y = _long_integer_type(x)
+    y = int(x)
     if y != x and x < 0:
         return y - 1
     return y
 
 
 def ceil(x):
-    y = _long_integer_type(x)
+    y = int(x)
     if y != x and x > 0:
         return y + 1
     return y


Test patch:
diff --git a/hypothesis-python/tests/py2/test_generate_ints.py b/hypothesis-python/tests/py2/test_generate_ints.py
new file mode 100644
--- /dev/null
+++ b/hypothesis-python/tests/py2/test_generate_ints.py
@@ -0,0 +1,29 @@
+# coding=utf-8
+#
+# This file is part of Hypothesis, which may be found at
+# https://github.com/HypothesisWorks/hypothesis/
+#
+# Most of this work is copyright (C) 2013-2019 David R. MacIver
+# (david@drmaciver.com), but it contains contributions by others. See
+# CONTRIBUTING.rst for a full list of people who may hold copyright, and
+# consult the git log if you need to determine who owns an individual
+# contribution.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at http://mozilla.org/MPL/2.0/.
+#
+# END HEADER
+
+from __future__ import absolute_import, division, print_function
+
+import pytest
+
+import hypothesis.strategies as st
+from hypothesis import find
+
+
+@pytest.mark.parametrize("kwargs", [{}, {"min_value": 0}, {"max_value": 0}])
+def test_generates_an_int_as_the_min_value(kwargs):
+    n = find(st.integers(**kwargs), lambda x: True)
+    assert isinstance(n, int)