Use pipes.quote for executable path

This commit is contained in:
Anthony Sottile 2017-09-21 15:16:48 -07:00
parent 6b81fe9d58
commit 873dd173ce
3 changed files with 6 additions and 4 deletions

View file

@ -3,6 +3,7 @@ from __future__ import unicode_literals
import io import io
import os.path import os.path
import pipes
import sys import sys
from pre_commit import output from pre_commit import output
@ -68,7 +69,7 @@ def install(
skip_on_missing_conf = 'true' if skip_on_missing_conf else 'false' skip_on_missing_conf = 'true' if skip_on_missing_conf else 'false'
contents = io.open(resource_filename('hook-tmpl')).read().format( contents = io.open(resource_filename('hook-tmpl')).read().format(
sys_executable=sys.executable, sys_executable=pipes.quote(sys.executable),
hook_type=hook_type, hook_type=hook_type,
hook_specific=hook_specific_contents, hook_specific=hook_specific_contents,
config_file=runner.config_file, config_file=runner.config_file,

View file

@ -9,7 +9,7 @@ popd > /dev/null
retv=0 retv=0
args="" args=""
ENV_PYTHON='{sys_executable}' ENV_PYTHON={sys_executable}
SKIP_ON_MISSING_CONF={skip_on_missing_conf} SKIP_ON_MISSING_CONF={skip_on_missing_conf}
which pre-commit >& /dev/null which pre-commit >& /dev/null

View file

@ -4,6 +4,7 @@ from __future__ import unicode_literals
import io import io
import os.path import os.path
import pipes
import re import re
import shutil import shutil
import subprocess import subprocess
@ -54,7 +55,7 @@ def test_install_pre_commit(tempdir_factory):
pre_commit_contents = io.open(runner.pre_commit_path).read() pre_commit_contents = io.open(runner.pre_commit_path).read()
pre_commit_script = resource_filename('hook-tmpl') pre_commit_script = resource_filename('hook-tmpl')
expected_contents = io.open(pre_commit_script).read().format( expected_contents = io.open(pre_commit_script).read().format(
sys_executable=sys.executable, sys_executable=pipes.quote(sys.executable),
hook_type='pre-commit', hook_type='pre-commit',
hook_specific='', hook_specific='',
config_file=runner.config_file, config_file=runner.config_file,
@ -70,7 +71,7 @@ def test_install_pre_commit(tempdir_factory):
pre_push_tmpl = resource_filename('pre-push-tmpl') pre_push_tmpl = resource_filename('pre-push-tmpl')
pre_push_template_contents = io.open(pre_push_tmpl).read() pre_push_template_contents = io.open(pre_push_tmpl).read()
expected_contents = io.open(pre_commit_script).read().format( expected_contents = io.open(pre_commit_script).read().format(
sys_executable=sys.executable, sys_executable=pipes.quote(sys.executable),
hook_type='pre-push', hook_type='pre-push',
hook_specific=pre_push_template_contents, hook_specific=pre_push_template_contents,
config_file=runner.config_file, config_file=runner.config_file,