blob: c5c4f6376f454cedf94c65a469bf836dbe19230b [file] [log] [blame]
Jeremy Hylton05ab2e62002-05-31 14:08:29 +00001import re
2import unittest
3
Barry Warsaw04f357c2002-07-23 19:04:11 +00004from test import test_support
Jeremy Hylton05ab2e62002-05-31 14:08:29 +00005
6class SyntaxTestCase(unittest.TestCase):
7
8 def _check_error(self, code, errtext,
9 filename="<testcase>", mode="exec"):
10 """Check that compiling code raises SyntaxError with errtext.
11
12 errtest is a regular expression that must be present in the
13 test of the exception raised.
14 """
15 try:
16 compile(code, filename, mode)
17 except SyntaxError, err:
18 mo = re.search(errtext, str(err))
19 if mo is None:
20 self.fail("SyntaxError did not contain '%s'" % `errtext`)
21 else:
22 self.fail("compile() did not raise SyntaxError")
23
24 def test_assign_call(self):
25 self._check_error("f() = 1", "assign")
26
27 def test_assign_del(self):
28 self._check_error("del f()", "delete")
29
30def test_main():
31 test_support.run_unittest(SyntaxTestCase)
32
33if __name__ == "__main__":
34 test_main()