mirror of
https://github.com/python/cpython.git
synced 2025-10-13 10:23:28 +00:00
(partially)
Merged revisions 79534,79537,79539,79558,79606 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r79534 | florent.xicluna | 2010-03-31 23:21:54 +0200 (mer, 31 mar 2010) | 2 lines Fix test for xml.etree when using a non-ascii path. And use check_warnings instead of catch_warnings. ........ r79537 | florent.xicluna | 2010-03-31 23:40:32 +0200 (mer, 31 mar 2010) | 2 lines Fix typo ........ r79539 | florent.xicluna | 2010-04-01 00:01:03 +0200 (jeu, 01 avr 2010) | 2 lines Replace catch_warnings with check_warnings when it makes sense. Use assertRaises context manager to simplify some tests. ........ r79558 | florent.xicluna | 2010-04-01 20:17:09 +0200 (jeu, 01 avr 2010) | 2 lines #7092: Fix some -3 warnings, and fix Lib/platform.py when the path contains a double-quote. ........ r79606 | florent.xicluna | 2010-04-02 19:26:42 +0200 (ven, 02 avr 2010) | 2 lines Backport some robotparser test and skip the test if the external resource is not available. ........
This commit is contained in:
parent
1bfd0cc5d4
commit
41fe615539
14 changed files with 60 additions and 95 deletions
|
@ -1,7 +1,5 @@
|
|||
"""Unit tests for contextlib.py, and other context managers."""
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
@ -9,6 +7,7 @@ import threading
|
|||
from contextlib import * # Tests __all__
|
||||
from test import support
|
||||
|
||||
|
||||
class ContextManagerTestCase(unittest.TestCase):
|
||||
|
||||
def test_contextmanager_plain(self):
|
||||
|
@ -33,16 +32,12 @@ class ContextManagerTestCase(unittest.TestCase):
|
|||
yield 42
|
||||
finally:
|
||||
state.append(999)
|
||||
try:
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
with woohoo() as x:
|
||||
self.assertEqual(state, [1])
|
||||
self.assertEqual(x, 42)
|
||||
state.append(x)
|
||||
raise ZeroDivisionError()
|
||||
except ZeroDivisionError:
|
||||
pass
|
||||
else:
|
||||
self.fail("Expected ZeroDivisionError")
|
||||
self.assertEqual(state, [1, 42, 999])
|
||||
|
||||
def test_contextmanager_no_reraise(self):
|
||||
|
@ -130,14 +125,11 @@ class ClosingTestCase(unittest.TestCase):
|
|||
state.append(1)
|
||||
x = C()
|
||||
self.assertEqual(state, [])
|
||||
try:
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
with closing(x) as y:
|
||||
self.assertEqual(x, y)
|
||||
1/0
|
||||
except ZeroDivisionError:
|
||||
self.assertEqual(state, [1])
|
||||
else:
|
||||
self.fail("Didn't raise ZeroDivisionError")
|
||||
1 / 0
|
||||
self.assertEqual(state, [1])
|
||||
|
||||
class FileContextTestCase(unittest.TestCase):
|
||||
|
||||
|
@ -150,20 +142,14 @@ class FileContextTestCase(unittest.TestCase):
|
|||
f.write("Booh\n")
|
||||
self.assertTrue(f.closed)
|
||||
f = None
|
||||
try:
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
with open(tfn, "r") as f:
|
||||
self.assertFalse(f.closed)
|
||||
self.assertEqual(f.read(), "Booh\n")
|
||||
1/0
|
||||
except ZeroDivisionError:
|
||||
self.assertTrue(f.closed)
|
||||
else:
|
||||
self.fail("Didn't raise ZeroDivisionError")
|
||||
1 / 0
|
||||
self.assertTrue(f.closed)
|
||||
finally:
|
||||
try:
|
||||
os.remove(tfn)
|
||||
except os.error:
|
||||
pass
|
||||
support.unlink(tfn)
|
||||
|
||||
class LockContextTestCase(unittest.TestCase):
|
||||
|
||||
|
@ -172,14 +158,11 @@ class LockContextTestCase(unittest.TestCase):
|
|||
with lock:
|
||||
self.assertTrue(locked())
|
||||
self.assertFalse(locked())
|
||||
try:
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
with lock:
|
||||
self.assertTrue(locked())
|
||||
1/0
|
||||
except ZeroDivisionError:
|
||||
self.assertFalse(locked())
|
||||
else:
|
||||
self.fail("Didn't raise ZeroDivisionError")
|
||||
1 / 0
|
||||
self.assertFalse(locked())
|
||||
|
||||
def testWithLock(self):
|
||||
lock = threading.Lock()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue