1
1
import re
2
2
3
- from .robot_interface import RobotInterface
3
+ from .robot_interface import (RobotInterface , get_keywords_from ,
4
+ set_special_keyword )
5
+
4
6
5
7
class BaseHandler (object ):
6
8
DEFAULT_CLI = {tuple (['resultfile' ]): {}}
@@ -43,7 +45,9 @@ def check_for_keyword(self, test, data):
43
45
44
46
test: A Robot test
45
47
'''
46
- for curr , keyword in enumerate (test .keywords ):
48
+ test_keywords = get_keywords_from (test )
49
+
50
+ for curr , keyword in enumerate (test_keywords ):
47
51
keyword_name = self ._normalize_keyword_name (keyword .name )
48
52
if not (keyword_name == self .keyword ):
49
53
continue
@@ -52,8 +56,8 @@ def check_for_keyword(self, test, data):
52
56
# ALL keywords, setup or not, preceding the trigger will be treated
53
57
# as setup keywords later. Same goes for keywords succeeding the
54
58
# 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 ):]
57
61
58
62
self ._report_oxygen_run (keyword , setup_keywords , teardown_keywords )
59
63
@@ -107,10 +111,10 @@ def _build_results(self, keyword, setup_keyword, teardown_keyword):
107
111
self ._set_suite_tags (result_suite , * (self ._tags + list (test .tags )))
108
112
109
113
if setup_keyword :
110
- result_suite . keywords . append ( setup_keyword )
114
+ set_special_keyword ( result_suite , 'setup' , setup_keyword )
111
115
112
116
if teardown_keyword :
113
- result_suite . keywords . append ( teardown_keyword )
117
+ set_special_keyword ( result_suite , 'teardown' , teardown_keyword )
114
118
115
119
self ._inject_suite_report (test , result_suite )
116
120
0 commit comments