[OE-core] [PATCH 1/6] oe.scriptutils.run_editor: ditch the error-prone argument quoting
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Jun 27 12:52:16 UTC 2018
On Fri, 2018-06-22 at 02:07 +0500, Christopher Larson wrote:
> From: Christopher Larson <chris_larson at mentor.com>
>
> Rather than trying to construct a string by quoting the files in an
> error-prone way, parse $EDITOR to pass a list to subprocess rather
> than
> a string.
>
> Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> ---
> scripts/lib/scriptutils.py | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py
> index 85b1c949bf5..470f76995f0 100644
> --- a/scripts/lib/scriptutils.py
> +++ b/scripts/lib/scriptutils.py
> @@ -214,15 +215,14 @@ def fetch_url(tinfoil, srcuri, srcrev, destdir,
> logger, preserve_tmp=False, mirr
>
> def run_editor(fn, logger=None):
> if isinstance(fn, str):
> - params = '"%s"' % fn
> + files = [fn]
> else:
> - params = ''
> - for fnitem in fn:
> - params += ' "%s"' % fnitem
> + files = fn
>
> editor = os.getenv('VISUAL', os.getenv('EDITOR', 'vi'))
> try:
> - return subprocess.check_call('%s %s' % (editor, params), shell=True)
> + print(shlex.split(editor) + files)
> + return subprocess.check_call(shlex.split(editor) + files)
> except subprocess.CalledProcessError as exc:
> logger.error("Execution of '%s' failed: %s" % (editor, exc))
> return 1
I'm guessing you didn't mean to leave the print() above in?
If the print is there, it breaks:
"oe-selftest -r devtool.DevtoolTests.test_devtool_add"
I can comment it out...
Cheers,
Richard
More information about the Openembedded-core
mailing list