Message ID | 20190107163823.31816-7-ross.burton@intel.com |
---|---|
State | Accepted |
Commit | 237ed166f48b0e32684a5307d3b47b9485238ed9 |
Headers | show |
Series | [1/7] toolchain-scripts: run post-relocate scripts for every environment | expand |
On Mon, 2019-01-07 at 16:38 +0000, Ross Burton wrote: > (From OE-Core rev: 29359493e391d68a5a6b4fa4d09ffdc1fe6db620) > > Signed-off-by: Ross Burton <ross.burton@intel.com> > Signed-off-by: Richard Purdie <richard.purdie@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@gmail.com> -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Mon, 7 Jan 2019 at 16:45, Joshua Watt <jpewhacker@gmail.com> wrote: > 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? My worry was that in the future we'd add another recipe that used cmake/meson to exercise some other codepaths, and then we'd have the cmake.py and cmake2.py. At least by using the upstream name, it's clear what is actually being tested. Ross -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
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): + """ + 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"))