[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