Created attachment 1445508 [details] build.log from copr Description of problem: python-paste FTBFS on python 3.7, the test fail with RuntimeError: generator raised StopIteration + nosetests-3.7 -e '.*test_paste_website' BUILDSTDERR: ...E..................................................................................................................................... ====================================================================== ERROR: tests.test_auth.test_auth_digest.test_digest ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/auth/digest.py", line 60, in _split_auth_string raise StopIteration StopIteration The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/tests/test_auth/test_auth_digest.py", line 52, in test_digest assert b'bing' == check("bing","gnib") File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/tests/test_auth/test_auth_digest.py", line 44, in check HTTP_AUTHORIZATION=response) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/wsgilib.py", line 348, in raw_interactive app_iter = application(basic_environ, start_response) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/httpexceptions.py", line 640, in __call__ return self.application(environ, start_response) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/auth/digest.py", line 222, in __call__ result = self.authenticate(environ) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/auth/digest.py", line 144, in authenticate amap = dict(_auth_to_kv_pairs(auth)) File "/builddir/build/BUILD/python3-python-paste-2.0.3-5.fc29/paste/auth/digest.py", line 64, in _auth_to_kv_pairs for item in _split_auth_string(auth_string): RuntimeError: generator raised StopIteration ---------------------------------------------------------------------- Ran 137 tests in 0.747s FAILED (errors=1) This has been changed in 3.7: seek for PEP 479 in https://docs.python.org/3.7/whatsnew/3.7.html#changes-in-python-behavior Version-Release number of selected component (if applicable): 2.0.3-5.fc29 Logs attached.
Created attachment 1445509 [details] root.log from copr
Assigning to Randy, because I don't believe Luke would respond. Similar fix from other project: https://github.com/erikrose/more-itertools/commit/e38574428c952b143fc4e0e42cb99b242c7b7977
Complete documentation for the change is in [PEP 479]. [PEP 479]: https://www.python.org/dev/peps/pep-0479/ > When StopIteration is raised inside a generator, it is replaced it with RuntimeError. (More precisely, this happens when the exception is about to bubble out of the generator's stack frame.)
Randy?
Randy, 3.7.0c1 is expected in 3 days (2018-06-11, [1]). I'd like to start building stuff in a side tag soon after that. This blocks the "packager stack", hence a bit critical. Could you please respond? [1] https://www.python.org/dev/peps/pep-0537/
This blocks webtest and pyramid.
https://bitbucket.org/ianb/paste/pull-requests/41/python-37-support/diff
https://src.fedoraproject.org/rpms/python-paste/pull-request/2
Hi Miro, I apologize for not responding quickly. I didn't realize it was blocking the packaging stack, and I also have about 3-4x the workload I can handle at the moment :/
Randy, don't worry. I know the feeling, that's why I went ahead and did this myself.
(In reply to Miro Hrončok from comment #10) > Randy, don't worry. I know the feeling, that's why I went ahead and did this > myself. Thanks so much for taking care of that for me. Collaboration for the win!