summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-10-10 02:49:11 (GMT)
committerSteven Knight <knight@baldmt.com>2005-10-10 02:49:11 (GMT)
commit69998af3b908a9cfe2645daddf577ac01bcec285 (patch)
treee6bf38b4bb60546638faf52593a367b87099c8d9 /src/engine/SCons/Node
parentaa8ee0923301d055ea4a595145cc71789e8b3f8d (diff)
downloadSCons-69998af3b908a9cfe2645daddf577ac01bcec285.zip
SCons-69998af3b908a9cfe2645daddf577ac01bcec285.tar.gz
SCons-69998af3b908a9cfe2645daddf577ac01bcec285.tar.bz2
Fix on-disk file matching on case-insensitive systems. Various fixes for win32 portability. Refactor the --debug=time test. Refactor the Perforce test. Additional cleanup.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/FS.py4
-rw-r--r--src/engine/SCons/Node/FSTests.py4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index ceec696..810ede7 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -1432,10 +1432,10 @@ class Dir(Base):
except OSError:
pass
else:
- for entry in entries:
+ for entry in map(_my_normcase, entries):
d[entry] = 1
self.on_disk_entries = d
- return d.has_key(name)
+ return d.has_key(_my_normcase(name))
def srcdir_list(self):
"""__cacheable__"""
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index 71fb3ef..565384f 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -1455,11 +1455,15 @@ class DirTestCase(_tempdirTestCase):
test.subdir('d')
test.write(['d', 'exists'], "d/exists\n")
+ test.write(['d', 'Case-Insensitive'], "d/Case-Insensitive\n")
d = self.fs.Dir('d')
assert d.entry_exists_on_disk('exists')
assert not d.entry_exists_on_disk('does_not_exist')
+ if os.path.normcase("TeSt") != os.path.normpath("TeSt") or sys.platform == "cygwin":
+ assert d.entry_exists_on_disk('case-insensitive')
+
def test_srcdir_list(self):
"""Test the Dir.srcdir_list() method
"""