[OE-core] [PATCH 3/3] oeqa/sdk: add test to exercise Meson
Ross Burton
ross.burton at intel.com
Thu Dec 20 15:40:43 UTC 2018
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
meta/lib/oeqa/sdk/cases/buildepoxy.py | 36 +++++++++++++++++++++++++++++++++++
1 file changed, 36 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..47ae5e96df3
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -0,0 +1,36 @@
+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):
+ """
+ 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:
+ dl_dir = self.td.get('DL_DIR', None)
+ tarball = self.fetch(testdir, 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
More information about the Openembedded-core
mailing list