annotate Lib/test/test_syntax.py @ 27998:e27f58a50737 legacy-trunk

SF bug #690377: Dud footnote reference in distutils docs
author Raymond Hettinger <python@rcn.com>
date Fri, 21 Feb 2003 02:47:09 +0000
parents aa0d2d51fbde
children 030227de8051
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23589
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
1 import re
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
2 import unittest
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
3
24364
aa0d2d51fbde Get rid of relative imports in all unittests. Now anything that
Barry Warsaw <barry@python.org>
parents: 23589
diff changeset
4 from test import test_support
23589
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
5
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
6 class SyntaxTestCase(unittest.TestCase):
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
7
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
8 def _check_error(self, code, errtext,
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
9 filename="<testcase>", mode="exec"):
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
10 """Check that compiling code raises SyntaxError with errtext.
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
11
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
12 errtest is a regular expression that must be present in the
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
13 test of the exception raised.
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
14 """
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
15 try:
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
16 compile(code, filename, mode)
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
17 except SyntaxError, err:
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
18 mo = re.search(errtext, str(err))
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
19 if mo is None:
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
20 self.fail("SyntaxError did not contain '%s'" % `errtext`)
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
21 else:
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
22 self.fail("compile() did not raise SyntaxError")
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
23
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
24 def test_assign_call(self):
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
25 self._check_error("f() = 1", "assign")
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
26
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
27 def test_assign_del(self):
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
28 self._check_error("del f()", "delete")
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
29
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
30 def test_main():
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
31 test_support.run_unittest(SyntaxTestCase)
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
32
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
33 if __name__ == "__main__":
b0658feef939 Fix SF bug [ 561825 ] Confusing error for "del f()"
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff changeset
34 test_main()