diff --git a/htmloutput/htmloutput.py b/htmloutput/htmloutput.py
index 698e1b8..70bb2f5 100644
--- a/htmloutput/htmloutput.py
+++ b/htmloutput/htmloutput.py
@@ -588,14 +588,24 @@ class HtmlOutput(Plugin):
rmap = {}
classes = []
for n,t,o,e in result_list:
- cls = t.test.__class__
- if not rmap.has_key(cls):
- rmap[cls] = []
- classes.append(cls)
- rmap[cls].append((n,t,o,e))
+ if hasattr(t, '_tests'):
+ for inner_test in t._tests:
+ self._add_cls(rmap, classes, inner_test, (n,inner_test,o,e))
+ else:
+ self._add_cls(rmap, classes, t, (n,t,o,e))
r = [(cls, rmap[cls]) for cls in classes]
return r
+ def _add_cls(self, rmap, classes, test, data_tuple):
+ if hasattr(test, 'test'):
+ cls = test.test.__class__
+ else:
+ cls = t.__class__
+ if not rmap.has_key(cls):
+ rmap[cls] = []
+ classes.append(cls)
+ rmap[cls].append(data_tuple)
+
def _generate_report_test(self, rows, cid, tid, n, t, o, e):
# e.g. 'pt1.1', 'ft1.1', etc
has_output = bool(o or e)