On Fri, 2018-06-22 at 02:07 +0500, Christopher Larson wrote: > From: Christopher Larson <chris_lar...@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_lar...@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 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core