bpo-34179: Make sure decimal context doesn't affect other tests. (GH-8376) (#8384)

(cherry picked from commit 938045f335)

Co-authored-by: Bo Bayles <bbayles@gmail.com>
This commit is contained in:
Miss Islington (bot) 2018-07-21 11:38:49 -07:00 committed by Stefan Krah
parent 916bcc6fde
commit 9c136700aa
1 changed files with 12 additions and 12 deletions

View File

@ -772,19 +772,19 @@ class CPyTimeTestCase:
ns_timestamps = self._rounding_values(use_float)
valid_values = convert_values(ns_timestamps)
for time_rnd, decimal_rnd in ROUNDING_MODES :
context = decimal.getcontext()
context.rounding = decimal_rnd
with decimal.localcontext() as context:
context.rounding = decimal_rnd
for value in valid_values:
debug_info = {'value': value, 'rounding': decimal_rnd}
try:
result = pytime_converter(value, time_rnd)
expected = expected_func(value)
except Exception as exc:
self.fail("Error on timestamp conversion: %s" % debug_info)
self.assertEqual(result,
expected,
debug_info)
for value in valid_values:
debug_info = {'value': value, 'rounding': decimal_rnd}
try:
result = pytime_converter(value, time_rnd)
expected = expected_func(value)
except Exception as exc:
self.fail("Error on timestamp conversion: %s" % debug_info)
self.assertEqual(result,
expected,
debug_info)
# test overflow
ns = self.OVERFLOW_SECONDS * SEC_TO_NS