From 186b632fd20283e821b6a65c72772635017945fb Mon Sep 17 00:00:00 2001 From: Greg Noel Date: Sun, 25 Apr 2010 07:10:15 +0000 Subject: Fix regression tests (imports not happening as expected) --- src/engine/SCons/Taskmaster.py | 2 +- src/engine/SCons/compat/__init__.py | 15 +-------------- src/script/sconsign.py | 15 ++++++--------- test/SConscript/SConscript.py | 4 ++-- test/subclassing.py | 4 ++-- 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 -- cgit v0.12