From 301edd26f23e3d954dcea5cffc1ad13f969822ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 10 Apr 2016 18:15:03 +0200 Subject: Imported Upstream version 2.5.0+repack --- src/engine/SCons/Platform/PlatformTests.py | 24 +++++++++++++++++++++--- src/engine/SCons/Platform/__init__.py | 6 +++--- src/engine/SCons/Platform/__init__.xml | 2 +- src/engine/SCons/Platform/aix.py | 4 ++-- src/engine/SCons/Platform/cygwin.py | 4 ++-- src/engine/SCons/Platform/darwin.py | 4 ++-- src/engine/SCons/Platform/hpux.py | 4 ++-- src/engine/SCons/Platform/irix.py | 4 ++-- src/engine/SCons/Platform/os2.py | 4 ++-- src/engine/SCons/Platform/posix.py | 10 ++++++---- src/engine/SCons/Platform/posix.xml | 2 +- src/engine/SCons/Platform/sunos.py | 4 ++-- src/engine/SCons/Platform/sunos.xml | 2 +- src/engine/SCons/Platform/win32.py | 14 ++++++-------- src/engine/SCons/Platform/win32.xml | 2 +- 15 files changed, 54 insertions(+), 36 deletions(-) (limited to 'src/engine/SCons/Platform') diff --git a/src/engine/SCons/Platform/PlatformTests.py b/src/engine/SCons/Platform/PlatformTests.py index 417fad5..1a36f7a 100644 --- a/src/engine/SCons/Platform/PlatformTests.py +++ b/src/engine/SCons/Platform/PlatformTests.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2001 - 2015 The SCons Foundation +# Copyright (c) 2001 - 2016 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/PlatformTests.py rel_2.4.1:3453:73fefd3ea0b0 2015/11/09 03:25:05 bdbaddog" +__revision__ = "src/engine/SCons/Platform/PlatformTests.py rel_2.5.0:3543:937e55cd78f7 2016/04/09 11:29:54 bdbaddog" import SCons.compat @@ -187,11 +187,29 @@ class TempFileMungeTestCase(unittest.TestCase): assert cmd != defined_cmd, cmd assert cmd == getattr(target[0].attributes, 'tempfile_cmdlist', None) +class PlatformEscapeTestCase(unittest.TestCase): + def test_posix_escape(self): + """ Check that paths with parens are escaped properly + """ + import SCons.Platform.posix + + test_string = "/my (really) great code/main.cpp" + output = SCons.Platform.posix.escape(test_string) + + # We expect the escape function to wrap the string + # in quotes, but not escape any internal characters + # in the test_string. (Parens doesn't require shell + # escaping if their quoted) + assert output[1:-1] == test_string + + if __name__ == "__main__": suite = unittest.TestSuite() tclasses = [ PlatformTestCase, - TempFileMungeTestCase ] + TempFileMungeTestCase, + PlatformEscapeTestCase, + ] for tclass in tclasses: names = unittest.getTestCaseNames(tclass, 'test_') suite.addTests(list(map(tclass, names))) diff --git a/src/engine/SCons/Platform/__init__.py b/src/engine/SCons/Platform/__init__.py index d8be160..e3db28a 100644 --- a/src/engine/SCons/Platform/__init__.py +++ b/src/engine/SCons/Platform/__init__.py @@ -12,7 +12,7 @@ environment. Consequently, we'll examine both sys.platform and os.name (and anything else that might come in to play) in order to return some specification which is unique enough for our purposes. -Note that because this subsysem just *selects* a callable that can +Note that because this subsystem just *selects* a callable that can modify a construction environment, it's possible for people to define their own "platform specification" in an arbitrary callable function. No one needs to use or tie in to this subsystem in order to roll @@ -20,7 +20,7 @@ their own platform definition. """ # -# Copyright (c) 2001 - 2015 The SCons Foundation +# Copyright (c) 2001 - 2016 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -42,7 +42,7 @@ their own platform definition. # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/__init__.py rel_2.4.1:3453:73fefd3ea0b0 2015/11/09 03:25:05 bdbaddog" +__revision__ = "src/engine/SCons/Platform/__init__.py rel_2.5.0:3543:937e55cd78f7 2016/04/09 11:29:54 bdbaddog" import SCons.compat diff --git a/src/engine/SCons/Platform/__init__.xml b/src/engine/SCons/Platform/__init__.xml index e6cecaf..35e56a7 100644 --- a/src/engine/SCons/Platform/__init__.xml +++ b/src/engine/SCons/Platform/__init__.xml @@ -1,6 +1,6 @@