Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_coding.py @ 58765:2ba7677bfa95 legacy-trunk
testCopysign was defined twice in test_math; combine the definitions
| author | Mark Dickinson <dickinsm@gmail.com> |
|---|---|
| date | Sat, 06 Feb 2010 23:11:25 +0000 |
| parents | 4a50f0bdc806 |
| children | 9b4625700251 |
| rev | line source |
|---|---|
|
35666
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
1 |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
2 import test.test_support, unittest |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
3 import os |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
4 |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
5 class CodingTest(unittest.TestCase): |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
6 def test_bad_coding(self): |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
7 module_name = 'bad_coding' |
|
36078
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
8 self.verify_bad_module(module_name) |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
9 |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
10 def test_bad_coding2(self): |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
11 module_name = 'bad_coding2' |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
12 self.verify_bad_module(module_name) |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
13 |
|
1ff4790b7605
Fix Bug #1378022, UTF-8 files with a leading BOM crashed the interpreter.
Neal Norwitz <nnorwitz@gmail.com>
parents:
35666
diff
changeset
|
14 def verify_bad_module(self, module_name): |
|
35666
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
15 self.assertRaises(SyntaxError, __import__, 'test.' + module_name) |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
16 |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
17 path = os.path.dirname(__file__) |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
18 filename = os.path.join(path, module_name + '.py') |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
19 fp = open(filename) |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
20 text = fp.read() |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
21 fp.close() |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
22 self.assertRaises(SyntaxError, compile, text, filename, 'exec') |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
23 |
|
54760
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
24 def test_error_from_string(self): |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
25 # See http://bugs.python.org/issue6289 |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
26 input = u"# coding: ascii\n\N{SNOWMAN}".encode('utf-8') |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
27 try: |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
28 compile(input, "<string>", "exec") |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
29 except SyntaxError as e: |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
30 expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \ |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
31 "ordinal not in range(128)" |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
32 self.assertTrue(str(e).startswith(expected)) |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
33 else: |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
34 self.fail("didn't raise") |
|
4a50f0bdc806
don't mask encoding errors when decoding a string #6289
Benjamin Peterson <benjamin@python.org>
parents:
36078
diff
changeset
|
35 |
|
35666
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
36 def test_main(): |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
37 test.test_support.run_unittest(CodingTest) |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
38 |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
39 if __name__ == "__main__": |
|
b8e571e6de2e
- Fix segfault with invalid coding.
Neal Norwitz <nnorwitz@gmail.com>
parents:
diff
changeset
|
40 test_main() |
