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