[jhbuild: 23/27] [tests] recompute build targets only once



commit 9ebe380b41ca455cd45ad3a719f0e0a1d512177a
Author: Frédéric Péters <fpeters 0d be>
Date:   Sat May 16 15:18:49 2009 +0200

    [tests] recompute build targets only once
---
 tests/mock.py  |   17 -----------------
 tests/tests.py |   16 ++++++++++++++++
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/tests/mock.py b/tests/mock.py
index 242ba9f..f78c279 100644
--- a/tests/mock.py
+++ b/tests/mock.py
@@ -54,23 +54,6 @@ class Config:
 
     prefix = '/tmp/'
 
-    def __setattr__(self, k, v):
-        self.__dict__[k] = v
-        if k in ('makeclean', 'makecheck', 'nobuild', 'makedist', 'makedistcheck'):
-            self.build_targets = ['install']
-            if self.makeclean and not 'clean' in self.build_targets:
-                self.build_targets.insert(0, 'clean')
-            if self.makecheck and not 'check' in self.build_targets:
-                self.build_targets.insert(0, 'check')
-            if self.nobuild:
-                self.build_targets.remove('install')
-                if len(self.build_targets) == 0:
-                    self.build_targets = ['checkout']
-            if self.makedist and not 'dist' in self.build_targets:
-                self.build_targets.append('dist')
-            if self.makedistcheck and not 'distcheck' in self.build_targets:
-                self.build_targets.append('distcheck')
-
 
 class PackageDB:
     time_delta = 0
diff --git a/tests/tests.py b/tests/tests.py
index cbeb8a3..f261844 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -195,9 +195,23 @@ class BuildTestCase(unittest.TestCase):
         self.buildscript = None
 
     def build(self, packagedb_params = {}, **kwargs):
+        self.config.build_targets = ['install']
         for k in kwargs:
             setattr(self.config, k, kwargs[k])
 
+        if self.config.makecheck and not 'check' in self.config.build_targets:
+            self.config.build_targets.insert(0, 'check')
+        if self.config.makeclean and not 'clean' in self.config.build_targets:
+            self.config.build_targets.insert(0, 'clean')
+        if self.config.nobuild:
+            self.config.build_targets.remove('install')
+            if len(self.config.build_targets) == 0:
+                self.config.build_targets = ['checkout']
+        if self.config.makedist and not 'dist' in self.config.build_targets:
+            self.config.build_targets.append('dist')
+        if self.config.makedistcheck and not 'distcheck' in self.config.build_targets:
+            self.config.build_targets.append('distcheck')
+
         if not self.buildscript or packagedb_params:
             self.buildscript = mock.BuildScript(self.config, self.modules)
             self.buildscript.packagedb = mock.PackageDB(**packagedb_params)
@@ -220,6 +234,8 @@ class AutotoolsModTypeTestCase(BuildTestCase):
         BuildTestCase.setUp(self)
         self.modules = [AutogenModule('foo', self.branch)]
         self.modules[0].config = self.config
+        # replace clean method as it checks for Makefile existence
+        self.modules[0].skip_clean = lambda x,y: False
 
     def test_build(self):
         '''Building a autotools module'''



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]