mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-13 14:26:35 +00:00

Use an empty environment when calling make, but import PATH so the buildroot tree under test can find binaries from the host machine. Since environment variables are now ignored, move the handling of BR2_DL_DIR to the defconfig to keep the current precedence of -d: BR2_DL_DIR | -d DIR | test downloads | BR downloads ------------+----------+------------------+-------------- unset | unset | [error] | [error] unset | set | in $(DIR) | in $(DIR) set | unset | in $(BR2_DL_DIR) | in $(BR2_DL_DIR) set | set | in $(DIR) | in $(DIR) Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
73 lines
2.1 KiB
Python
73 lines
2.1 KiB
Python
import unittest
|
|
import os
|
|
import datetime
|
|
|
|
from infra.builder import Builder
|
|
from infra.emulator import Emulator
|
|
|
|
BASIC_TOOLCHAIN_CONFIG = \
|
|
"""
|
|
BR2_arm=y
|
|
BR2_TOOLCHAIN_EXTERNAL=y
|
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
|
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.05-1078-g95b1dae.tar.bz2"
|
|
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
|
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
|
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
|
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
|
"""
|
|
|
|
MINIMAL_CONFIG = \
|
|
"""
|
|
BR2_INIT_NONE=y
|
|
BR2_SYSTEM_BIN_SH_NONE=y
|
|
# BR2_PACKAGE_BUSYBOX is not set
|
|
# BR2_TARGET_ROOTFS_TAR is not set
|
|
"""
|
|
|
|
|
|
class BRTest(unittest.TestCase):
|
|
config = None
|
|
downloaddir = None
|
|
outputdir = None
|
|
logtofile = True
|
|
keepbuilds = False
|
|
jlevel = 0
|
|
timeout_multiplier = 1
|
|
|
|
def __init__(self, names):
|
|
super(BRTest, self).__init__(names)
|
|
self.testname = self.__class__.__name__
|
|
self.builddir = self.outputdir and os.path.join(self.outputdir, self.testname)
|
|
self.emulator = None
|
|
self.config += '\nBR2_DL_DIR="{}"\n'.format(self.downloaddir)
|
|
self.config += "\nBR2_JLEVEL={}\n".format(self.jlevel)
|
|
|
|
def show_msg(self, msg):
|
|
print "{} {:40s} {}".format(datetime.datetime.now().strftime("%H:%M:%S"),
|
|
self.testname, msg)
|
|
|
|
def setUp(self):
|
|
self.show_msg("Starting")
|
|
self.b = Builder(self.config, self.builddir, self.logtofile)
|
|
|
|
if not self.keepbuilds:
|
|
self.b.delete()
|
|
|
|
if not self.b.is_finished():
|
|
self.show_msg("Building")
|
|
self.b.build()
|
|
self.show_msg("Building done")
|
|
|
|
self.emulator = Emulator(self.builddir, self.downloaddir,
|
|
self.logtofile, self.timeout_multiplier)
|
|
|
|
def tearDown(self):
|
|
self.show_msg("Cleaning up")
|
|
if self.emulator:
|
|
self.emulator.stop()
|
|
if self.b and not self.keepbuilds:
|
|
self.b.delete()
|