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 |