Commit Graph

58 Commits

Author SHA1 Message Date
Guido van Rossum bf12cdbb28 Quite a few fixes to make the library and test suite more robust when
cPickle cannot be imported.  This was necessary because my last mass
checkin broke cPickle and I don't feel like debugging it right now;
but it seems a good idea in general not to require cPickle when
pickle.py is also there.  A few unrelated fixes for issues while
debigging various test failures.

setup.py: disable building of cPickle until I've fixed it

Objects/...

  genobject.c: disallow raising string exceptions

Lib/...

  Cookie.py: fix doctest not to fail if cPickle is missing
  ctypes/macholib/dyld.py: fix relative imports
  sqlite3/__init__.py: fix relative import
  xml/dom/__init__.py: fix relative import

Lib/test/...

  regrtest.py: reduce list of skipped items on darwin

  test_generators.py: don't test string exceptions; test throw() errors
  test_traceback.py: don't test string exceptions

  pickletester.py: don't fail if cPickle is missing
  test_datetime.py: don't fail if cPickle is missing
  test_descr.py: don't fail if cPickle is missing (still some other failures)
  test_exceptions.py: don't fail if cPickle is missing
  test_re.py: don't fail if cPickle is missing

  test_array.py: use pickle, not cPickle
  test_bool.py: don't fail if cPickle is missing
  test_deque.py: use pickle, not cPickle
  test_logging.py: use pickle, not cPickle
2006-08-17 20:24:18 +00:00
Thomas Wouters 9ada3d6e29 Merge trunk up to 43069, putting re.py back and hopefully making the branch
usable again.
2006-04-21 09:47:09 +00:00
Gustavo Niemeyer 6fa0c5a452 Bug #1202493: Fixing SRE parser to handle '{}' as perl does, rather than
considering it exactly like a '*'.
2005-09-14 08:54:39 +00:00
Michael W. Hudson e7fa1af85b M-x untabify 2005-06-03 13:55:58 +00:00
Andrew M. Kuchling 3554cad009 [Bug #1177831] Exercise (?(id)yes|no) for a group other than the first one 2005-06-02 13:38:45 +00:00
Tim Peters 0e9980f75a Whitespace normalization. 2004-09-12 03:49:31 +00:00
Gustavo Niemeyer 0506c64086 Fixing bug #817234, which made SRE get into an infinite loop on
empty final matches with finditer(). New test cases included
for this bug and for #581080.
2004-09-03 18:11:59 +00:00
Gustavo Niemeyer a01a2ee933 Applying modified version of patch #1018386, which fixes
some escaping bugs in SRE.
2004-09-03 17:06:10 +00:00
Raymond Hettinger 027bb633b6 Add weakref support to sockets and re pattern objects. 2004-05-31 03:09:25 +00:00
Martin v. Löwis 7d9c6c7e8c Fix _sre.CODESIZE on 64-bit machines in UCS-4 mode. Fixes #931848.
Backported to 2.3.
2004-05-07 07:18:13 +00:00
Hye-Shik Chang 9f62eccb66 SF #926075: Fixed the bug that returns a wrong pattern object for
a string or unicode object in sre.compile() when a different type
pattern with the same value exists.
2004-04-20 21:30:07 +00:00
Tim Peters 58eb11cf62 Whitespace normalization. 2004-01-18 20:29:55 +00:00
Gustavo Niemeyer ad3fc44ccb Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
Just van Rossum 12723bacea Fix and test for bug #764548:
Use isinstance() instead of comparing types directly, to enable
subclasses of str and unicode to be used as patterns.
Blessed by /F.
2003-07-02 20:03:04 +00:00
Just van Rossum 6802c6e764 fixed typo in comment 2003-07-02 14:36:59 +00:00
Gustavo Niemeyer 25fe0bf91a Many new tests, based on gcov's coverage information.
From gcov's output (based on a locally changed _sre.c):

  82.07% of 1372 source lines executed in file ./Modules/_sre.c
2003-06-20 00:25:14 +00:00
Walter Dörwald 21d3a32b99 Combine the functionality of test_support.run_unittest()
and test_support.run_classtests() into run_unittest()
and use it wherever possible.

Also don't use "from test.test_support import ...", but
"from test import test_support" in a few spots.

From SF patch #662807.
2003-05-01 17:45:56 +00:00
Gustavo Niemeyer 3646ab98af Fix for part of the problem mentioned in #725149 by Greg Chapman.
This problem is related to a wrong behavior from mark_save/restore(),
which don't restore the mark_stack_base before restoring the marks.
Greg's suggestion was to change the asserts, which happen to be
the only recursive ops that can continue the loop, but the problem would
happen to any operation with the same behavior. So, rather than
hardcoding this into asserts, I have changed mark_save/restore() to
always restore the stackbase before restoring the marks.

Both solutions should fix these two cases, presented by Greg:

>>> re.match('(a)(?:(?=(b)*)c)*', 'abb').groups()
('b', None)
>>> re.match('(a)((?!(b)*))*', 'abb').groups()
('b', None, None)

The rest of the bug and patch in #725149 must be discussed further.
2003-04-27 13:25:21 +00:00
Gustavo Niemeyer c34f2555bd Applied patch #725106, by Greg Chapman, fixing capturing groups
within repeats of alternatives. The only change to the original
patch was to convert the tests to the new test_re.py file.

This patch fixes cases like:

>>> re.match('((a)|b)*', 'abc').groups()
('b', '')

Which is wrong (it's impossible to match the empty string),
and incompatible with other regex systems, like the following
examples show:

% perl -e '"abc" =~ /^((a)|b)*/; print "$1 $2\n";'
b a

% echo "abc" | sed -r -e "s/^((a)|b)*/\1 \2|/"
b a|c
2003-04-27 12:34:14 +00:00
Skip Montanaro 5ba0054e69 final bit of tests converted from test_sre 2003-04-25 16:00:14 +00:00
Skip Montanaro 1e703c6278 more tests converted from test_sre 2003-04-25 15:40:28 +00:00
Skip Montanaro 2726fcd4b6 more tests from test_sre 2003-04-25 14:31:54 +00:00
Skip Montanaro 7d9963fea8 copy a few tests from test_sre 2003-04-25 14:12:40 +00:00
Guido van Rossum 46144be02c Fix test_limitations(). The match there is *expected* to raise
RuntimeError.
2003-04-25 01:40:11 +00:00
Skip Montanaro 8ed06da754 first cut at unittest version of re tests 2003-04-24 19:43:18 +00:00
Barry Warsaw 408b6d34de Complete the absolute import patch for the test suite. All relative
imports of test modules now import from the test package.  Other
related oddities are also fixed (like DeprecationWarning filters that
weren't specifying the full import part, etc.).  Also did a general
code cleanup to remove all "from test.test_support import *"'s.  Other
from...import *'s weren't changed.
2002-07-30 23:27:12 +00:00
Barry Warsaw 04f357cffe Get rid of relative imports in all unittests. Now anything that
imports e.g. test_support must do so using an absolute package name
such as "import test.test_support" or "from test import test_support".

This also updates the README in Lib/test, and gets rid of the
duplicate data dirctory in Lib/test/data (replaced by
Lib/email/test/data).

Now Tim and Jack can have at it. :)
2002-07-23 19:04:11 +00:00
Guido van Rossum e056e4d15c Check in a testcase for SF bug #449000: re.sub(r'\n', ...) broke. 2001-08-10 14:52:48 +00:00
Fredrik Lundh 17741be466 SRE 2.1b1: don't do unicode tests under 1.5.2, or on unicode
strings/patterns.
2001-03-22 15:51:28 +00:00
Eric S. Raymond 2846b0ab41 String method conversion.
(This one was trivial -- no actual string. references in it!)
2001-02-09 12:00:47 +00:00
Marc-André Lemburg 3661908a6a This patch removes all uses of "assert" in the regression test suite
and replaces them with a new API verify(). As a result the regression
suite will also perform its tests in optimization mode.

Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
2001-01-17 19:11:13 +00:00
Fred Drake 132dce2246 Update the code to better reflect recommended style:
Use != instead of <> since <> is documented as "obsolescent".
Use "is" and "is not" when comparing with None or type objects.
2000-12-12 23:11:42 +00:00
Fred Drake 004d5e6880 Make reindent.py happy (convert everything to 4-space indents!). 2000-10-23 17:22:08 +00:00
Fred Drake 8ae9ce5e5b Better conformance to the Python Style Guide: use spaces around operators. 2000-08-18 16:09:56 +00:00
Fredrik Lundh 8e6d571a7c -- enabled some temporarily disabled RE tests
-- added basic unicode tests to test_re
-- added test case for Sjoerd's xmllib problem to re_tests
2000-08-08 17:06:53 +00:00
Fredrik Lundh 1151a8cd61 -- whitespace cleanup (more tests to be added in the next commit) 2000-08-08 16:47:42 +00:00
Andrew M. Kuchling e6f164622f Comment out repeated-group test for the moment 2000-08-03 12:16:29 +00:00
Andrew M. Kuchling a3eacc472c Add nasty test case that overflows the stack with a repeated group 2000-08-03 02:06:45 +00:00
Guido van Rossum 2850d18615 Switch to sre for regular expression matching (the new mini-re module
is actually by Fredrik Lundh).  This will break the re tests --
Fredrik will fix this before the final release.
2000-06-30 16:25:20 +00:00
Guido van Rossum c364cf8228 Added tests for findall().
Added test for m.groups() with default.
Added a few prints announcing various tests in verbose mode.
1998-07-17 20:05:02 +00:00
Guido van Rossum 1cd4d52f2f Remove RCS and #! cruft at top. 1998-06-26 13:38:38 +00:00
Guido van Rossum 8430c583da AMK's latest 1998-04-03 21:47:12 +00:00
Guido van Rossum 41360a4696 Mass check-in after untabifying all files that need it. 1998-03-26 19:42:58 +00:00
Guido van Rossum f473cb007b Added tests for qualified sub and split 1998-01-14 16:42:17 +00:00
Guido van Rossum f5910e42d1 Add tests for re.L(OCALE). 1997-12-30 17:32:33 +00:00
Guido van Rossum dfa6790bd6 New re version from AMK 1997-12-08 17:12:06 +00:00
Guido van Rossum 9ec2ed466b Change test for re.sub() involving g<...> to use a multi-character
identifier.  The previous re.py had a bug that wouldn't show up with
single-char identifier...
1997-10-08 04:05:08 +00:00
Guido van Rossum d807b7589b The re test suite is very slow on slower hosts.
To save time, only run the first and last 10 tests except in verbose mode.
1997-09-04 14:35:45 +00:00
Guido van Rossum 95e8053a9f 1.5a3 prerelease 1 from AMK 1997-08-13 22:34:14 +00:00
Guido van Rossum 4994657c5f Some new tests by Jeffrey 1997-07-18 04:26:25 +00:00