devtools/testlib.py
branchstable
changeset 7879 9aae456abab5
parent 7815 2a164a9cf81c
child 7894 ad0eeb0f7a8d
equal deleted inserted replaced
7874:be04706eacc9 7879:9aae456abab5
  1165         vreg._selected[appobject.__class__] -= 1
  1165         vreg._selected[appobject.__class__] -= 1
  1166     except (KeyError, AttributeError):
  1166     except (KeyError, AttributeError):
  1167         pass
  1167         pass
  1168 
  1168 
  1169 
  1169 
  1170 def vreg_instrumentize(testclass):
  1170 # def vreg_instrumentize(testclass):
  1171     # XXX broken
  1171 #     # XXX broken
  1172     from cubicweb.devtools.apptest import TestEnvironment
  1172 #     from cubicweb.devtools.apptest import TestEnvironment
  1173     env = testclass._env = TestEnvironment('data', configcls=testclass.configcls)
  1173 #     env = testclass._env = TestEnvironment('data', configcls=testclass.configcls)
  1174     for reg in env.vreg.values():
  1174 #     for reg in env.vreg.values():
  1175         reg._selected = {}
  1175 #         reg._selected = {}
  1176         try:
  1176 #         try:
  1177             orig_select_best = reg.__class__.__orig_select_best
  1177 #             orig_select_best = reg.__class__.__orig_select_best
  1178         except Exception:
  1178 #         except Exception:
  1179             orig_select_best = reg.__class__._select_best
  1179 #             orig_select_best = reg.__class__._select_best
  1180         def instr_select_best(self, *args, **kwargs):
  1180 #         def instr_select_best(self, *args, **kwargs):
  1181             selected = orig_select_best(self, *args, **kwargs)
  1181 #             selected = orig_select_best(self, *args, **kwargs)
  1182             try:
  1182 #             try:
  1183                 self._selected[selected.__class__] += 1
  1183 #                 self._selected[selected.__class__] += 1
  1184             except KeyError:
  1184 #             except KeyError:
  1185                 self._selected[selected.__class__] = 1
  1185 #                 self._selected[selected.__class__] = 1
  1186             except AttributeError:
  1186 #             except AttributeError:
  1187                 pass # occurs on reg used to restore database
  1187 #                 pass # occurs on reg used to restore database
  1188             return selected
  1188 #             return selected
  1189         reg.__class__._select_best = instr_select_best
  1189 #         reg.__class__._select_best = instr_select_best
  1190         reg.__class__.__orig_select_best = orig_select_best
  1190 #         reg.__class__.__orig_select_best = orig_select_best
  1191 
  1191 
  1192 
  1192 
  1193 def print_untested_objects(testclass, skipregs=('hooks', 'etypes')):
  1193 # def print_untested_objects(testclass, skipregs=('hooks', 'etypes')):
  1194     for regname, reg in testclass._env.vreg.iteritems():
  1194 #     for regname, reg in testclass._env.vreg.iteritems():
  1195         if regname in skipregs:
  1195 #         if regname in skipregs:
  1196             continue
  1196 #             continue
  1197         for appobjects in reg.itervalues():
  1197 #         for appobjects in reg.itervalues():
  1198             for appobject in appobjects:
  1198 #             for appobject in appobjects:
  1199                 if not reg._selected.get(appobject):
  1199 #                 if not reg._selected.get(appobject):
  1200                     print 'not tested', regname, appobject
  1200 #                     print 'not tested', regname, appobject