mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
oeqa/sdk: add relocation test for buildtools
The buildtools-extended tarball includes GCC, which relies on being relocated correctly to work. Add a test case that verifies that the loader paths have all been relocated, as otherwise there are hard-to-debug errors at build time. (From OE-Core rev: fe1f675ea156722a3709b13cd751479c9528134d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
33cb14f6a0
commit
8ab0f43fda
29
meta/lib/oeqa/sdk/buildtools-cases/gcc.py
Normal file
29
meta/lib/oeqa/sdk/buildtools-cases/gcc.py
Normal file
@@ -0,0 +1,29 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import os.path
|
||||
from oeqa.sdk.case import OESDKTestCase
|
||||
|
||||
class GccTests(OESDKTestCase):
|
||||
def test_verify_specs(self):
|
||||
"""
|
||||
Verify that the compiler has been relocated successfully and isn't
|
||||
looking in the hard-coded prefix.
|
||||
"""
|
||||
# Canonicalise the SDK root
|
||||
sdk_base = os.path.realpath(self.tc.sdk_dir)
|
||||
# Canonicalise the location of GCC
|
||||
gcc_path = os.path.realpath(self._run("command -v gcc").strip())
|
||||
# Skip the test if the GCC didn't come from the buildtools, as it only
|
||||
# comes with buildtools-extended-tarball.
|
||||
if os.path.commonprefix((sdk_base, gcc_path)) != sdk_base:
|
||||
self.skipTest("Buildtools does not provide GCC")
|
||||
|
||||
# This is the prefix that GCC is build with, and should be replaced at
|
||||
# installation time.
|
||||
sdkpath = self.td.get("SDKPATH")
|
||||
self.assertTrue(sdkpath)
|
||||
|
||||
for line in self._run('gcc -dumpspecs').splitlines():
|
||||
self.assertNotIn(sdkpath, line)
|
||||
Reference in New Issue
Block a user