[OE-core] [PATCH 7/7] oeqa/sdk: add test to exercise Meson
Joshua Watt
jpewhacker at gmail.com
Mon Jan 7 16:44:57 UTC 2019
On Mon, 2019-01-07 at 16:38 +0000, Ross Burton wrote:
> (From OE-Core rev: 29359493e391d68a5a6b4fa4d09ffdc1fe6db620)
>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> meta/lib/oeqa/sdk/cases/buildepoxy.py | 35
> +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
> create mode 100644 meta/lib/oeqa/sdk/cases/buildepoxy.py
>
> diff --git a/meta/lib/oeqa/sdk/cases/buildepoxy.py
> b/meta/lib/oeqa/sdk/cases/buildepoxy.py
> new file mode 100644
> index 00000000000..ef24b4f4ac1
> --- /dev/null
> +++ b/meta/lib/oeqa/sdk/cases/buildepoxy.py
> @@ -0,0 +1,35 @@
> +import os
> +import subprocess
> +import tempfile
> +import unittest
> +
> +from oeqa.sdk.case import OESDKTestCase
> +from oeqa.utils.subprocesstweak import errors_have_output
> +errors_have_output()
> +
> +class EpoxyTest(OESDKTestCase):
FWIW: I know that is in the same style as the assimp test, but I always
thought the test should have been called the "cmake" test, since that
is what we actually care about (not specifically that it can build
assimp; any cmake package could have been used AFAIK).
Perhaps this should break that trend and be called the "meson" test?
> + """
> + Test that Meson builds correctly.
> + """
> + def setUp(self):
> + if not (self.tc.hasHostPackage("nativesdk-meson")):
> + raise unittest.SkipTest("GalculatorTest class: SDK
> doesn't contain Meson")
> +
> + def test_epoxy(self):
> + with tempfile.TemporaryDirectory(prefix="epoxy",
> dir=self.tc.sdk_dir) as testdir:
> + tarball = self.fetch(testdir, self.td["DL_DIR"], "
> https://github.com/anholt/libepoxy/releases/download/1.5.3/libepoxy-1.5.3.tar.xz
> ")
> +
> + dirs = {}
> + dirs["source"] = os.path.join(testdir, "libepoxy-1.5.3")
> + dirs["build"] = os.path.join(testdir, "build")
> + dirs["install"] = os.path.join(testdir, "install")
> +
> + subprocess.check_output(["tar", "xf", tarball, "-C",
> testdir])
> + self.assertTrue(os.path.isdir(dirs["source"]))
> + os.makedirs(dirs["build"])
> +
> + self._run("meson -Degl=no -Dglx=no -Dx11=false {build}
> {source}".format(**dirs))
> + self._run("ninja -C {build} -v".format(**dirs))
> + self._run("DESTDIR={install} ninja -C {build} -v
> install".format(**dirs))
> +
> + self.check_elf(os.path.join(dirs["install"], "usr",
> "local", "lib", "libepoxy.so"))
> --
> 2.11.0
>
--
Joshua Watt <JPEWhacker at gmail.com>
More information about the Openembedded-core
mailing list