mirror of https://github.com/python/cpython
test_main(): Restore the decimal context that was in
effect at the time test_decimal was imported. Else running test_decimal had the bad side effect of permanently changing the decimal context in effect. That caused text_tokenize to fail if it ran after test_decimal.
This commit is contained in:
parent
ef57567de0
commit
46cc702b72
|
@ -29,7 +29,8 @@ import glob
|
|||
import os, sys
|
||||
import pickle, copy
|
||||
from decimal import *
|
||||
from test.test_support import TestSkipped, run_unittest, run_doctest, is_resource_enabled
|
||||
from test.test_support import (TestSkipped, run_unittest, run_doctest,
|
||||
is_resource_enabled)
|
||||
import random
|
||||
try:
|
||||
import threading
|
||||
|
@ -39,13 +40,14 @@ except ImportError:
|
|||
# Useful Test Constant
|
||||
Signals = getcontext().flags.keys()
|
||||
|
||||
# Tests are built around these assumed context defaults
|
||||
DefaultContext.prec=9
|
||||
DefaultContext.rounding=ROUND_HALF_EVEN
|
||||
DefaultContext.traps=dict.fromkeys(Signals, 0)
|
||||
# Tests are built around these assumed context defaults.
|
||||
# test_main() restores the original context.
|
||||
ORIGINAL_CONTEXT = getcontext().copy()
|
||||
DefaultContext.prec = 9
|
||||
DefaultContext.rounding = ROUND_HALF_EVEN
|
||||
DefaultContext.traps = dict.fromkeys(Signals, 0)
|
||||
setcontext(DefaultContext)
|
||||
|
||||
|
||||
TESTDATADIR = 'decimaltestdata'
|
||||
if __name__ == '__main__':
|
||||
file = sys.argv[0]
|
||||
|
@ -1081,10 +1083,12 @@ def test_main(arith=False, verbose=None):
|
|||
DecimalTest,
|
||||
]
|
||||
|
||||
run_unittest(*test_classes)
|
||||
import decimal as DecimalModule
|
||||
run_doctest(DecimalModule, verbose)
|
||||
|
||||
try:
|
||||
run_unittest(*test_classes)
|
||||
import decimal as DecimalModule
|
||||
run_doctest(DecimalModule, verbose)
|
||||
finally:
|
||||
setcontext(ORIGINAL_CONTEXT)
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Calling with no arguments runs all tests.
|
||||
|
|
Loading…
Reference in New Issue