11import re
22
3- from .robot_interface import RobotInterface
3+ from .robot_interface import (RobotInterface , get_keywords_from ,
4+ set_special_keyword )
5+
46
57class BaseHandler (object ):
68 DEFAULT_CLI = {tuple (['resultfile' ]): {}}
@@ -43,7 +45,9 @@ def check_for_keyword(self, test, data):
4345
4446 test: A Robot test
4547 '''
46- for curr , keyword in enumerate (test .keywords ):
48+ test_keywords = get_keywords_from (test )
49+
50+ for curr , keyword in enumerate (test_keywords ):
4751 keyword_name = self ._normalize_keyword_name (keyword .name )
4852 if not (keyword_name == self .keyword ):
4953 continue
@@ -52,8 +56,8 @@ def check_for_keyword(self, test, data):
5256 # ALL keywords, setup or not, preceding the trigger will be treated
5357 # as setup keywords later. Same goes for keywords succeeding the
5458 # trigger; they will become teardown keywords.
55- setup_keywords = test . keywords [:curr ]
56- teardown_keywords = test . keywords [(curr + 1 ):]
59+ setup_keywords = test_keywords [:curr ]
60+ teardown_keywords = test_keywords [(curr + 1 ):]
5761
5862 self ._report_oxygen_run (keyword , setup_keywords , teardown_keywords )
5963
@@ -107,10 +111,10 @@ def _build_results(self, keyword, setup_keyword, teardown_keyword):
107111 self ._set_suite_tags (result_suite , * (self ._tags + list (test .tags )))
108112
109113 if setup_keyword :
110- result_suite . keywords . append ( setup_keyword )
114+ set_special_keyword ( result_suite , 'setup' , setup_keyword )
111115
112116 if teardown_keyword :
113- result_suite . keywords . append ( teardown_keyword )
117+ set_special_keyword ( result_suite , 'teardown' , teardown_keyword )
114118
115119 self ._inject_suite_report (test , result_suite )
116120
0 commit comments