summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Noel <GregNoel@tigris.org>2010-04-25 07:10:15 (GMT)
committerGreg Noel <GregNoel@tigris.org>2010-04-25 07:10:15 (GMT)
commit186b632fd20283e821b6a65c72772635017945fb (patch)
tree3863a0df57143ab053895e2719d7b1d96ce4821c
parent1c13a030e39109c5343046d0d555f48b7cc61126 (diff)
downloadSCons-186b632fd20283e821b6a65c72772635017945fb.zip
SCons-186b632fd20283e821b6a65c72772635017945fb.tar.gz
SCons-186b632fd20283e821b6a65c72772635017945fb.tar.bz2
Fix regression tests (imports not happening as expected)
-rw-r--r--src/engine/SCons/Taskmaster.py2
-rw-r--r--src/engine/SCons/compat/__init__.py15
-rw-r--r--src/script/sconsign.py15
-rw-r--r--test/SConscript/SConscript.py4
-rw-r--r--test/subclassing.py4
5 files changed, 12 insertions, 28 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py
index 0531f90..782de75 100644
--- a/src/engine/SCons/Taskmaster.py
+++ b/src/engine/SCons/Taskmaster.py
@@ -949,7 +949,7 @@ class Taskmaster:
T.write(self.trace_message(' removing node %s from the pending children set\n' %
self.trace_node(n)))
try:
- while True:
+ while len(to_visit):
node = to_visit.pop()
node_func(node)
diff --git a/src/engine/SCons/compat/__init__.py b/src/engine/SCons/compat/__init__.py
index 06cdf42..bfa8384 100644
--- a/src/engine/SCons/compat/__init__.py
+++ b/src/engine/SCons/compat/__init__.py
@@ -80,7 +80,7 @@ def rename_module(new, old):
Used for purely cosmetic name changes in Python 3.x.
"""
try:
- sys.modules[new] = imp.load_module(new, *imp.find_module(old))
+ sys.modules[new] = imp.load_module(old, *imp.find_module(old))
return True
except ImportError:
return False
@@ -140,19 +140,6 @@ else:
try:
- import dbm
-except ImportError:
- dbm = import_as('_scons_dbm', 'dbm')
-try:
- dbm.whichdb
-except AttributeError:
- # Pre-3.0 Python has no dbm.whichdb function.
- import whichdb
- dbm.whichdb = whichdb.whichdb
- del whichdb
-
-
-try:
import io
except ImportError:
# Pre-2.6 Python has no io module.
diff --git a/src/script/sconsign.py b/src/script/sconsign.py
index 759c5ad..075459f 100644
--- a/src/script/sconsign.py
+++ b/src/script/sconsign.py
@@ -36,7 +36,6 @@ __date__ = "__DATE__"
__developer__ = "__DEVELOPER__"
import os
-import os.path
import sys
import time
@@ -170,16 +169,14 @@ sys.path = libs + sys.path
# END STANDARD SCons SCRIPT HEADER
##############################################################################
-import SCons.compat
+import SCons.compat # so pickle will import cPickle instead
-import dbm
-import imp
+import whichdb
import pickle
+import imp
import SCons.SConsign
-# Monkey-patch in a whichdb()-like function so any use of dbm.whichdb()
-# can detect our internal .dblite format,
def my_whichdb(filename):
if filename[-7:] == ".dblite":
return "SCons.dblite"
@@ -191,8 +188,8 @@ def my_whichdb(filename):
pass
return _orig_whichdb(filename)
-_orig_whichdb = dbm.whichdb
-dbm.whichdb = my_whichdb
+_orig_whichdb = whichdb.whichdb
+whichdb.whichdb = my_whichdb
def my_import(mname):
if '.' in mname:
@@ -499,7 +496,7 @@ if Do_Call:
Do_Call(a)
else:
for a in args:
- dbm_name = dbm.whichdb(a)
+ dbm_name = whichdb.whichdb(a)
if dbm_name:
Map_Module = {'SCons.dblite' : 'dblite'}
dbm = my_import(dbm_name)
diff --git a/test/SConscript/SConscript.py b/test/SConscript/SConscript.py
index 177b5df..c8453a7 100644
--- a/test/SConscript/SConscript.py
+++ b/test/SConscript/SConscript.py
@@ -72,9 +72,9 @@ assert foo == "subdir/SConscript foo"
SConscript('SConscript5')
try:
- from io import UserList
+ from collections import UserList
except ImportError:
- from UserList import UserList
+ exec('from UserList import UserList')
x7 = "SConstruct x7"
x8 = "SConstruct x8"
x9 = SConscript('SConscript6', UserList(["x7", "x8"]))
diff --git a/test/subclassing.py b/test/subclassing.py
index fc00349..b621bf5 100644
--- a/test/subclassing.py
+++ b/test/subclassing.py
@@ -52,9 +52,9 @@ env = my_Environment()
env.Command('f0.out', 'f0.in', copy_action)
try:
- from io import UserString
+ from collections import UserString
except ImportError:
- from UserString import UserString
+ exec('from UserString import UserString')
try:
class mystr(str):
pass