Author: Armin Rigo <ar...@tunes.org> Branch: py3.5 Changeset: r87814:bd88b9bb4db8 Date: 2016-10-15 14:25 +0200 http://bitbucket.org/pypy/pypy/changeset/bd88b9bb4db8/
Log: Add error/warning for re.split('') diff --git a/pypy/module/_sre/interp_sre.py b/pypy/module/_sre/interp_sre.py --- a/pypy/module/_sre/interp_sre.py +++ b/pypy/module/_sre/interp_sre.py @@ -262,6 +262,14 @@ @unwrap_spec(maxsplit=int) def split_w(self, w_string, maxsplit=0): space = self.space + if self.code[0] != rsre_core.OPCODE_INFO or self.code[3] == 0: + if self.code[0] == rsre_core.OPCODE_INFO and self.code[4] == 0: + raise oefmt(space.w_ValueError, + "split() requires a non-empty pattern match.") + space.warn( + space.wrap("split() requires a non-empty pattern match."), + space.w_FutureWarning) + # splitlist = [] n = 0 last = 0 diff --git a/pypy/module/_sre/test/test_app_sre.py b/pypy/module/_sre/test/test_app_sre.py --- a/pypy/module/_sre/test/test_app_sre.py +++ b/pypy/module/_sre/test/test_app_sre.py @@ -1041,3 +1041,8 @@ import re assert re.search(".+ab", "wowowowawoabwowo") assert None == re.search(".+ab", "wowowaowowo") + + def test_split_nonempty(self): + import re + raises(ValueError, re.split, '', '') + re.split("a*", '') # -> warning _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit