diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-03-30 14:18:59 +0100 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-03-30 14:18:59 +0100 |
commit | 9579486fadb5af77ecfc8df9dd1e9e814d958bef (patch) | |
tree | d36fd4b393f225dcb4a3b6dd64f7fbc44a89b945 /morphlib/buildsystem_tests.py | |
parent | 907ced8460dee3763c5890a69f9d5e126621041e (diff) | |
download | morph-9579486fadb5af77ecfc8df9dd1e9e814d958bef.tar.gz |
Add autodetection for autotools, and a factory function
Diffstat (limited to 'morphlib/buildsystem_tests.py')
-rw-r--r-- | morphlib/buildsystem_tests.py | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/morphlib/buildsystem_tests.py b/morphlib/buildsystem_tests.py index 33b7a580..c8e9058f 100644 --- a/morphlib/buildsystem_tests.py +++ b/morphlib/buildsystem_tests.py @@ -27,12 +27,12 @@ def touch(pathname): pass -def create_empty_project(srcdir): +def create_manual_project(srcdir): pass def create_autotools_project(srcdir): - touch(os.path.join(srcdir, 'configure')) + touch(os.path.join(srcdir, 'configure.in')) class ManualBuildSystem(unittest.TestCase): @@ -45,7 +45,7 @@ class ManualBuildSystem(unittest.TestCase): shutil.rmtree(self.tempdir) def test_does_not_autodetect_empty(self): - create_empty_project(self.tempdir) + create_manual_project(self.tempdir) self.assertFalse(self.bs.used_by_project(self.tempdir)) def test_does_not_autodetect_autotools(self): @@ -63,10 +63,30 @@ class AutotoolsBuildSystem(unittest.TestCase): shutil.rmtree(self.tempdir) def test_does_not_autodetect_empty(self): - create_empty_project(self.tempdir) + create_manual_project(self.tempdir) self.assertFalse(self.bs.used_by_project(self.tempdir)) def test_autodetects_autotools(self): create_autotools_project(self.tempdir) self.assertFalse(self.bs.used_by_project(self.tempdir)) + +class DetectBuildSystemTests(unittest.TestCase): + + def setUp(self): + self.bs = morphlib.buildsystem.ManualBuildSystem() + self.tempdir = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.tempdir) + + def test_autodetects_manual(self): + create_manual_project(self.tempdir) + bs = morphlib.buildsystem.detect_build_system(self.tempdir) + self.assertEqual(type(bs), morphlib.buildsystem.ManualBuildSystem) + + def test_autodetects_autotools(self): + create_autotools_project(self.tempdir) + bs = morphlib.buildsystem.detect_build_system(self.tempdir) + self.assertEqual(type(bs), morphlib.buildsystem.AutotoolsBuildSystem) + |