xref: /openbmc/openbmc/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py (revision 92b42cb35d755f8cfe6c17d403711a536e0f0721)
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7import os, tempfile
8import time
9from oeqa.sdk.case import OESDKTestCase
10from oeqa.utils.subprocesstweak import errors_have_output
11errors_have_output()
12
13class BuildTests(OESDKTestCase):
14    """
15    Verify that bitbake can build virtual/libc inside the buildtools.
16    """
17    def test_libc(self):
18        with tempfile.TemporaryDirectory(prefix='bitbake-build-', dir=self.tc.sdk_dir) as testdir:
19            corebase = self.td['COREBASE']
20
21            self._run('. %s/oe-init-build-env %s' % (corebase, testdir))
22            with open(os.path.join(testdir, 'conf', 'local.conf'), 'ta') as conf:
23                conf.write('\n')
24                conf.write('DL_DIR = "%s"\n' % self.td['DL_DIR'])
25
26            try:
27                self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
28            finally:
29                delay = 10
30                while delay and (os.path.exists(testdir + "/bitbake.lock") or os.path.exists(testdir + "/cache/hashserv.db-wal")):
31                    time.sleep(1)
32                    delay = delay - 1
33