diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/ActionTests.py | 3 | ||||
| -rw-r--r-- | src/engine/SCons/SConfTests.py | 16 | ||||
| -rw-r--r-- | src/engine/SCons/Script/Interactive.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Tool/FortranCommon.py | 7 |
4 files changed, 22 insertions, 6 deletions
diff --git a/src/engine/SCons/ActionTests.py b/src/engine/SCons/ActionTests.py index f25f232..a503981 100644 --- a/src/engine/SCons/ActionTests.py +++ b/src/engine/SCons/ActionTests.py @@ -1003,7 +1003,8 @@ class CommandActionTestCase(unittest.TestCase): # NT treats execs of directories and non-executable files # as "file not found" errors expect_nonexistent = 1 - expect_nonexecutable = 1 + expect_nonexecutable_file = 1 + expect_nonexecutable_dir = 1 elif sys.platform == 'cygwin': expect_nonexistent = 127 # Newer cygwin seems to return 126 for following diff --git a/src/engine/SCons/SConfTests.py b/src/engine/SCons/SConfTests.py index 25c89d2..ba9f2f5e 100644 --- a/src/engine/SCons/SConfTests.py +++ b/src/engine/SCons/SConfTests.py @@ -88,7 +88,21 @@ class SConfTestCase(unittest.TestCase): if self.scons_env['CXX'] == 'g++': global existing_lib existing_lib = 'm' - + + if sys.platform in ['cygwin', 'win32']: + # On Windows, SCons.Platform.win32 redefines the builtin + # file() and open() functions to close the file handles. + # This interferes with the unittest.py infrastructure in + # some way. Just sidestep the issue by restoring the + # original builtin functions whenever we have to reset + # all of our global state. + + import __builtin__ + import SCons.Platform.win32 + + __builtin__.file = SCons.Platform.win32._builtin_file + __builtin__.open = SCons.Platform.win32._builtin_open + def _baseTryXXX(self, TryFunc): # TryCompile and TryLink are much the same, so we can test them # in one method, we pass the function as a string ('TryCompile', diff --git a/src/engine/SCons/Script/Interactive.py b/src/engine/SCons/Script/Interactive.py index b1774eb..9510892 100644 --- a/src/engine/SCons/Script/Interactive.py +++ b/src/engine/SCons/Script/Interactive.py @@ -145,6 +145,8 @@ class SConsInteractiveCmd(cmd.Cmd): line = 'shell ' + line[1:] elif line[0] == '?': line = 'help ' + line[1:] + if os.sep == '\\': + line = string.replace(line, '\\', '\\\\') argv = shlex.split(line) argv[0] = self.synonyms.get(argv[0], argv[0]) if not argv[0]: diff --git a/src/engine/SCons/Tool/FortranCommon.py b/src/engine/SCons/Tool/FortranCommon.py index 579b4dd..82a5a6c 100644 --- a/src/engine/SCons/Tool/FortranCommon.py +++ b/src/engine/SCons/Tool/FortranCommon.py @@ -92,12 +92,11 @@ def ComputeFortranSuffixes(suffixes, ppsuffixes): assert len(suffixes) > 0 s = suffixes[0] sup = string.upper(s) + upper_suffixes = map(string.upper, suffixes) if SCons.Util.case_sensitive_suffixes(s, sup): - for i in suffixes: - ppsuffixes.append(string.upper(i)) + ppsuffixes.extend(upper_suffixes) else: - for i in suffixes: - suffixes.append(string.upper(i)) + suffixes.extend(upper_suffixes) def CreateDialectActions(dialect): """Create dialect specific actions.""" |
