From 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf Mon Sep 17 00:00:00 2001 From: takeshi_hoshina Date: Mon, 2 Nov 2020 11:07:33 +0900 Subject: basesystem-jj recipes --- external/poky/meta/lib/oeqa/sdk/cases/assimp.py | 65 ++++++++----------------- 1 file changed, 21 insertions(+), 44 deletions(-) (limited to 'external/poky/meta/lib/oeqa/sdk/cases/assimp.py') diff --git a/external/poky/meta/lib/oeqa/sdk/cases/assimp.py b/external/poky/meta/lib/oeqa/sdk/cases/assimp.py index 26c1df08..f26b17f2 100644 --- a/external/poky/meta/lib/oeqa/sdk/cases/assimp.py +++ b/external/poky/meta/lib/oeqa/sdk/cases/assimp.py @@ -1,5 +1,11 @@ -import os, subprocess, unittest -import bb +# +# SPDX-License-Identifier: MIT +# + +import os +import subprocess +import tempfile +import unittest from oeqa.sdk.case import OESDKTestCase from oeqa.utils.subprocesstweak import errors_have_output @@ -10,54 +16,25 @@ class BuildAssimp(OESDKTestCase): Test case to build a project using cmake. """ - td_vars = ['DATETIME', 'TARGET_OS', 'TARGET_ARCH'] - - @classmethod - def setUpClass(self): + def setUp(self): if not (self.tc.hasHostPackage("nativesdk-cmake") or self.tc.hasHostPackage("cmake-native")): raise unittest.SkipTest("Needs cmake") - def fetch(self, workdir, dl_dir, url, archive=None): - if not archive: - from urllib.parse import urlparse - archive = os.path.basename(urlparse(url).path) - - if dl_dir: - tarball = os.path.join(dl_dir, archive) - if os.path.exists(tarball): - return tarball - - tarball = os.path.join(workdir, archive) - subprocess.check_output(["wget", "-O", tarball, url]) - return tarball - def test_assimp(self): - import tempfile - import oe.qa, oe.elf - with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir: - dl_dir = self.td.get('DL_DIR', None) - tarball = self.fetch(testdir, dl_dir, "https://github.com/assimp/assimp/archive/v4.1.0.tar.gz") - subprocess.check_output(["tar", "xf", tarball, "-C", testdir]) - - sourcedir = os.path.join(testdir, "assimp-4.1.0") - builddir = os.path.join(testdir, "build") - installdir = os.path.join(testdir, "install") - bb.utils.mkdirhier(builddir) + tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/assimp/assimp/archive/v4.1.0.tar.gz") - self._run("cd %s && cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON %s " % (builddir, sourcedir)) - self._run("cmake --build %s -- -j" % builddir) - self._run("cmake --build %s --target install -- DESTDIR=%s" % (builddir, installdir)) + dirs = {} + dirs["source"] = os.path.join(testdir, "assimp-4.1.0") + dirs["build"] = os.path.join(testdir, "build") + dirs["install"] = os.path.join(testdir, "install") - elf = oe.qa.ELFFile(os.path.join(installdir, "usr", "local", "lib", "libassimp.so.4.1.0")) - elf.open() - - output = self._run("echo $OECORE_TARGET_OS:$OECORE_TARGET_ARCH") - target_os, target_arch = output.strip().split(":") - machine_data = oe.elf.machine_dict(None)[target_os][target_arch] - (machine, osabi, abiversion, endian, bits) = machine_data + subprocess.check_output(["tar", "xf", tarball, "-C", testdir]) + self.assertTrue(os.path.isdir(dirs["source"])) + os.makedirs(dirs["build"]) - self.assertEqual(machine, elf.machine()) - self.assertEqual(bits, elf.abiSize()) - self.assertEqual(endian, elf.isLittleEndian()) + self._run("cd {build} && cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON {source}".format(**dirs)) + self._run("cmake --build {build} -- -j".format(**dirs)) + self._run("cmake --build {build} --target install -- DESTDIR={install}".format(**dirs)) + self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libassimp.so.4.1.0")) -- cgit 1.2.3-korg