diff options
Diffstat (limited to 'Lib/test/test_contextlib.py')
| -rw-r--r-- | Lib/test/test_contextlib.py | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py index 7d601fa..97470c7 100644 --- a/Lib/test/test_contextlib.py +++ b/Lib/test/test_contextlib.py @@ -313,20 +313,24 @@ class DecimalContextTestCase(unittest.TestCase):      def testBasic(self):          ctx = decimal.getcontext() -        ctx.prec = save_prec = decimal.ExtendedContext.prec + 5 -        with decimal.ExtendedContext: -            self.assertEqual(decimal.getcontext().prec, -                             decimal.ExtendedContext.prec) -        self.assertEqual(decimal.getcontext().prec, save_prec) +        orig_context = ctx.copy()          try: +            ctx.prec = save_prec = decimal.ExtendedContext.prec + 5              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") +            try: +                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!  | 
