Skip to content

Commit

Permalink
ci: Test alternate bitbake location
Browse files Browse the repository at this point in the history
Adds a test to verify that Pyrex works when bitbake is not a
subdirectory of $PYREX_OEROOT.
  • Loading branch information
JoshuaWatt committed Dec 9, 2019
1 parent 0ac3e34 commit 56479fc
Showing 1 changed file with 35 additions and 7 deletions.
42 changes: 35 additions & 7 deletions ci/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ def assertSubprocess(self, *args, capture=False, returncode=0, **kwargs):
return None

def _write_host_command(
self, args, quiet_init=False, cwd=PYREX_ROOT, builddir=None
self, args, *, quiet_init=False, cwd=PYREX_ROOT, builddir=None, bitbakedir=""
):
if builddir is None:
builddir = self.build_dir
Expand All @@ -175,8 +175,13 @@ def _write_host_command(
with open(cmd_file, "w") as f:
f.write("PYREXCONFFILE=%s\n" % self.pyrex_conf)
f.write(
". %s/poky/pyrex-init-build-env%s %s && ("
% (PYREX_ROOT, " > /dev/null 2>&1" if quiet_init else "", builddir)
". %s/poky/pyrex-init-build-env%s %s %s && ("
% (
PYREX_ROOT,
" > /dev/null 2>&1" if quiet_init else "",
builddir,
bitbakedir,
)
)
f.write(" && ".join(list(args)))
f.write(")")
Expand All @@ -189,10 +194,20 @@ def _write_container_command(self, args):
return cmd_file

def assertPyrexHostCommand(
self, *args, quiet_init=False, cwd=PYREX_ROOT, builddir=None, **kwargs
self,
*args,
quiet_init=False,
cwd=PYREX_ROOT,
builddir=None,
bitbakedir="",
**kwargs
):
cmd_file = self._write_host_command(
args, quiet_init, cwd=cwd, builddir=builddir
args,
quiet_init=quiet_init,
cwd=cwd,
builddir=builddir,
bitbakedir=bitbakedir,
)
return self.assertSubprocess(["/bin/bash", cmd_file], cwd=cwd, **kwargs)

Expand All @@ -204,11 +219,13 @@ def assertPyrexContainerCommand(self, cmd, **kwargs):
return self.assertPyrexHostCommand("pyrex-run %s" % cmd, **kwargs)

def assertPyrexContainerShellPTY(
self, *args, returncode=0, env=None, quiet_init=False
self, *args, returncode=0, env=None, quiet_init=False, bitbakedir=""
):
container_cmd_file = self._write_container_command(args)
host_cmd_file = self._write_host_command(
["pyrex-shell %s" % container_cmd_file], quiet_init
["pyrex-shell %s" % container_cmd_file],
quiet_init=quiet_init,
bitbakedir=bitbakedir,
)
stdout = []

Expand Down Expand Up @@ -742,6 +759,17 @@ class PyrexImageType_oe(PyrexImageType_base):
def test_bitbake_parse(self):
self.assertPyrexHostCommand("bitbake -p")

def test_bitbake_parse_altpath(self):
bitbakedir = os.path.join(self.build_dir, "bitbake")
shutil.copytree(os.path.join(PYREX_ROOT, "poky/bitbake"), bitbakedir)

d = self.assertPyrexContainerCommand(
"which bitbake", bitbakedir=bitbakedir, quiet_init=True, capture=True
)
self.assertEqual(d, os.path.join(bitbakedir, "bin", "bitbake"))

self.assertPyrexHostCommand("bitbake -p", bitbakedir=bitbakedir)

def test_icecc(self):
self.assertPyrexContainerCommand("icecc --version")

Expand Down

0 comments on commit 56479fc

Please sign in to comment.