summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
blob: a62c4d0bc4fcccd527f0c10f512a16f50808521f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#
# Copyright OpenEmbedded Contributors
#
# 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)