Skip to content

Commit ca04062

Browse files
committed
Add template support for GROUP (#5257)
1 parent bf7bd99 commit ca04062

File tree

3 files changed

+162
-1
lines changed

3 files changed

+162
-1
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
*** Settings ***
2+
Suite Setup Run Tests ${EMPTY} running/group/templates.robot
3+
Resource atest_resource.robot
4+
5+
*** Test Cases ***
6+
Pass
7+
${tc} = Check Test Case ${TESTNAME}
8+
Check Body Item Data ${tc[0]} type=GROUP status=PASS children=1 name=1
9+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 1.1
10+
Check Body Item Data ${tc[1]} type=GROUP status=PASS children=2 name=2
11+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 2.1
12+
Check Body Item Data ${tc[1, 1]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 2.2
13+
14+
Pass and fail
15+
${tc} = Check Test Case ${TESTNAME}
16+
Check Body Item Data ${tc[0]} type=GROUP status=PASS children=1 name=1
17+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 1.1
18+
Check Body Item Data ${tc[1]} type=GROUP status=FAIL children=2 name=2 message=2.1
19+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 2.1 message=2.1
20+
Check Body Item Data ${tc[1, 1]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 2.2
21+
Check Body Item Data ${tc[2]} type=GROUP status=PASS children=1 name=3
22+
Check Body Item Data ${tc[2, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 3.1
23+
24+
Fail multiple times
25+
${tc} = Check Test Case ${TESTNAME}
26+
Check Body Item Data ${tc[0]} type=GROUP status=FAIL children=1 name=1 message=1.1
27+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 1.1 message=1.1
28+
Check Body Item Data ${tc[1]} type=GROUP status=FAIL children=3 name=2 message=Several failures occurred:\n\n1) 2.1\n\n2) 2.3
29+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 2.1 message=2.1
30+
Check Body Item Data ${tc[1, 1]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 2.2
31+
Check Body Item Data ${tc[1, 2]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 2.3 message=2.3
32+
Check Body Item Data ${tc[2]} type=GROUP status=PASS children=1 name=3
33+
Check Body Item Data ${tc[2, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 3.1
34+
Check Body Item Data ${tc[3]} type=GROUP status=FAIL children=1 name=4 message=4.1
35+
Check Body Item Data ${tc[3, 0]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 4.1 message=4.1
36+
37+
Pass and skip
38+
${tc} = Check Test Case ${TESTNAME}
39+
Check Body Item Data ${tc[0]} type=GROUP status=SKIP children=1 name=1 message=1.1
40+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 1.1 message=1.1
41+
Check Body Item Data ${tc[1]} type=GROUP status=PASS children=1 name=2
42+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 2.1
43+
Check Body Item Data ${tc[2]} type=GROUP status=PASS children=2 name=3
44+
Check Body Item Data ${tc[2, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 3.1 message=3.1
45+
Check Body Item Data ${tc[2, 1]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 3.2
46+
47+
Pass, fail and skip
48+
${tc} = Check Test Case ${TESTNAME}
49+
Check Body Item Data ${tc[0]} type=GROUP status=FAIL children=3 name=1 message=1.1
50+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=FAIL children=1 name=Run Keyword args=Fail, 1.1 message=1.1
51+
Check Body Item Data ${tc[0, 1]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 1.2 message=1.2
52+
Check Body Item Data ${tc[0, 2]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 1.3
53+
Check Body Item Data ${tc[1]} type=GROUP status=SKIP children=1 name=2 message=2.1
54+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 2.1 message=2.1
55+
Check Body Item Data ${tc[2]} type=GROUP status=PASS children=1 name=3
56+
Check Body Item Data ${tc[2, 0]} type=KEYWORD status=PASS children=1 name=Run Keyword args=Log, 3.1
57+
58+
Skip all
59+
${tc} = Check Test Case ${TESTNAME}
60+
Check Body Item Data ${tc[0]} type=GROUP status=SKIP children=2 name=1 message=All iterations skipped.
61+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 1.1 message=1.1
62+
Check Body Item Data ${tc[0, 1]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 1.2 message=1.2
63+
Check Body Item Data ${tc[1]} type=GROUP status=SKIP children=1 name=2 message=2.1
64+
Check Body Item Data ${tc[1, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 2.1 message=2.1
65+
66+
Just one that is skipped
67+
${tc} = Check Test Case ${TESTNAME}
68+
Check Body Item Data ${tc[0]} type=GROUP status=SKIP children=1 name=1 message=1.1
69+
Check Body Item Data ${tc[0, 0]} type=KEYWORD status=SKIP children=1 name=Run Keyword args=Skip, 1.1 message=1.1
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
*** Settings ***
2+
Test Template Run Keyword
3+
4+
*** Test Cases ***
5+
Pass
6+
GROUP 1
7+
Log 1.1
8+
END
9+
GROUP 2
10+
Log 2.1
11+
Log 2.2
12+
END
13+
14+
Pass and fail
15+
[Documentation] FAIL 2.1
16+
GROUP 1
17+
Log 1.1
18+
END
19+
GROUP 2
20+
Fail 2.1
21+
Log 2.2
22+
END
23+
GROUP 3
24+
Log 3.1
25+
END
26+
27+
Fail multiple times
28+
[Documentation] FAIL Several failures occurred:
29+
...
30+
... 1) 1.1
31+
...
32+
... 2) 2.1
33+
...
34+
... 3) 2.3
35+
...
36+
... 4) 4.1
37+
GROUP 1
38+
Fail 1.1
39+
END
40+
GROUP 2
41+
Fail 2.1
42+
Log 2.2
43+
Fail 2.3
44+
END
45+
GROUP 3
46+
Log 3.1
47+
END
48+
GROUP 4
49+
Fail 4.1
50+
END
51+
52+
Pass and skip
53+
GROUP 1
54+
Skip 1.1
55+
END
56+
GROUP 2
57+
Log 2.1
58+
END
59+
GROUP 3
60+
Skip 3.1
61+
Log 3.2
62+
END
63+
64+
Pass, fail and skip
65+
[Documentation] FAIL 1.1
66+
GROUP 1
67+
Fail 1.1
68+
Skip 1.2
69+
Log 1.3
70+
END
71+
GROUP 2
72+
Skip 2.1
73+
END
74+
GROUP 3
75+
Log 3.1
76+
END
77+
78+
Skip all
79+
[Documentation] SKIP All iterations skipped.
80+
GROUP 1
81+
Skip 1.1
82+
Skip 1.2
83+
END
84+
GROUP 2
85+
Skip 2.1
86+
END
87+
88+
Just one that is skipped
89+
[Documentation] SKIP 1.1
90+
GROUP 1
91+
Skip 1.1
92+
END

src/robot/running/builder/transformers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def build(self, node):
252252

253253
def _set_template(self, parent, template):
254254
for item in parent.body:
255-
if item.type == item.FOR:
255+
if item.type in (item.FOR, item.GROUP):
256256
self._set_template(item, template)
257257
elif item.type == item.IF_ELSE_ROOT:
258258
for branch in item.body:

0 commit comments

Comments
 (0)