]> granicus.if.org Git - python/commitdiff
Use unittest and make sure a few other cases don't crash
authorNeal Norwitz <nnorwitz@gmail.com>
Mon, 23 Jan 2006 07:49:36 +0000 (07:49 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Mon, 23 Jan 2006 07:49:36 +0000 (07:49 +0000)
Lib/test/test_symtable.py

index 44a8916fd6ba31ba23aa0b3aeffe8a59a69981a3..74a7c8559a66699db9f4137b975a564b4d53e6c6 100644 (file)
@@ -1,8 +1,8 @@
-from test.test_support import vereq, TestFailed
+from test import test_support
 
 import symtable
+import unittest
 
-symbols = symtable.symtable("def f(x): return x", "?", "exec")
 
 ## XXX
 ## Test disabled because symtable module needs to be rewritten for new compiler
@@ -21,3 +21,24 @@ symbols = symtable.symtable("def f(x): return x", "?", "exec")
 ##        raise TestFailed("no SyntaxError for %r" % (brokencode,))
 ##checkfilename("def f(x): foo)(")  # parse-time
 ##checkfilename("def f(x): global x")  # symtable-build-time
+
+class SymtableTest(unittest.TestCase):
+    def test_invalid_args(self):
+        self.assertRaises(TypeError, symtable.symtable, "42")
+        self.assertRaises(ValueError, symtable.symtable, "42", "?", "")
+
+    def test_eval(self):
+        symbols = symtable.symtable("42", "?", "eval")
+
+    def test_single(self):
+        symbols = symtable.symtable("42", "?", "single")
+
+    def test_exec(self):
+        symbols = symtable.symtable("def f(x): return x", "?", "exec")
+
+
+def test_main():
+    test_support.run_unittest(SymtableTest)
+
+if __name__ == '__main__':
+    test_main()