* The decimal module wouldn't load on builds without threads.
This commit is contained in:
Raymond Hettinger 2004-12-18 19:07:19 +00:00
parent 193814c308
commit 7e71fa5cfa
2 changed files with 25 additions and 4 deletions

View File

@ -134,7 +134,6 @@ __all__ = [
'setcontext', 'getcontext'
]
import threading
import copy
#Rounding
@ -385,7 +384,19 @@ _condition_map = {ConversionSyntax:InvalidOperation,
# The getcontext() and setcontext() function manage access to a thread-local
# current context. Py2.4 offers direct support for thread locals. If that
# is not available, use threading.currentThread() which is slower but will
# work for older Pythons.
# work for older Pythons. If threads are not part of the build, create a
# mock threading object with threading.local() returning the module namespace.
try:
import threading
except ImportError:
# Python was compiled without threads; create a mock object instead
import sys
class MockThreading:
def local(self, sys=sys):
return sys.modules[__name__]
threading = MockThreading()
del sys, MockThreading
try:
threading.local

View File

@ -32,8 +32,11 @@ import os, sys
import pickle, copy
from decimal import *
from test.test_support import TestSkipped, run_unittest, run_doctest, is_resource_enabled
import threading
import random
try:
import threading
except ImportError:
threading = None
# Useful Test Constant
Signals = getcontext().flags.keys()
@ -724,7 +727,11 @@ def thfunc2(cls):
class DecimalUseOfContextTest(unittest.TestCase):
'''Unit tests for Use of Context cases in Decimal.'''
import threading
try:
import threading
except ImportError:
threading = None
# Take care executing this test from IDLE, there's an issue in threading
# that hangs IDLE and I couldn't find it
@ -745,6 +752,9 @@ class DecimalUseOfContextTest(unittest.TestCase):
self.finish1.wait()
return
if threading is None:
del test_threading
class DecimalUsabilityTest(unittest.TestCase):
'''Unit tests for Usability cases of Decimal.'''