devtools/testlib.py
changeset 7894 ad0eeb0f7a8d
parent 7845 2172978be237
parent 7879 9aae456abab5
child 7990 a673d1d9a738
equal deleted inserted replaced
7889:6cebeb1f386a 7894:ad0eeb0f7a8d
  1140         vreg._selected[appobject.__class__] -= 1
  1140         vreg._selected[appobject.__class__] -= 1
  1141     except (KeyError, AttributeError):
  1141     except (KeyError, AttributeError):
  1142         pass
  1142         pass
  1143 
  1143 
  1144 
  1144 
  1145 def vreg_instrumentize(testclass):
  1145 # def vreg_instrumentize(testclass):
  1146     # XXX broken
  1146 #     # XXX broken
  1147     from cubicweb.devtools.apptest import TestEnvironment
  1147 #     from cubicweb.devtools.apptest import TestEnvironment
  1148     env = testclass._env = TestEnvironment('data', configcls=testclass.configcls)
  1148 #     env = testclass._env = TestEnvironment('data', configcls=testclass.configcls)
  1149     for reg in env.vreg.values():
  1149 #     for reg in env.vreg.values():
  1150         reg._selected = {}
  1150 #         reg._selected = {}
  1151         try:
  1151 #         try:
  1152             orig_select_best = reg.__class__.__orig_select_best
  1152 #             orig_select_best = reg.__class__.__orig_select_best
  1153         except Exception:
  1153 #         except Exception:
  1154             orig_select_best = reg.__class__._select_best
  1154 #             orig_select_best = reg.__class__._select_best
  1155         def instr_select_best(self, *args, **kwargs):
  1155 #         def instr_select_best(self, *args, **kwargs):
  1156             selected = orig_select_best(self, *args, **kwargs)
  1156 #             selected = orig_select_best(self, *args, **kwargs)
  1157             try:
  1157 #             try:
  1158                 self._selected[selected.__class__] += 1
  1158 #                 self._selected[selected.__class__] += 1
  1159             except KeyError:
  1159 #             except KeyError:
  1160                 self._selected[selected.__class__] = 1
  1160 #                 self._selected[selected.__class__] = 1
  1161             except AttributeError:
  1161 #             except AttributeError:
  1162                 pass # occurs on reg used to restore database
  1162 #                 pass # occurs on reg used to restore database
  1163             return selected
  1163 #             return selected
  1164         reg.__class__._select_best = instr_select_best
  1164 #         reg.__class__._select_best = instr_select_best
  1165         reg.__class__.__orig_select_best = orig_select_best
  1165 #         reg.__class__.__orig_select_best = orig_select_best
  1166 
  1166 
  1167 
  1167 
  1168 def print_untested_objects(testclass, skipregs=('hooks', 'etypes')):
  1168 # def print_untested_objects(testclass, skipregs=('hooks', 'etypes')):
  1169     for regname, reg in testclass._env.vreg.iteritems():
  1169 #     for regname, reg in testclass._env.vreg.iteritems():
  1170         if regname in skipregs:
  1170 #         if regname in skipregs:
  1171             continue
  1171 #             continue
  1172         for appobjects in reg.itervalues():
  1172 #         for appobjects in reg.itervalues():
  1173             for appobject in appobjects:
  1173 #             for appobject in appobjects:
  1174                 if not reg._selected.get(appobject):
  1174 #                 if not reg._selected.get(appobject):
  1175                     print 'not tested', regname, appobject
  1175 #                     print 'not tested', regname, appobject