Commit 9d280109 authored by Stefan Krah's avatar Stefan Krah

Testing the implicit initialization of the thread local context on first

access fails (expectedly) if other modules have already used decimal. The
only option is to remove the test.
parent 368b4b74
......@@ -56,76 +56,6 @@ sys.modules['decimal'] = C
fractions = {C:cfractions, P:pfractions}
sys.modules['decimal'] = orig_sys_decimal
############ RunFirst ############
class RunFirst(unittest.TestCase):
def setUp(self):
self.save_default = self.decimal.DefaultContext.copy()
def tearDown(self):
DefaultContext = self.decimal.DefaultContext
DefaultContext.prec = self.save_default.prec
DefaultContext.rounding = self.save_default.rounding
DefaultContext.Emax = self.save_default.Emax
DefaultContext.Emin = self.save_default.Emin
DefaultContext.capitals = self.save_default.capitals
DefaultContext.clamp = self.save_default.clamp
DefaultContext.flags = self.save_default.flags
DefaultContext.traps = self.save_default.traps
self.decimal.setcontext(self.decimal.DefaultContext)
def test_00default_context(self):
# The test depends on the fact that getcontext() is called
# for the first time.
DefaultContext = self.decimal.DefaultContext
ROUND_05UP = self.decimal.ROUND_05UP
Clamped = self.decimal.Clamped
InvalidOperation = self.decimal.InvalidOperation
DefaultContext.prec = 5001
DefaultContext.rounding = ROUND_05UP
DefaultContext.Emax = 10025
DefaultContext.Emin = -10025
DefaultContext.capitals = 0
DefaultContext.clamp = 1
DefaultContext.flags[InvalidOperation] = True
DefaultContext.clear_traps()
DefaultContext.traps[Clamped] = True
# implicit initialization on first access
c = self.decimal.getcontext()
self.assertEqual(c.prec, 5001)
self.assertEqual(c.rounding, ROUND_05UP)
self.assertEqual(c.Emax, 10025)
self.assertEqual(c.Emin, -10025)
self.assertEqual(c.capitals, 0)
self.assertEqual(c.clamp, 1)
for k in c.flags:
self.assertFalse(c.flags[k])
for k in c.traps:
if k is Clamped:
self.assertTrue(c.traps[k])
else:
self.assertFalse(c.traps[k])
# explicit initialization
self.decimal.setcontext(DefaultContext)
c = self.decimal.getcontext()
for k in c.flags:
self.assertFalse(c.flags[k])
class CRunFirst(RunFirst):
decimal = C
class PyRunFirst(RunFirst):
decimal = P
if C:
run_unittest(CRunFirst, PyRunFirst)
else:
run_unittest(PyRunFirst)
############ END RunFirst ############
# Useful Test Constant
Signals = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment