devtools/repotest.py
changeset 6957 ffda12be2e9f
parent 6818 5fa425574548
child 7357 5ad3154a8810
child 7358 5a56890b33df
--- a/devtools/repotest.py	Wed Feb 09 18:06:13 2011 +0100
+++ b/devtools/repotest.py	Wed Feb 09 18:06:17 2011 +0100
@@ -1,4 +1,4 @@
-# copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
 #
 # This file is part of CubicWeb.
@@ -277,7 +277,8 @@
 
 
 class BasePlannerTC(BaseQuerierTC):
-    newsources = 0
+    newsources = ()
+
     def setup(self):
         clear_cache(self.repo, 'rel_type_sources')
         clear_cache(self.repo, 'rel_type_sources')
@@ -293,18 +294,21 @@
         do_monkey_patch()
         self._dumb_sessions = [] # by hi-jacked parent setup
         self.repo.vreg.rqlhelper.backend = 'postgres' # so FTIRANK is considered
+        self.newsources = []
 
     def add_source(self, sourcecls, uri):
-        self.sources.append(sourcecls(self.repo, {'uri': uri}))
-        self.repo.sources_by_uri[uri] = self.sources[-1]
-        setattr(self, uri, self.sources[-1])
-        self.newsources += 1
+        source = sourcecls(self.repo, {'uri': uri, 'type': 'whatever'})
+        if not source.copy_based_source:
+            self.sources.append(source)
+        self.newsources.append(source)
+        self.repo.sources_by_uri[uri] = source
+        setattr(self, uri, source)
 
     def tearDown(self):
-        while self.newsources:
-            source = self.sources.pop(-1)
+        for source in self.newsources:
+            if not source.copy_based_source:
+                self.sources.remove(source)
             del self.repo.sources_by_uri[source.uri]
-            self.newsources -= 1
         undo_monkey_patch()
         for session in self._dumb_sessions:
             session._threaddata.pool = None