From: Stefan Krah Date: Mon, 2 Apr 2012 17:10:20 +0000 (+0200) Subject: Testing the implicit initialization of the thread local context on first X-Git-Tag: v3.3.0a3~331 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9d2801095f6186a0993259fe558a22c27abeb8be;p=python 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. --- diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py index 286d82c0da..694b959e21 100644 --- a/Lib/test/test_decimal.py +++ b/Lib/test/test_decimal.py @@ -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 = {