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 |