diff options
| author | PJ Eby <distutils-sig@python.org> | 2007-01-24 21:00:55 +0000 |
|---|---|---|
| committer | PJ Eby <distutils-sig@python.org> | 2007-01-24 21:00:55 +0000 |
| commit | 6dbe235a605c0c2f9a28aafb033ae7e983c82678 (patch) | |
| tree | 19943a60bbfa40973f77ed9fb571b520a5bba552 /setuptools | |
| parent | 2dd7ed9ccf64f5136c0e6fc8f9bd8216fde53cf2 (diff) | |
| download | python-setuptools-git-6dbe235a605c0c2f9a28aafb033ae7e983c82678.tar.gz | |
Fix ``#!`` parsing problems in Windows ``.exe`` script wrappers, when there
was whitespace inside a quoted argument or at the end of the ``#!`` line
(backport from trunk)
--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4053548
Diffstat (limited to 'setuptools')
| -rwxr-xr-x | setuptools/cli.exe | bin | 6656 -> 6656 bytes | |||
| -rwxr-xr-x | setuptools/gui.exe | bin | 6656 -> 6656 bytes | |||
| -rw-r--r-- | setuptools/tests/win_script_wrapper.txt | 11 |
3 files changed, 6 insertions, 5 deletions
diff --git a/setuptools/cli.exe b/setuptools/cli.exe Binary files differindex 18f23380..3173b2b2 100755 --- a/setuptools/cli.exe +++ b/setuptools/cli.exe diff --git a/setuptools/gui.exe b/setuptools/gui.exe Binary files differindex 2d0b2f26..96521355 100755 --- a/setuptools/gui.exe +++ b/setuptools/gui.exe diff --git a/setuptools/tests/win_script_wrapper.txt b/setuptools/tests/win_script_wrapper.txt index db1a7c3b..9e4dac93 100644 --- a/setuptools/tests/win_script_wrapper.txt +++ b/setuptools/tests/win_script_wrapper.txt @@ -15,6 +15,7 @@ will illustrate this. Let's create a simple script, foo-script.py:
>>> import os, sys, tempfile
+ >>> from setuptools.command.easy_install import nt_quote_arg
>>> sample_directory = tempfile.mkdtemp()
>>> open(os.path.join(sample_directory, 'foo-script.py'), 'w').write(
... """#!%(python_exe)s
@@ -25,7 +26,7 @@ Let's create a simple script, foo-script.py: ... print input
... if __debug__:
... print 'non-optimized'
- ... """ % dict(python_exe=sys.executable))
+ ... """ % dict(python_exe=nt_quote_arg(sys.executable)))
Note that the script starts with a Unix-style '#!' line saying which
Python executable to run. The wrapper will use this to find the
@@ -46,8 +47,8 @@ named out script the way we did. Now we can run out script by running the wrapper:
>>> import os
- >>> input, output = os.popen4(os.path.join(sample_directory, 'foo.exe')
- ... + r' arg1 "arg 2" "arg \"2\\\"" "arg 4\\" "arg5 a\\b')
+ >>> input, output = os.popen4('"'+nt_quote_arg(os.path.join(sample_directory, 'foo.exe'))
+ ... + r' arg1 "arg 2" "arg \"2\\\"" "arg 4\\" "arg5 a\\b"')
>>> input.write('hello\nworld\n')
>>> input.close()
>>> print output.read(),
@@ -86,9 +87,9 @@ enter the interpreter after running the script, you could use -Oi: ... if __debug__:
... print 'non-optimized'
... sys.ps1 = '---'
- ... """ % dict(python_exe=sys.executable))
+ ... """ % dict(python_exe=nt_quote_arg(sys.executable)))
- >>> input, output = os.popen4(os.path.join(sample_directory, 'foo.exe'))
+ >>> input, output = os.popen4(nt_quote_arg(os.path.join(sample_directory, 'foo.exe')))
>>> input.close()
>>> print output.read(),
\foo-script.py
|
