mirror of https://github.com/python/cpython
DecimalContextTestCase: this permanently changed the
default decimal context, causing test_tokenize to fail if it ran after test_contextlib. Changed to restore the decimal context in effect at the test's start.
This commit is contained in:
parent
bd0c10f7c9
commit
a19dc0beb1
|
@ -313,20 +313,24 @@ class DecimalContextTestCase(unittest.TestCase):
|
||||||
|
|
||||||
def testBasic(self):
|
def testBasic(self):
|
||||||
ctx = decimal.getcontext()
|
ctx = decimal.getcontext()
|
||||||
ctx.prec = save_prec = decimal.ExtendedContext.prec + 5
|
orig_context = ctx.copy()
|
||||||
with decimal.ExtendedContext:
|
|
||||||
self.assertEqual(decimal.getcontext().prec,
|
|
||||||
decimal.ExtendedContext.prec)
|
|
||||||
self.assertEqual(decimal.getcontext().prec, save_prec)
|
|
||||||
try:
|
try:
|
||||||
|
ctx.prec = save_prec = decimal.ExtendedContext.prec + 5
|
||||||
with decimal.ExtendedContext:
|
with decimal.ExtendedContext:
|
||||||
self.assertEqual(decimal.getcontext().prec,
|
self.assertEqual(decimal.getcontext().prec,
|
||||||
decimal.ExtendedContext.prec)
|
decimal.ExtendedContext.prec)
|
||||||
1/0
|
|
||||||
except ZeroDivisionError:
|
|
||||||
self.assertEqual(decimal.getcontext().prec, save_prec)
|
self.assertEqual(decimal.getcontext().prec, save_prec)
|
||||||
else:
|
try:
|
||||||
self.fail("Didn't raise ZeroDivisionError")
|
with decimal.ExtendedContext:
|
||||||
|
self.assertEqual(decimal.getcontext().prec,
|
||||||
|
decimal.ExtendedContext.prec)
|
||||||
|
1/0
|
||||||
|
except ZeroDivisionError:
|
||||||
|
self.assertEqual(decimal.getcontext().prec, save_prec)
|
||||||
|
else:
|
||||||
|
self.fail("Didn't raise ZeroDivisionError")
|
||||||
|
finally:
|
||||||
|
decimal.setcontext(orig_context)
|
||||||
|
|
||||||
|
|
||||||
# This is needed to make the test actually run under regrtest.py!
|
# This is needed to make the test actually run under regrtest.py!
|
||||||
|
|
Loading…
Reference in New Issue