mirror of
https://git.yoctoproject.org/poky
synced 2026-07-16 15:57:04 +00:00
6736b91b2b
Redirect stderr to stdout when running subcommands while doing the SDK tests. The tests will show stdout when CalledProcessError is raised, but any output to stderr was lost. (From OE-Core rev: 7cb4e9ab8c1596281060e94a216966060103956e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
#
|
|
# 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
|
|
errors_have_output()
|
|
|
|
class BuildAssimp(OESDKTestCase):
|
|
"""
|
|
Test case to build a project using cmake.
|
|
"""
|
|
|
|
def setUp(self):
|
|
if not (self.tc.hasHostPackage("nativesdk-cmake") or
|
|
self.tc.hasHostPackage("cmake-native")):
|
|
raise unittest.SkipTest("Needs cmake")
|
|
|
|
def test_assimp(self):
|
|
with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir:
|
|
tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/assimp/assimp/archive/v4.1.0.tar.gz")
|
|
|
|
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")
|
|
|
|
subprocess.check_output(["tar", "xf", tarball, "-C", testdir], stderr=subprocess.STDOUT)
|
|
self.assertTrue(os.path.isdir(dirs["source"]))
|
|
os.makedirs(dirs["build"])
|
|
|
|
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"))
|