http://scons.tigris.org/issues/show_bug.cgi?id=2345
authorgregnoel <gregnoel@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 29 Mar 2010 14:21:04 +0000 (14:21 +0000)
committergregnoel <gregnoel@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 29 Mar 2010 14:21:04 +0000 (14:21 +0000)
The 'buffer' fixer simply replaces 'buffer( ... )' with 'memoryview( ... )',
which is incorrect for our cases, so these changes had to be done by hand and
a forward-compatibility class added.

The 'xrange' fixer was applied.  Manual changes were minimal: a few case in
test strings and one use of 'range' as an identifer in the same scope as
where 'xrange' was converted to 'range'.

The "sets15" compat function, which provided backward compatibility for Python
versions prior to 2.2, was removed as no longer needed.

git-svn-id: http://scons.tigris.org/svn/scons/trunk@4735 fdb21ef1-2011-0410-befe-b5e4ea1792b1

37 files changed:
QMTest/TestCmd.py
src/engine/SCons/ActionTests.py
src/engine/SCons/Script/Main.py
src/engine/SCons/compat/__init__.py
src/engine/SCons/compat/_scons_sets.py
src/engine/SCons/compat/_scons_sets15.py [deleted file]
src/engine/SCons/compat/_scons_subprocess.py
src/engine/SCons/compat/builtins.py
src/engine/SCons/dblite.py
src/script/scons-time.py
src/script/sconsign.py
test/Batch/action-changed.py
test/KeyboardInterrupt.py
test/SWIG/build-dir.py
test/option/md5-chunksize.py
test/scons-time/func/chdir.py
test/scons-time/func/glob.py
test/scons-time/func/prefix.py
test/scons-time/func/tail.py
test/scons-time/mem/chdir.py
test/scons-time/mem/glob.py
test/scons-time/mem/prefix.py
test/scons-time/mem/tail.py
test/scons-time/obj/chdir.py
test/scons-time/obj/glob.py
test/scons-time/obj/prefix.py
test/scons-time/obj/tail.py
test/scons-time/time/chdir.py
test/scons-time/time/empty.py
test/scons-time/time/glob.py
test/scons-time/time/no-result.py
test/scons-time/time/prefix.py
test/scons-time/time/tail.py
timings/CPPPATH/SConstruct
timings/CPPPATH/TimeSCons-run.py
timings/hundred/SConstruct
timings/hundred/TimeSCons-run.py

index a7f97d7a7419b94e9f372b269f662fc07544b262..0139b297589f3886472d0ad08bd65217ba6f1f7c 100644 (file)
@@ -231,6 +231,21 @@ import time
 import traceback
 import UserList
 
+try:
+    # pre-2.7 doesn't have the memoryview() built-in
+    memoryview
+except NameError:
+    class memoryview:
+        from types import SliceType
+        def __init__(self, obj):
+            # wrapping buffer in () keeps the fixer from changing it
+            self.obj = (buffer)(obj)
+        def __getitem__(self, indx):
+            if isinstance(indx, self.SliceType):
+                return self.obj[indx.start:indx.stop]
+            else:
+                return self.obj[indx]
+
 __all__ = [
     'diff_re',
     'fail_test',
@@ -809,13 +824,12 @@ def recv_some(p, t=.1, e=1, tr=5, stderr=0):
             time.sleep(max((x-time.time())/tr, 0))
     return ''.join(y)
 
-# TODO(3.0:  rewrite to use memoryview()
 def send_all(p, data):
     while len(data):
         sent = p.send(data)
         if sent is None:
             raise Exception(disconnect_message)
-        data = buffer(data, sent)
+        data = memoryview(data)[sent:]
 
 
 
index 052582bd300b009be562383789ee5e483a77f73d..3f78812e8513e5aa0b1afddd9ea018bf099948e4 100644 (file)
@@ -191,7 +191,6 @@ _null = SCons.Action._null
 
 def test_varlist(pos_call, str_call, cmd, cmdstrfunc, **kw):
     def call_action(a, pos_call=pos_call, str_call=str_call, kw=kw):
-        #FUTURE a = SCons.Action.Action(*a, **kw)
         a = SCons.Action.Action(*a, **kw)
         # returned object must provide these entry points
         assert hasattr(a, '__call__')
index 55ac5982c3619e4ff8c81b2054ffe401ec11dcaa..9b8c94b69cddcc625b83eea7266c7846bacb366d 100644 (file)
@@ -1148,7 +1148,7 @@ def _build_targets(fs, options, targets, target_top):
             # This is cribbed from the implementation of
             # random.shuffle() in Python 2.X.
             d = dependencies
-            for i in xrange(len(d)-1, 0, -1):
+            for i in range(len(d)-1, 0, -1):
                 j = int(random.random() * (i+1))
                 d[i], d[j] = d[j], d[i]
             return d
index 49c317c0e61fed4d5f4c051be336f7adfd1252f1..792b77a01a452f7549955c7ff1b182c12e766334 100644 (file)
@@ -92,19 +92,8 @@ try:
     set
 except NameError:
     # Pre-2.4 Python has no native set type
-    try:
-        # Python 2.2 and 2.3 can use the copy of the 2.[45] sets module
-        # that we grabbed.
-        import_as('_scons_sets', 'sets')
-    except (ImportError, SyntaxError):
-        # Python 1.5 (ImportError, no __future_ module) and 2.1
-        # (SyntaxError, no generators in __future__) will blow up
-        # trying to import the 2.[45] sets module, so back off to a
-        # custom sets module that can be discarded easily when we
-        # stop supporting those versions.
-        import_as('_scons_sets15', 'sets')
-    import __builtin__
-    import sets
+    import_as('_scons_sets', 'sets')
+    import __builtin__, sets
     __builtin__.set = sets.Set
 
 import fnmatch
@@ -312,7 +301,22 @@ except AttributeError:
     tempfile.mkstemp = mkstemp
     del mkstemp
 
-
+try:
+    # pre-2.7 doesn't have the memoryview() built-in
+    memoryview
+except NameError:
+    class memoryview:
+        from types import SliceType
+        def __init__(self, obj):
+            # wrapping buffer in () keeps the fixer from changing it
+            self.obj = (buffer)(obj)
+        def __getitem__(self, indx):
+            if isinstance(indx, self.SliceType):
+                return self.obj[indx.start:indx.stop]
+            else:
+                return self.obj[indx]
+    import __builtin__
+    __builtin__.memoryview = memoryview
 
 
 # Local Variables:
index 713d6e9903bd83cb0be555f6595b91df497e53a5..765867b0bd2fb95926a7ea46bdf8c5b27952238e 100644 (file)
@@ -121,7 +121,8 @@ class BaseSet(object):
 
         This is the keys iterator for the underlying dict.
         """
-        return self._data.iterkeys()
+        # Wrapping name in () prevents fixer from "fixing" this
+        return (self._data.iterkeys)()
 
     # Three-way comparison is not supported.  However, because __eq__ is
     # tried before __cmp__, if Set x == Set y, x.__eq__(y) returns True and
diff --git a/src/engine/SCons/compat/_scons_sets15.py b/src/engine/SCons/compat/_scons_sets15.py
deleted file mode 100644 (file)
index b693f78..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-#
-# A Set class that works all the way back to Python 1.5.  From:
-#
-#       Python Cookbook:  Yet another Set class for Python
-#       http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/106469
-#       Goncalo Rodriques
-#
-#       This is a pure Pythonic implementation of a set class.  The syntax
-#       and methods implemented are, for the most part, borrowed from
-#       PEP 218 by Greg Wilson.
-#
-# Note that this class violates the formal definition of a set() by adding
-# a __getitem__() method so we can iterate over a set's elements under
-# Python 1.5 and 2.1, which don't support __iter__() and iterator types.
-#
-
-class Set:
-    """The set class. It can contain mutable objects."""
-
-    def __init__(self, seq = None):
-        """The constructor. It can take any object giving an iterator as an optional
-        argument to populate the new set."""
-        self.elems = []
-        if seq:
-            for elem in seq:
-                if elem not in self.elems:
-                    hash(elem)
-                    self.elems.append(elem)
-
-    def __str__(self):
-        return "set([%s])" % ", ".join(map(str, self.elems))
-
-
-    def copy(self):
-        """Shallow copy of a set object."""
-        return Set(self.elems)
-
-    def __contains__(self, elem):
-        return elem in self.elems
-
-    def __len__(self):
-        return len(self.elems)
-
-    def __getitem__(self, index):
-        # Added so that Python 1.5 can iterate over the elements.
-        # The cookbook recipe's author didn't like this because there
-        # really isn't any order in a set object, but this is necessary
-        # to make the class work well enough for our purposes.
-        return self.elems[index]
-
-    def items(self):
-        """Returns a list of the elements in the set."""
-        return self.elems
-
-    def add(self, elem):
-        """Add one element to the set."""
-        if elem not in self.elems:
-            hash(elem)
-            self.elems.append(elem)
-
-    def remove(self, elem):
-        """Remove an element from the set. Return an error if elem is not in the set."""
-        try:
-            self.elems.remove(elem)
-        except ValueError:
-            raise LookupError, "Object %s is not a member of the set." % str(elem)
-
-    def discard(self, elem):
-        """Remove an element from the set. Do nothing if elem is not in the set."""
-        try:
-            self.elems.remove(elem)
-        except ValueError:
-            pass
-
-    def sort(self, func=cmp):
-        self.elems.sort(func)
-
-    #Define an iterator for a set.
-    def __iter__(self):
-        return iter(self.elems)
-
-    #The basic binary operations with sets.
-    def __or__(self, other):
-        """Union of two sets."""
-        ret = self.copy()
-        for elem in other.elems:
-            if elem not in ret:
-                ret.elems.append(elem)
-        return ret
-
-    def __sub__(self, other):
-        """Difference of two sets."""
-        ret = self.copy()
-        for elem in other.elems:
-            ret.discard(elem)
-        return ret
-
-    def __and__(self, other):
-        """Intersection of two sets."""
-        ret = Set()
-        for elem in self.elems:
-            if elem in other.elems:
-                ret.elems.append(elem)
-        return ret
-
-    def __add__(self, other):
-        """Symmetric difference of two sets."""
-        ret = Set()
-        temp = other.copy()
-        for elem in self.elems:
-            if elem in temp.elems:
-                temp.elems.remove(elem)
-            else:
-                ret.elems.append(elem)
-        #Add remaining elements.
-        for elem in temp.elems:
-                ret.elems.append(elem)
-        return ret
-
-    def __mul__(self, other):
-        """Cartesian product of two sets."""
-        ret = Set()
-        for elemself in self.elems:
-            x = list(map(lambda other, s=elemself: (s, other), other.elems))
-            ret.elems.extend(x)
-        return ret
-
-    #Some of the binary comparisons.
-    def __lt__(self, other):
-        """Returns 1 if the lhs set is contained but not equal to the rhs set."""
-        if len(self.elems) < len(other.elems):
-            temp = other.copy()
-            for elem in self.elems:
-                if elem in temp.elems:
-                    temp.remove(elem)
-                else:
-                    return 0
-            return len(temp.elems) == 0
-        else:
-            return 0
-
-    def __le__(self, other):
-        """Returns 1 if the lhs set is contained in the rhs set."""
-        if len(self.elems) <= len(other.elems):
-            ret = 1
-            for elem in self.elems:
-                if elem not in other.elems:
-                    ret = 0
-                    break
-            return ret
-        else:
-            return 0
-
-    def __eq__(self, other):
-        """Returns 1 if the sets are equal."""
-        if len(self.elems) != len(other.elems):
-            return 0
-        else:
-            return len(self - other) == 0
-
-    def __cmp__(self, other):
-        """Returns 1 if the sets are equal."""
-        if self.__lt__(other):
-            return -1
-        elif other.__lt__(self):
-            return 1
-        else:
-            return 0
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
index 67eafcaf938f380faa8e84cc0db927d5f3780103..bdcae63715d54a03efad2573fefc548bea69270b 100644 (file)
@@ -458,13 +458,10 @@ try:
 except AttributeError:
     try:
         types.StringTypes = (str, unicode)
-    except AttributeError:
+    except NameError:
         types.StringTypes = (str,)
-    def is_string(obj):
-        return type(obj) in types.StringTypes
-else:
-    def is_string(obj):
-        return isinstance(obj, types.StringTypes)
+def is_string(obj):
+    return isinstance(obj, types.StringTypes)
 
 _active = []
 
@@ -1002,7 +999,7 @@ class Popen(object):
 
 
         def _close_fds(self, but):
-            for i in xrange(3, MAXFD):
+            for i in range(3, MAXFD):
                 if i == but:
                     continue
                 try:
@@ -1186,7 +1183,8 @@ class Popen(object):
                     # When select has indicated that the file is writable,
                     # we can write up to PIPE_BUF bytes without risk
                     # blocking.  POSIX defines PIPE_BUF >= 512
-                    bytes_written = os.write(self.stdin.fileno(), buffer(input, input_offset, 512))
+                    m = memoryview(input)[input_offset:input_offset+512]
+                    bytes_written = os.write(self.stdin.fileno(), m)
                     input_offset = input_offset + bytes_written
                     if input_offset >= len(input):
                         self.stdin.close()
index 678ef2ed1a00e50521f4a50ebb8e8e1ad80d2fa0..4f7e7105962dadc424c1846193d481346a2c66cb 100644 (file)
@@ -184,13 +184,11 @@ except NameError:
         argument sequence.
         """
         result = []
-        for i in xrange(min(list(map(len, lists)))):
+        for i in range(min(list(map(len, lists)))):
             result.append(tuple([l[i] for l in lists]))
         return result
     __builtin__.zip = zip
 
-
-
 #if sys.version_info[:3] in ((2, 2, 0), (2, 2, 1)):
 #    def lstrip(s, c=string.whitespace):
 #        while s and s[0] in c:
index 2383f1df0452349c573dcb21fea1bdf42d96ea47..0789396ac02805a0d480eb5aaf3d9958d2573925 100644 (file)
@@ -157,7 +157,8 @@ class dblite:
     return key in self._dict
 
   def iterkeys(self):
-    return self._dict.iterkeys()
+    # Wrapping name in () prevents fixer from "fixing" this
+    return (self._dict.iterkeys)()
 
   __iter__ = iterkeys
 
index 04fa5730f4d8f9739a9b865e6bcb1a8cb90b9392..6c43e29d1a6c2b2514ea0e23a84d2ada5f4ae766 100644 (file)
@@ -261,10 +261,9 @@ class Gnuplotter(Plotter):
 
         min_y = self.get_min_y()
         max_y = self.max_graph_value(self.get_max_y())
-        range = max_y - min_y
-        incr = range / 10.0
+        incr = (max_y - min_y) / 10.0
         start = min_y + (max_y / 2.0) + (2.0 * incr)
-        position = [ start - (i * incr) for i in xrange(5) ]
+        position = [ start - (i * incr) for i in range(5) ]
 
         inx = 1
         for line in self.lines:
@@ -1268,7 +1267,7 @@ class SConsTimer:
             except ValueError:
                 result.append(int(n))
             else:
-                result.extend(range(int(x), int(y)+1))
+                result.extend(list(range(int(x), int(y)+1)))
         return result
 
     def scons_path(self, dir):
index ac619a58b4694fd5bf0e6de2c8ced18991f6a16b..e119a51f65a242ff2e4d353464db77c1ce208a1b 100644 (file)
@@ -249,7 +249,7 @@ def map_bkids(entry, name):
     except AttributeError:
         return None
     result = []
-    for i in xrange(len(bkids)):
+    for i in range(len(bkids)):
         result.append(nodeinfo_string(bkids[i], bkidsigs[i], "        "))
     if result == []:
         return None
index 886a6921bd9bd790684aa15be9d51535c83dbb06..dc2805a4194c922cb418bf9f9bc881205da08adf 100644 (file)
@@ -43,7 +43,7 @@ import sys
 sep = sys.argv.index('--')
 targets = sys.argv[1:sep]
 sources = sys.argv[sep+1:]
-for i in xrange(len(targets)):
+for i in range(len(targets)):
     t = targets[i]
     s = sources[i]
     fp = open(t, 'wb')
index d0f1207697b3e6a140ed754526e2cecf9acd2487..bcb576c893403909cdd34d6539fbc85ce497ecee 100644 (file)
@@ -76,7 +76,7 @@ else:
 
 all = []
 
-for i in xrange(40):
+for i in range(40):
     all.extend(Object('toto%5d' % i, 'toto.c'))
 
 all.extend(Command( 'broken', 'toto.c', explode))
index d5b52360432167753c9a1e22de40fe0895b472a5..a9d7cb276aa009a6b3ed7ea16f16ea383de1ba36 100644 (file)
@@ -136,7 +136,7 @@ public:
     
     %pythoncode %{
     def __iter__(self):
-        for i in xrange(len(self)):
+        for i in range(len(self)):
             yield self[i]
     %}
   }
index acd3492250c49438c57c3bd5098eacb6f9b2d55a..375208d92bbd4f43c77a1ba5180f92decefb3559 100644 (file)
@@ -47,8 +47,8 @@ f2 = env.B(target = 'f2.out', source = 'f2.in')
 Requires(f2, f1)
 """ % locals())
 
-test.write('f1.in', str(range(10)))
-test.write('f2.in', str(range(100000)))
+test.write('f1.in', str(list(range(10))))
+test.write('f2.in', str(list(range(100000))))
 
 expected_stdout = test.wrap_stdout("""\
 %(_python_)s build.py f1.out f1.in
index 0ce43404547abd0b0576a5e1dbc14d39e08d5ab8..1aea7adee95b3e74876ced5b0ffb77d129fbc581 100644 (file)
@@ -48,7 +48,7 @@ def _main():
 """
 
 expect = []
-for i in xrange(9):
+for i in range(9):
     i = str(i)
     test.subdir(i)
     test.profile_data('profs/foo-%s.prof' % i, '%s/prof.py' % i, '_main', input)
index d3fd960dc02d05e293f5eef6c144357b39223371..62404044477b706e3f21d18bb78b9abb8dc65a0d 100644 (file)
@@ -43,7 +43,7 @@ def _main():
 """
 
 expect = []
-for i in xrange(9):
+for i in range(9):
     test.subdir(str(i))
     test.profile_data('foo-%s.prof' % i, '%s/prof.py' % i, '_main', input)
     expect.append((r'\d.\d\d\d %s/prof\.py:1\(_main\)' + '\n') % i)
index fe3618f721ffc6a60cb36c0a9ae537cef755241e..67a0c6ba3e2f4e0056fdc3f90b852bec2b060fdc 100644 (file)
@@ -47,11 +47,11 @@ def _main():
 foo_lines = []
 bar_lines = []
 
-for i in xrange(2):
+for i in range(2):
     test.profile_data('foo-%s.prof' % i, 'prof.py', '_main', input)
     foo_lines.append(r'\d.\d\d\d prof\.py:1\(_main\)' + '\n')
 
-for i in xrange(4):
+for i in range(4):
     test.profile_data('bar-%s.prof' % i, 'prof.py', '_main', input)
     bar_lines.append(r'\d.\d\d\d prof\.py:1\(_main\)' + '\n')
 
index 91fa6c803e4574cc1683578013eb5f96d0bfc73a..afd3f83926bca13daf1cd1294ff92c5c331ffd0e 100644 (file)
@@ -44,7 +44,7 @@ def _main():
 """
 
 expect = []
-for i in xrange(9):
+for i in range(9):
     test.subdir(str(i))
     test.profile_data('foo-%s.prof' % i, '%s/prof.py' % i, '_main', input)
     expect.append((r'\d.\d\d\d %s/prof\.py:1\(_main\)' + '\n') % i)
index 52dbd2cb8b116069ce33953de250c687c3edff37..5bf618c76bb7ad3289178c1647863eab57fce70c 100644 (file)
@@ -43,7 +43,7 @@ lines = [
 
 line_fmt = '        1000         2000         3000         4000    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = os.path.join('logs', 'foo-%s.log' % i)
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index 04d8b095634f46657f7c138501f9167f6b9bd9fc..820021e7c007992c318760fe135181c15e63e326 100644 (file)
@@ -38,7 +38,7 @@ lines = [
 
 line_fmt = '        1000         2000         3000         4000    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index 5e64dad48f127659311e33222abc957b45bff4b6..faca54dab79ec7afd289124ff064d35815ba51cc 100644 (file)
@@ -43,7 +43,7 @@ line_fmt = '        1000         2000         3000         4000    %s\n'
 foo_lines = [ header ]
 bar_lines = [ header ]
 
-for i in xrange(3):
+for i in range(3):
     logfile_name = os.path.join('foo-%s.log' % i)
     test.fake_logfile(logfile_name)
     foo_lines.append(line_fmt % logfile_name)
index 19f4036de746eb2aefbc7aaecf4ad3e0a50a4aae..cd00274063856d607d12ecf08a005a146bb7f588 100644 (file)
@@ -40,7 +40,7 @@ lines = []
 
 line_fmt = '        1000         2000         3000         4000    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index 5b7fe2283b450c59b3696f9b573175577c6b4c02..4b77f8ab0b90843aadb6042e5f2e647eb8abbfc8 100644 (file)
@@ -43,7 +43,7 @@ lines = [
 
 line_fmt = '       1101%(i)s        1102%(i)s        1103%(i)s        1104%(i)s    %(logfile_name)s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = os.path.join('logs', 'foo-%s.log' % i)
     test.fake_logfile(logfile_name, i)
     lines.append(line_fmt % locals())
index 07ccccc37f6875f88927628eb48b767f17a54aeb..2105355adfdc727b30f54d33c7c5b0f2bf5e9b22 100644 (file)
@@ -38,7 +38,7 @@ lines = [
 
 line_fmt = '        601%(i)s         602%(i)s         603%(i)s         604%(i)s    %(logfile_name)s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name, i)
     lines.append(line_fmt % locals())
index e669cf28315ddbcd818261817ffca4d55ee97dac..0bee5f7033d92369641231af6025f5dcd28aa848 100644 (file)
@@ -43,7 +43,7 @@ line_fmt = '       11010        11020        11030        11040    %s\n'
 foo_lines = [ header ]
 bar_lines = [ header ]
 
-for i in xrange(3):
+for i in range(3):
     logfile_name = os.path.join('foo-%s.log' % i)
     test.fake_logfile(logfile_name)
     foo_lines.append(line_fmt % logfile_name)
index 9049c89c2188c88a9da1d5f1a945b1a7db3cd977..341a905f2fb7dcfa66e360f89f238b557539b187 100644 (file)
@@ -40,7 +40,7 @@ lines = []
 
 line_fmt = '       1501%(i)s        1502%(i)s        1503%(i)s        1504%(i)s    %(logfile_name)s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name, i)
     lines.append(line_fmt % locals())
index ef340a10ba6acfdbade05b966027fe6a55152de2..762de75977fce35ad48cc5f358601a30054bad20 100644 (file)
@@ -43,7 +43,7 @@ lines = [
 
 line_fmt = '   11.123456    22.234567    33.345678    44.456789    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = os.path.join('logs', 'foo-%s.log' % i)
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index d73db79d35e267259c5689e65726027ae17528df..a59a014c048a55ff1d938e7c33dcbba9b4d5442d 100644 (file)
@@ -41,7 +41,7 @@ lines = []
 line_fmt    = '   11.123456    22.234567    33.345678    44.456789    %s\n'
 empty_fmt   = '                                                       %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s-0.log' % i
     if i == 5:
         test.write(test.workpath(logfile_name), "")
index d202e6125bc683e154ec875004b3b9c2ccdd85cd..1a76d9fc19e06aaec47577cdc01c163365ec14b8 100644 (file)
@@ -38,7 +38,7 @@ lines = [
 
 line_fmt = '   11.123456    22.234567    33.345678    44.456789    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index baf06d77a26e3e3e49de23e244521f71149094f4..fbd2de928f07cf44790d6956008e6625c654e85c 100644 (file)
@@ -49,7 +49,7 @@ line_fmt = "%s 11.123456\n"
 
 lines = []
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s-0.log' % i
     if i == 5:
         test.write(test.workpath(logfile_name), "NO RESULTS HERE!\n")
index d12287d54258699bcc0d64fac07ec9014550d4bb..00a1f52e345b9615e0527bbe55bca7fc35c4adf5 100644 (file)
@@ -43,7 +43,7 @@ line_fmt = '   11.123456    22.234567    33.345678    44.456789    %s\n'
 foo_lines = [ header ]
 bar_lines = [ header ]
 
-for i in xrange(3):
+for i in range(3):
     logfile_name = os.path.join('foo-%s.log' % i)
     test.fake_logfile(logfile_name)
     foo_lines.append(line_fmt % logfile_name)
index 372f78525feb60b25042c08cb1148e241f09d868..c89f9046f294f6e242d11773e2180e18f7e046b1 100644 (file)
@@ -40,7 +40,7 @@ lines = []
 
 line_fmt = '   11.123456    22.234567    33.345678    44.456789    %s\n'
 
-for i in xrange(9):
+for i in range(9):
     logfile_name = 'foo-%s.log' % i
     test.fake_logfile(logfile_name)
     lines.append(line_fmt % logfile_name)
index d49e3d63f9166d96f9f1a959089c035ca49af50e..14cc76926c16562120f59e1d282dd28971f8e05e 100644 (file)
@@ -23,7 +23,7 @@
 
 dir_count = int(ARGUMENTS['DIR_COUNT'])
 
-inc_list = [ Dir('inc_%04d' % t) for t in xrange(dir_count) ]
+inc_list = [ Dir('inc_%04d' % t) for t in range(dir_count) ]
 inc_list.append(Dir('include'))
 
 env = Environment(CPPPATH = inc_list)
index 97d9e053ee36b9e21a17606e711799be54ddf2c6..b26fafcf292f1e3c795e97743030ca9ac467984a 100644 (file)
@@ -47,7 +47,7 @@ import TestSCons
 
 test = TestSCons.TimeSCons(variables={'DIR_COUNT':813})
 
-for d in xrange(test.variables['DIR_COUNT']):
+for d in range(test.variables['DIR_COUNT']):
     test.subdir('inc_%04d' % d)
 
 test.main()
index c824b887929a24a86659ca0c470c2dfb9f5dc8ee..b321d10854fabde828bc5d86c699486f1e66454a 100644 (file)
@@ -27,8 +27,8 @@ def copy_files( env, target, source ):
     for t, s in zip(target, source):
         open(str(t),  'wb').write(open(str(s), 'rb').read())
 
-source_list = ['source_%04d' % t for t in xrange(target_count)]
-target_list = ['target_%04d' % t for t in xrange(target_count)]
+source_list = ['source_%04d' % t for t in range(target_count)]
+target_list = ['target_%04d' % t for t in range(target_count)]
 
 env = Environment()
 
index c90c26b969f89673e2f64a20f5276ca899dc5cf1..3d5b02f9eff6702c907f7d633db3e690e198b8e3 100644 (file)
@@ -46,7 +46,7 @@ import TestSCons
 
 test = TestSCons.TimeSCons(variables={'TARGET_COUNT':139})
 
-for t in xrange(test.variables['TARGET_COUNT']):
+for t in range(test.variables['TARGET_COUNT']):
     open('source_%04d' % t, 'wb' ).write('contents\n')
 
 test.main()