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

Issue:
Verbose output not shown unless -s is specified
I am running a test suite with hypothesis using py.test, when setting HYPOTHESIS_VERBOSITY_LEVEL=verbose environment variable I expected to see the intermediate results. However I need to specify -s when invokin py.test otherwise the intermediate results are suppressed.

Python 3.6.0a1
py.test 2.9.2
hypothesis 3.4.2



Discussion:

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -69,7 +69,8 @@
 intersphinx_mapping = {
     'python': ('https://docs.python.org/3/', None),
     'numpy': ('https://docs.scipy.org/doc/numpy/', None),
-    'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None)
+    'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None),
+    'pytest': ('https://docs.pytest.org/en/stable/', None),
 }
 
 autodoc_mock_imports = ['numpy', 'pandas']
@@ -127,6 +128,6 @@
 
 texinfo_documents = [
     (master_doc, 'Hypothesis', u'Hypothesis Documentation',
-     author, 'Hypothesis', 'One line description of project.',
+     author, 'Hypothesis', 'Advanced property-based testing for Python.',
      'Miscellaneous'),
 ]


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Should Travis skip building the "Bump version to X.Y.Z and update changelog" commits?
It already knows the code passes, or it would never have created the commit in the first place.


Discussion:
I think this job is the run which actually uploads the new version to PyPI and pushes tags, so we probably shouldn't?

It would be easy to implement though, just add `\n\n[ci skip]` to the commit message in hypothesistooling.
> I think this job is the run which actually uploads the new version to PyPI and pushes tags, so we probably shouldn't?

I don't think so. This is the code that runs in `deploy.py`, which runs on the commit which merged the PR to GitHub:

```python
print('Release seems good. Pushing to github now.')

tools.create_tag_and_push()

print('Now uploading to pypi.')

subprocess.check_call([
    sys.executable, '-m', 'twine', 'upload',
    '--config-file', './.pypirc',
    os.path.join(DIST, '*'),
])
```

We push this commit to GitHub and deploy in the same build. The "Bump version to X.Y.Z" commit doesn't do anything release-related.

Compare the two most recent builds on master:

https://travis-ci.org/HypothesisWorks/hypothesis-python/jobs/314143368
https://travis-ci.org/HypothesisWorks/hypothesis-python/jobs/314153513

Resolving patch:
diff --git a/scripts/hypothesistooling.py b/scripts/hypothesistooling.py
--- a/scripts/hypothesistooling.py
+++ b/scripts/hypothesistooling.py
@@ -324,6 +324,6 @@ def update_for_pending_release():
     git('add', CHANGELOG_FILE, VERSION_FILE)
 
     git(
-        'commit',
-        '-m', 'Bump version to %s and update changelog' % (__version__,)
+        'commit', '-m',
+        'Bump version to %s and update changelog\n\n[skip ci]' % (__version__,)
     )


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
`escalation.belongs_to` cache is broken
The problem is that the cache is checked with the incoming string type, but [the string type changes](https://github.com/HypothesisWorks/hypothesis-python/blob/3.44.1/src/hypothesis/internal/escalation.py#L41) before the value is inserted:

A simple (but not elegant) fix:

```diff
--- hypothesis/internal/escalation.py
+++ hypothesis/internal/escalation.py
@@ -34,13 +34,14 @@ def belongs_to(package):
     cache = {text_type: {}, binary_type: {}}
 
     def accept(filepath):
+        ftype = type(filepath)
         try:
-            return cache[type(filepath)][filepath]
+            return cache[ftype][filepath]
         except KeyError:
             pass
         filepath = encoded_filepath(filepath)
         result = os.path.abspath(filepath).startswith(root)
-        cache[type(filepath)][filepath] = result
+        cache[ftype][filepath] = result
         return result
     accept.__name__ = 'is_%s_file' % (package.__name__,)
     return accept
```


Discussion:
This looks a like a good fix to me - follow the contributing guide and make a pull!
Do you want to see a regression test for this? If so, how would it work?

Resolving patch:
diff --git a/src/hypothesis/internal/escalation.py b/src/hypothesis/internal/escalation.py
--- a/src/hypothesis/internal/escalation.py
+++ b/src/hypothesis/internal/escalation.py
@@ -34,13 +34,15 @@ def belongs_to(package):
     cache = {text_type: {}, binary_type: {}}
 
     def accept(filepath):
+        ftype = type(filepath)
         try:
-            return cache[type(filepath)][filepath]
+            return cache[ftype][filepath]
         except KeyError:
             pass
-        filepath = encoded_filepath(filepath)
-        result = os.path.abspath(filepath).startswith(root)
-        cache[type(filepath)][filepath] = result
+        new_filepath = encoded_filepath(filepath)
+        result = os.path.abspath(new_filepath).startswith(root)
+        cache[ftype][filepath] = result
+        cache[type(new_filepath)][new_filepath] = result
         return result
     accept.__name__ = 'is_%s_file' % (package.__name__,)
     return accept


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
TypeError thrown when trying to import hypothesis in 3.44.21
hypothesis (3.44.21)

In [4]: from hypothesis import given
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-4ce9639ca03b> in <module>()
----> 1 from hypothesis import given

/usr/local/lib/python2.7/dist-packages/hypothesis/__init__.py in <module>()
     29 from hypothesis.version import __version_info__, __version__
     30 from hypothesis.control import assume, note, reject, event
---> 31 from hypothesis.core import given, find, example, seed, reproduce_failure, \
     32     PrintSettings
     33 from hypothesis.utils.conventions import infer

/usr/local/lib/python2.7/dist-packages/hypothesis/core.py in <module>()
     35 from coverage.collector import Collector
     36
---> 37 import hypothesis.strategies as st
     38 from hypothesis import __version__
     39 from hypothesis.errors import Flaky, Timeout, NoSuchExample, \

/usr/local/lib/python2.7/dist-packages/hypothesis/strategies.py in <module>()
     30 from hypothesis.control import assume
     31 from hypothesis._settings import note_deprecation
---> 32 from hypothesis.internal.cache import LRUReusedCache
     33 from hypothesis.searchstrategy import SearchStrategy
     34 from hypothesis.internal.compat import gcd, ceil, floor, hrange, \

/usr/local/lib/python2.7/dist-packages/hypothesis/internal/cache.py in <module>()
     21
     22
---> 23 @attr.s(slots=True)
     24 class Entry(object):
     25     key = attr.ib()

TypeError: attributes() got an unexpected keyword argument 'slots'


Discussion:
I'm not entirely sure what you were expecting to get with `from hypothesis import slots`.

I suspect you have an out-of-date version of attrs.

> **16.0.0 (2016-05-23)**
>
> […]
>
> Changes:
>
> - `__slots__` have arrived! Classes now can automatically be slots-style (and save your precious memory) just by passing `slots=True`.

Try running `pip install --upgrade attrs`, and see if that resolves the problem. If not, please paste the output of `python --version` and `pip freeze`.

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -80,7 +80,7 @@ def local_file(name):
 
 extras[":python_version == '2.7'"] = ['enum34']
 
-install_requires = ['attrs', 'coverage']
+install_requires = ['attrs>=16.0.0', 'coverage']
 
 if sys.version_info[0] < 3:
     install_requires.append('enum34')


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Run tests with warnings as errors
This is harder than it sounds, because practically everything in a Python stack emits warnings.  See #1124, #1149, and #1169 for previous work on this.

One lead is to check whether we can put e.g. `,default:::setuptools,default:::pip` at the end of the [`PYTHONWARNINGS`](https://docs.python.org/3/using/cmdline.html#cmdoption-w) variable, which would exempt build-time dependencies (that we can't fix) from `=error,` at the front.  Unclear from the docs whether we can use one entry per package, or if it's one per file.

Internally, we get a `ResourceWarning` from failing to close a [`branch-check` file](https://github.com/HypothesisWorks/hypothesis-python/blob/06a6ce681b8f13676ae2b674c559c413f0f3dbac/src/hypothesis/internal/coverage.py#L60) in the coverage job (fixable with a minor refactor to use `mode='a'`).  There are probably more warnings that we simply don't notice at the moment.


Discussion:

Resolving patch:
diff --git a/src/hypothesis/internal/coverage.py b/src/hypothesis/internal/coverage.py
--- a/src/hypothesis/internal/coverage.py
+++ b/src/hypothesis/internal/coverage.py
@@ -57,7 +57,8 @@ def pretty_file_name(f):
 
 
 if IN_COVERAGE_TESTS:
-    log = open('branch-check', 'w')
+    with open('branch-check', 'w'):
+        pass
     written = set()
 
     def record_branch(name, value):
@@ -65,11 +66,8 @@ def record_branch(name, value):
         if key in written:
             return
         written.add(key)
-        log.write(
-            json.dumps({'name': name, 'value': value})
-        )
-        log.write('\n')
-        log.flush()
+        with open('branch-check', 'a') as log:
+            log.write(json.dumps({'name': name, 'value': value}) + '\n')
 
     description_stack = []
 


Test patch:
diff --git a/tests/common/setup.py b/tests/common/setup.py
--- a/tests/common/setup.py
+++ b/tests/common/setup.py
@@ -18,19 +18,22 @@
 from __future__ import division, print_function, absolute_import
 
 import os
-import warnings
 from tempfile import mkdtemp
+from warnings import filterwarnings
 
 from hypothesis import settings, unlimited
-from hypothesis.errors import HypothesisDeprecationWarning
 from hypothesis.configuration import set_hypothesis_home_dir
 from hypothesis.internal.charmap import charmap, charmap_file
 from hypothesis.internal.coverage import IN_COVERAGE_TESTS
 
 
 def run():
-    warnings.filterwarnings('error', category=UnicodeWarning)
-    warnings.filterwarnings('error', category=HypothesisDeprecationWarning)
+    filterwarnings('error')
+    filterwarnings('ignore', category=ImportWarning)
+    filterwarnings('ignore', category=FutureWarning, module='pandas._version')
+    # Only applies to Django 1.8, so this filter will go very soon!
+    filterwarnings('ignore', category=DeprecationWarning,
+                   module='tests.django.toystore.models')
 
     set_hypothesis_home_dir(mkdtemp())
Repository: HypothesisWorks/hypothesis

Issue:
v3.54.0 fails on 32bit windows
See test results: https://ci.appveyor.com/project/conda-forge/hypothesis-feedstock/build/1.0.172


Discussion:
@jjgreen This is all in the new complex code. Any ideas?

@Zac-HD I guess we have to turn 32-bit builds back on. :-/

Resolving patch:
diff --git a/src/hypothesis/internal/cathetus.py b/src/hypothesis/internal/cathetus.py
--- a/src/hypothesis/internal/cathetus.py
+++ b/src/hypothesis/internal/cathetus.py
@@ -32,6 +32,10 @@ def cathetus(h, a):
     (NaNs and infinities) is designed to be as consistent as possible with
     the C99 hypot() specifications.
 
+    This function relies on the system ``sqrt`` function and so, like it,
+    may be inaccurate up to a relative error of (around) floating-point
+    epsilon.
+
     Based on the C99 implementation https://github.com/jjgreen/cathetus
     """
     if isnan(h):
diff --git a/src/hypothesis/strategies.py b/src/hypothesis/strategies.py
--- a/src/hypothesis/strategies.py
+++ b/src/hypothesis/strategies.py
@@ -1592,6 +1592,10 @@ def complex_numbers(min_magnitude=0, max_magnitude=None,
     is an error to enable ``allow_nan``.  If ``max_magnitude`` is finite,
     it is an error to enable ``allow_infinity``.
 
+    The magnitude contraints are respected up to a relative error
+    of (around) floating-point epsilon, due to implementation via
+    the system ``sqrt`` function.
+
     Examples from this strategy shrink by shrinking their real and
     imaginary parts, as :func:`~hypothesis.strategies.floats`.
 


Test patch:
diff --git a/tests/cover/test_cathetus.py b/tests/cover/test_cathetus.py
--- a/tests/cover/test_cathetus.py
+++ b/tests/cover/test_cathetus.py
@@ -19,6 +19,7 @@
 
 import sys
 import math
+from sys import float_info
 
 import pytest
 
@@ -94,8 +95,8 @@ def test_cathetus_infinite(h, a):
     (0, 0, 0),
     (1, 0, 1),
 ])
-def test_cathetus_exact(h, a, b):
-    assert cathetus(h, a) == b
+def test_cathetus_signs(h, a, b):
+    assert abs(cathetus(h, a) - b) <= abs(b) * float_info.epsilon
 
 
 @pytest.mark.parametrize('a,b,h', [
@@ -148,5 +149,5 @@ def test_cathetus_exact(h, a, b):
     (68, 285, 293),
 ])
 def test_pythagorean_triples(a, b, h):
-    assert math.hypot(a, b) == h, 'defective pythagoran triple'
-    assert cathetus(h, a) == b
+    assert abs(math.hypot(a, b) - h) <= abs(h) * float_info.epsilon
+    assert abs(cathetus(h, a) - b) <= abs(b) * float_info.epsilon
Repository: HypothesisWorks/hypothesis

Issue:
Python deployment did not remove RELEASE.rst
In c216ddca8155cdb05053bcfe2ac51814447aac4f, which blocks further merges.  @DRMacIver, I think cb84c3ad4dfdecfcf947ccd24bfdee111083645b shouldn't have taken out the `git rm RELEASE.rst`...  

AFAICT ea6bb819143d5c6b4e4c43aa2436a9f70d129872 would be a decent fix.  (and is now in all my open PRs)


Discussion:

Resolving patch:
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
@@ -190,6 +190,7 @@ def parse_version(version):
 
 def commit_pending_release(project):
     """Create a commit with the new release."""
+    tools.git('rm', project.RELEASE_FILE)
     tools.git('add', '-u', project.BASE_DIR)
 
     tools.git(


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
ImportError: cannot import name canonical_filename
Hi, I'm getting an import error on startup:

```
  File "/Users/adaszko/repos/fieldaware/fieldaware-venv/lib/python2.7/site-packages/hypothesis/core.py", line 38, in <module>
    from coverage.files import canonical_filename
ImportError: cannot import name canonical_filename
```

I've downloaded https://files.pythonhosted.org/packages/4b/e4/5ebf3220993de03f2120a16d9e91cfd053f4c11ada0cf033f2bfe9683fcf/hypothesis-3.65.0-py2-none-any.whl and the `METADATA` file there specifies dependency on `coverage` without any version number:

```
% grep coverage METADATA
Requires-Dist: coverage
```

My local `coverage` is at `3.7.1`.  It works if I upgrade `coverage` to `4.4.1`, so I think there's an issue in hypothesis in that it doesn't specify the version bound on `coverage`.


Discussion:
Thanks for the report!

Yep, we don’t specify a version of coverage in our `setup.py`.

I think this is all the imports from coverage we use:

```python
from coverage import Coverage, CoverageData
from coverage.collector import Collector, FileDisposition
from coverage.files import canonical_filename
from coverage.tracer import CFileDisposition as FileDisposition
import coverage
```

I’ll work out what the minimum version we need is, and add a bound in `setup.py`.

Resolving patch:
diff --git a/hypothesis-python/setup.py b/hypothesis-python/setup.py
--- a/hypothesis-python/setup.py
+++ b/hypothesis-python/setup.py
@@ -68,7 +68,7 @@ def local_file(name):
 extras['all'] = sorted(sum(extras.values(), []))
 
 
-install_requires = ['attrs>=16.0.0', 'coverage']
+install_requires = ['attrs>=16.0.0', 'coverage>=4.0']
 # Using an environment marker on enum34 makes the dependency condition
 # independent of the build environemnt, which is important for wheels.
 # https://www.python.org/dev/peps/pep-0345/#environment-markers


Test patch:
Repository: HypothesisWorks/hypothesis

Issue:
Problem on OSX py2.7
We have got a problem on OSX py2.7 build for conda-forge packages:
https://travis-ci.org/conda-forge/hypothesis-feedstock/jobs/410755174
The rest of OSX builds are fine.
Support and test Django 2.1
[Django 2.1 was released on the first of August](https://docs.djangoproject.com/en/2.1/releases/2.1/), so it's time for us to make sure Hypothesis works well with it!

- [x] Add an entry to `.travis.yml` and to `hypothesis-python/tox.ini` to test it in CI
- [x] Update our docs on supported versions of Django and check that the constraints in `setup.py` match this (update: I thought of this last time, no change needed :smile:)
- [x] Note that supporting the new `null=True` for `BooleanField` doesn't require any change 😄


Discussion:
Huh. How has that test ever passed on 2.7? Python 2 regex reprs aren't anything meaningful. I guess it must be hitting the regular expression cache so the two are actually the same instance.

(Same story as before: Probably won't get a chance to fix this today myself, but it's probably just a matter of changing the test to check pattern and flags rather than repr if anyone else wants to look into it)

https://github.com/HypothesisWorks/hypothesis/blob/fe60c8aae7fd8478ef08acfd9f8f852ec004c1e7/hypothesis-python/tests/cover/test_pretty.py#L701-L706

Proposed change to:

```python
r2 = eval(pretty.pretty(r), globals())
assert r.pattern == r2.pattern and r.flags == r2.flags
```
The problem persists on 3.66.22: https://travis-ci.org/conda-forge/hypothesis-feedstock/jobs/410777173


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
@@ -406,6 +406,7 @@ def standard_tox_task(name):
 standard_tox_task('pytest30')
 standard_tox_task('faker070')
 standard_tox_task('faker-latest')
+standard_tox_task('django21')
 standard_tox_task('django20')
 standard_tox_task('django111')
 


Test patch:
diff --git a/hypothesis-python/tests/cover/test_pretty.py b/hypothesis-python/tests/cover/test_pretty.py
--- a/hypothesis-python/tests/cover/test_pretty.py
+++ b/hypothesis-python/tests/cover/test_pretty.py
@@ -703,7 +703,8 @@ def test_re_evals():
         re.compile(r'hi'), re.compile(r'b\nc', re.MULTILINE),
         re.compile(br'hi', 0), re.compile(u'foo', re.MULTILINE | re.UNICODE),
     ]:
-        assert repr(eval(pretty.pretty(r), globals())) == repr(r)
+        r2 = eval(pretty.pretty(r), globals())
+        assert r.pattern == r2.pattern and r.flags == r2.flags
 
 
 class CustomStuff(object):
Repository: HypothesisWorks/hypothesis

Issue:
Document npst.from_dtype as part of the public API
While it made sense to keep this as an internal function when we only accessed it via `npst.arrays`, the addition of the Pandas extra means it could be independently useful.

- [ ] Add docstring, name to `__all__`, etc.
- [ ] Raise InvalidArgument if it's passed an argument that is not an instance of `np.dtype`


Discussion:

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/extra/numpy.py b/hypothesis-python/src/hypothesis/extra/numpy.py
--- a/hypothesis-python/src/hypothesis/extra/numpy.py
+++ b/hypothesis-python/src/hypothesis/extra/numpy.py
@@ -31,6 +31,7 @@
 from hypothesis.internal.compat import hrange, text_type
 from hypothesis.internal.coverage import check_function
 from hypothesis.internal.reflection import proxies
+from hypothesis.internal.validation import check_type
 
 if False:
     from typing import Any, Union, Sequence, Tuple  # noqa
@@ -42,6 +43,8 @@
 @st.defines_strategy_with_reusable_values
 def from_dtype(dtype):
     # type: (np.dtype) -> st.SearchStrategy[Any]
+    """Creates a strategy which can generate any value of the given dtype."""
+    check_type(np.dtype, dtype, 'dtype')
     # Compound datatypes, eg 'f4,f4,f4'
     if dtype.names is not None:
         # mapping np.void.type over a strategy is nonsense, so return now.


Test patch:
diff --git a/hypothesis-python/tests/numpy/test_argument_validation.py b/hypothesis-python/tests/numpy/test_argument_validation.py
--- a/hypothesis-python/tests/numpy/test_argument_validation.py
+++ b/hypothesis-python/tests/numpy/test_argument_validation.py
@@ -17,6 +17,7 @@
 
 from __future__ import division, print_function, absolute_import
 
+import numpy
 import pytest
 
 import hypothesis.strategies as st
@@ -53,6 +54,10 @@ def e(a, **kwargs):
         e(nps.unsigned_integer_dtypes, endianness=3),
         e(nps.unsigned_integer_dtypes, sizes=()),
         e(nps.unsigned_integer_dtypes, sizes=(3,)),
+        e(nps.from_dtype, dtype='float64'),
+        e(nps.from_dtype, dtype=float),
+        e(nps.from_dtype, dtype=numpy.int8),
+        e(nps.from_dtype, dtype=1),
     ]
 )
 def test_raise_invalid_argument(function, kwargs):
Repository: HypothesisWorks/hypothesis

Issue:
note should print when verbosity is set to at least verbose 
We have the `note` function that prints its argument only on the final example, but actually it should probably print it for *every* example when `verbosity >= Verbosity.verbose`, so that people can actually see the tests as they run. 


Discussion:
Hey @DRMacIver can I work on this issue? 
@xynazog - this issue is all yours for the next week (our standard reservation time).  Tips: read `CONTRIBUTING.rst` and the `guides/` files, and feel free to ask if you have *any* trouble at all or just want a hand.  We're here to help!
I'm going to take a look at this issue

Resolving patch:
diff --git a/hypothesis-python/src/hypothesis/control.py b/hypothesis-python/src/hypothesis/control.py
--- a/hypothesis-python/src/hypothesis/control.py
+++ b/hypothesis-python/src/hypothesis/control.py
@@ -19,6 +19,7 @@
 
 import traceback
 
+from hypothesis import Verbosity, settings
 from hypothesis.errors import CleanupFailed, InvalidArgument, \
     UnsatisfiedAssumption
 from hypothesis.reporting import report
@@ -114,7 +115,7 @@ def note(value):
         raise InvalidArgument(
             'Cannot make notes outside of a test')
     context.notes.append(value)
-    if context.is_final:
+    if context.is_final or settings.default.verbosity >= Verbosity.verbose:
         report(value)
 
 


Test patch:
diff --git a/hypothesis-python/tests/cover/test_control.py b/hypothesis-python/tests/cover/test_control.py
--- a/hypothesis-python/tests/cover/test_control.py
+++ b/hypothesis-python/tests/cover/test_control.py
@@ -19,10 +19,12 @@
 
 import pytest
 
+from hypothesis import Verbosity, given, settings, reporting
 from hypothesis.errors import CleanupFailed, InvalidArgument
 from hypothesis.control import BuildContext, note, event, cleanup, \
     current_build_context, _current_build_context
 from tests.common.utils import capture_out
+from hypothesis.strategies import integers
 from hypothesis.internal.conjecture.data import ConjectureData as TD
 
 
@@ -124,3 +126,26 @@ def test_raises_if_current_build_context_out_of_context():
 def test_current_build_context_is_current():
     with bc() as a:
         assert current_build_context() is a
+
+
+def test_prints_all_notes_in_verbose_mode():
+    # slightly roundabout because @example messes with verbosity - see #1521
+    generated_integers = []
+
+    def notefmt(x):
+        return 'x -> %d' % (x,)
+
+    @settings(verbosity=Verbosity.debug)
+    @given(integers(1, 10))
+    def test(x):
+        generated_integers.append(x)
+        note(notefmt(x))
+        assert x < 5
+
+    with capture_out() as out:
+        with reporting.with_reporter(reporting.default):
+            with pytest.raises(AssertionError):
+                test()
+    v = out.getvalue()
+    for x in generated_integers:
+        assert notefmt(x) in v