diff options
Diffstat (limited to 'src/engine/SCons/Node')
| -rw-r--r-- | src/engine/SCons/Node/FS.py | 6 | ||||
| -rw-r--r-- | src/engine/SCons/Node/FSTests.py | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index 1c506c9..861fbaf 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -204,7 +204,11 @@ class FS: self.__setTopLevelDir() if name[0] == '#': directory = self.Top - name = os.path.join('./', name[1:]) + name = os.path.normpath(name[1:]) + if name[0] == os.sep: + # Correct such that '#/foo' is equivalent + # to '#foo'. + name = name[1:] elif not directory: directory = self._cwd return (os.path.normpath(name), directory) diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py index 6b35adb..0259deb 100644 --- a/src/engine/SCons/Node/FSTests.py +++ b/src/engine/SCons/Node/FSTests.py @@ -232,6 +232,8 @@ class FSTestCase(unittest.TestCase): Dir_test('.', './', sub_dir, sub) Dir_test('./.', './', sub_dir, sub) Dir_test('foo/./bar', 'foo/bar/', sub_dir_foo_bar, 'foo/') + Dir_test('#foo/bar', 'foo/bar/', sub_dir_foo_bar, 'foo/') + Dir_test('#/foo/bar', 'foo/bar/', sub_dir_foo_bar, 'foo/') try: f2 = fs.File(string.join(['f1', 'f2'], sep), directory = d1) |
