[U-Boot] [PATCH 10/15] buildman: Avoid looking at config file or toolchains in tests
Simon Glass
sjg at chromium.org
Mon Aug 25 18:01:15 CEST 2014
These files may not exist in the environment, or may not be suitable for
testing. Provide our own config file and our own toolchains when running
tests.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
tools/buildman/bsettings.py | 15 ++++++++++-----
tools/buildman/func_test.py | 19 +++++++++++++++++++
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/tools/buildman/bsettings.py b/tools/buildman/bsettings.py
index 9164798..fdd875b 100644
--- a/tools/buildman/bsettings.py
+++ b/tools/buildman/bsettings.py
@@ -5,6 +5,7 @@
import ConfigParser
import os
+import StringIO
def Setup(fname=''):
@@ -17,11 +18,15 @@ def Setup(fname=''):
global config_fname
settings = ConfigParser.SafeConfigParser()
- config_fname = fname
- if config_fname == '':
- config_fname = '%s/.buildman' % os.getenv('HOME')
- if config_fname:
- settings.read(config_fname)
+ if fname is not None:
+ config_fname = fname
+ if config_fname == '':
+ config_fname = '%s/.buildman' % os.getenv('HOME')
+ if config_fname:
+ settings.read(config_fname)
+
+def AddFile(data):
+ settings.readfp(StringIO.StringIO(data))
def GetItems(section):
"""Get the items from a section of the config.
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index d6fbed8..c023425 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -9,6 +9,7 @@ import sys
import tempfile
import unittest
+import bsettings
import cmdline
import command
import control
@@ -16,6 +17,22 @@ import gitutil
import terminal
import toolchain
+settings_data = '''
+# Buildman settings file
+
+[toolchain]
+
+[toolchain-alias]
+
+[make-flags]
+src=/home/sjg/c/src
+chroot=/home/sjg/c/chroot
+vboot=USE_STDINT=1 VBOOT_DEBUG=1 MAKEFLAGS_VBOOT=DEBUG=1 CFLAGS_EXTRA_VBOOT=-DUNROLL_LOOPS VBOOT_SOURCE=${src}/platform/vboot_reference
+chromeos_coreboot=VBOOT=${chroot}/build/link/usr ${vboot}
+chromeos_daisy=VBOOT=${chroot}/build/daisy/usr ${vboot}
+chromeos_peach=VBOOT=${chroot}/build/peach_pit/usr ${vboot}
+'''
+
class TestFunctional(unittest.TestCase):
"""Functional test for buildman.
@@ -35,6 +52,8 @@ class TestFunctional(unittest.TestCase):
command.test_result = self._HandleCommand
self._toolchains = toolchain.Toolchains()
self._toolchains.Add('gcc', test=False)
+ bsettings.Setup(None)
+ bsettings.AddFile(settings_data)
def _RunBuildman(self, *args):
return command.RunPipe([[self._buildman_pathname] + list(args)],
--
2.1.0.rc2.206.gedb03e5
More information about the U-Boot
mailing list