On Wed, May 08, 2019 at 08:41:21AM -0500, Joshua Watt wrote: > On Wed, 2019-05-08 at 16:26 +0300, Mikko Rapeli wrote: > > The commands only work with with bash. If /bin/sh is > > dash like in Debian, the command execution fails with > > errors like: > > This might possibly be related to > https://bugzilla.yoctoproject.org/show_bug.cgi?id=11775 where it was > discovered that in order to use dash, the CWD must be the same > directory where the init script lives?
Yes, this is related. In my case bitbake build is already called from bash and all scripts seem to be calling bash correctly as /bin/bash, except for these SDK tests. Also on sumo, there is no meaningful debug output when these tests fail. from oeqa.utils.subprocesstweak import errors_have_output errors_have_output() should maybe be used wherewhere with python subprocess... -Mikko > > > > Standard Output: /bin/sh: 5: export: --sysroot: bad variable name > > > > and all SDK tests fail. > > > > Signed-off-by: Mikko Rapeli <mikko.rap...@bmw.de> > > --- > > meta/lib/oeqa/sdk/case.py | 2 +- > > meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 3 ++- > > 2 files changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py > > index d8611c8..5334237 100644 > > --- a/meta/lib/oeqa/sdk/case.py > > +++ b/meta/lib/oeqa/sdk/case.py > > @@ -9,7 +9,7 @@ from oeqa.core.case import OETestCase > > class OESDKTestCase(OETestCase): > > def _run(self, cmd): > > return subprocess.check_output(". %s > /dev/null; %s;" % \ > > - (self.tc.sdk_env, cmd), shell=True, > > + (self.tc.sdk_env, cmd), shell=True, > > executable="/bin/bash", > > stderr=subprocess.STDOUT, universal_newlines=True) > > > > def fetch(self, workdir, dl_dir, url, archive=None): > > diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py > > b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py > > index 6fed73e..eafbd7a 100644 > > --- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py > > +++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py > > @@ -42,7 +42,8 @@ class SDKBuildProject(BuildProject): > > def _run(self, cmd): > > self.log("Running . %s; " % self.sdkenv + cmd) > > try: > > - output = subprocess.check_output(". %s; " % self.sdkenv > > + cmd, shell=True, stderr=subprocess.STDOUT) > > + output = subprocess.check_output(". %s; " % self.sdkenv > > + cmd, shell=True, > > + executable='/bin/bash', > > stderr=subprocess.STDOUT) > > except subprocess.CalledProcessError as exc: > > print(exc.output.decode('utf-8')) > > return exc.returncode > > -- > > 1.9.1 > > > -- > Joshua Watt <jpewhac...@gmail.com> -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core