@@ -20,6 +20,11 @@ def _update_item(self, uuid, **kwargs):
2020 else :
2121 setattr (item , name , value )
2222
23+ def _last_executable (self ):
24+ for _uuid in reversed (self ._items ):
25+ if isinstance (self ._items [_uuid ], ExecutableItem ):
26+ return _uuid
27+
2328 def get_item (self , uuid ):
2429 return self ._items .get (uuid )
2530
@@ -62,11 +67,7 @@ def close_test(self, uuid):
6267 plugin_manager .hook .report_result (result = test_case )
6368
6469 def start_step (self , parent_uuid , uuid , step ):
65- if not parent_uuid :
66- for _uuid in reversed (self ._items ):
67- if isinstance (self ._items [_uuid ], ExecutableItem ):
68- parent_uuid = _uuid
69- break
70+ parent_uuid = parent_uuid if parent_uuid else self ._last_executable ()
7071 self ._items [parent_uuid ].steps .append (step )
7172 self ._items [uuid ] = step
7273
@@ -84,7 +85,7 @@ def _attach(self, uuid, name=None, attachment_type=None, extension=None):
8485
8586 file_name = ATTACHMENT_PATTERN .format (prefix = uuid , ext = extension )
8687 attachment = Attachment (source = file_name , name = name , type = mime_type )
87- last_uuid = next ( reversed ( self ._items ) )
88+ last_uuid = self ._last_executable ( )
8889 self ._items [last_uuid ].attachments .append (attachment )
8990
9091 return file_name
0 commit comments