summaryrefslogtreecommitdiff
path: root/morphlib/buildenvironment_tests.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-02-25 11:45:30 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-13 15:20:02 +0000
commit92d98f57eaa6e0871b70d0d0ab1db879cf3ea47a (patch)
treee8d6629110f8c079c2d94b6f1e3fe8e239b9fd43 /morphlib/buildenvironment_tests.py
parentece7f823de6bd61a0676edf71a9525697848824e (diff)
downloadmorph-92d98f57eaa6e0871b70d0d0ab1db879cf3ea47a.tar.gz
Set environment variables defining target for build-essential
In the future we will allow this to be modified to provide a cross-bootstrap mode, but for now we use the same target as the host compiler.
Diffstat (limited to 'morphlib/buildenvironment_tests.py')
-rw-r--r--morphlib/buildenvironment_tests.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/morphlib/buildenvironment_tests.py b/morphlib/buildenvironment_tests.py
index 2af3f605..03799190 100644
--- a/morphlib/buildenvironment_tests.py
+++ b/morphlib/buildenvironment_tests.py
@@ -29,20 +29,28 @@ class BuildEnvironmentTests(unittest.TestCase):
'no-ccache': True,
'no-distcc': True
}
+ self.target = '%s-baserock-linux-gnu' % morphlib.util.arch()
self.fake_env = {
'PATH': '/fake_bin',
}
self.default_path = 'no:such:path'
+ def new_build_env(self, settings=None, target=None, **kws):
+ settings = settings or self.settings
+ target = target or self.target
+ return buildenvironment.BuildEnvironment(settings, target, **kws)
+
def test_arch_defaults_to_host(self):
- buildenv = buildenvironment.BuildEnvironment(self.settings)
+ buildenv = self.new_build_env()
self.assertEqual(buildenv.arch, morphlib.util.arch())
def test_arch_overridable(self):
- buildenv = buildenvironment.BuildEnvironment(self.settings,
- arch='noarch')
+ buildenv = self.new_build_env(arch='noarch')
self.assertEqual(buildenv.arch, 'noarch')
+ def test_target_always_valid(self):
+ self.assertRaises(morphlib.Error, self.new_build_env, target="invalid")
+
def test_copies_whitelist_vars(self):
env = self.fake_env
safe = {
@@ -57,19 +65,19 @@ class BuildEnvironmentTests(unittest.TestCase):
old_osenv = buildenvironment.BuildEnvironment._osenv
buildenvironment.BuildEnvironment._osenv = env
- buildenv = buildenvironment.BuildEnvironment(self.settings)
+ buildenv = self.new_build_env()
self.assertEqual(sorted(safe.items()),
sorted([(k, buildenv.env[k]) for k in safe.keys()]))
buildenvironment.BuildEnvironment._osenv = old_osenv
def test_user_spellings_equal(self):
- buildenv = buildenvironment.BuildEnvironment(self.settings)
+ buildenv = self.new_build_env()
self.assertTrue(buildenv.env['USER'] == buildenv.env['USERNAME'] ==
buildenv.env['LOGNAME'])
def test_environment_overrides(self):
- buildenv = buildenvironment.BuildEnvironment(self.settings)
+ buildenv = self.new_build_env()
self.assertEqual(buildenv.env['TERM'], buildenv._override_term)
self.assertEqual(buildenv.env['SHELL'], buildenv._override_shell)
self.assertEqual(buildenv.env['USER'], buildenv._override_username)
@@ -79,14 +87,13 @@ class BuildEnvironmentTests(unittest.TestCase):
self.assertEqual(buildenv.env['HOME'], buildenv._override_home)
def test_environment_settings_set(self):
- buildenv = buildenvironment.BuildEnvironment(self.settings)
- #self.assertEqual(buildenv.env['TOOLCHAIN_TARGET'],
- # self.settings['toolchain-target'])
+ buildenv = self.new_build_env()
+ self.assertEqual(buildenv.env['TARGET'], self.target)
def test_ccache_vars_set(self):
new_settings = copy.copy(self.settings)
new_settings['no-ccache'] = False
new_settings['no-distcc'] = False
- buildenv = buildenvironment.BuildEnvironment(new_settings)
+ buildenv = self.new_build_env(settings=new_settings)
self.assertTrue(buildenv._ccache_path in buildenv.extra_path)
self.assertEqual(buildenv.env['CCACHE_PREFIX'], 'distcc')