Skip to content

Commit e6e3b98

Browse files
authoredJan 5, 2023
Support for labels and pending decorator in ginkgo outline output (#1113)
* ginkgo outline will now display a Labels column/field with labels assigned to nodes * proper support for the pending decorator assigned to nodes * documentation update * update to outline tests
1 parent b0bd77b commit e6e3b98

28 files changed

+345
-129
lines changed
 

‎docs/index.md

+9-8
Original file line numberDiff line numberDiff line change
@@ -5093,14 +5093,14 @@ ginkgo outline book_test.go
50935093
50945094
This generates an outline in a comma-separated-values (CSV) format. Column headers are on the first line, followed by Ginkgo containers, specs, and other identifiers, in the order they appear in the file:
50955095
5096-
Name,Text,Start,End,Spec,Focused,Pending
5097-
Describe,Book,124,973,false,false,false
5098-
BeforeEach,,217,507,false,false,false
5099-
Describe,Categorizing book length,513,970,false,false,false
5100-
Context,With more than 300 pages,567,753,false,false,false
5101-
It,should be a novel,624,742,true,false,false
5102-
Context,With fewer than 300 pages,763,963,false,false,false
5103-
It,should be a short story,821,952,true,false,false
5096+
Name,Text,Start,End,Spec,Focused,Pending,Labels
5097+
Describe,Book,124,973,false,false,false,""
5098+
BeforeEach,,217,507,false,false,false,""
5099+
Describe,Categorizing book length,513,970,false,false,false,""
5100+
Context,With more than 300 pages,567,753,false,false,false,""
5101+
It,should be a novel,624,742,true,false,false,""
5102+
Context,With fewer than 300 pages,763,963,false,false,false,""
5103+
It,should be a short story,821,952,true,false,false,""
51045104
51055105
The columns are:
51065106
@@ -5111,6 +5111,7 @@ The columns are:
51115111
- Spec (bool): True, if the identifier is a spec.
51125112
- Focused (bool): True, if focused. (Conforms to the rules in [Focused Specs](#focused-specs).)
51135113
- Pending (bool): True, if pending. (Conforms to the rules in [Pending Specs](#pending-specs).)
5114+
- Labels (string): If labels are assigned to nodes then will be shown as double quoted comma separated values. (Conforms to the rules in [Spec Labels](#spec-labels).)
51145115
51155116
You can set a different output format with the `-format` flag. Accepted formats are `csv`, `indent`, and `json`. The `ident` format is like `csv`, but uses indentation to show the nesting of containers and specs. Both the `csv` and `json` formats can be read by another program, e.g., an editor plugin that displays a tree view of Ginkgo tests in a file, or presents a menu for the user to quickly navigate to a container or spec.
51165117
+16-16
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
Name,Text,Start,End,Spec,Focused,Pending
2-
Describe,NodotFixture,81,670,false,false,false
3-
Describe,normal,126,259,false,false,false
4-
It,normal,166,255,true,false,false
5-
By,normal,201,223,false,false,false
6-
By,normal,227,249,false,false,false
7-
Context,normal,262,342,false,false,false
8-
It,normal,301,338,true,false,false
9-
When,normal,345,422,false,false,false
10-
It,normal,381,418,true,false,false
11-
It,normal,425,461,true,false,false
12-
Specify,normal,464,505,true,false,false
13-
DescribeTable,normal,508,586,false,false,false
14-
Entry,normal,557,582,true,false,false
15-
DescribeTable,normal,589,667,false,false,false
16-
Entry,normal,638,663,true,false,false
1+
Name,Text,Start,End,Spec,Focused,Pending,Labels
2+
Describe,NodotFixture,81,670,false,false,false,""
3+
Describe,normal,126,259,false,false,false,""
4+
It,normal,166,255,true,false,false,""
5+
By,normal,201,223,false,false,false,""
6+
By,normal,227,249,false,false,false,""
7+
Context,normal,262,342,false,false,false,""
8+
It,normal,301,338,true,false,false,""
9+
When,normal,345,422,false,false,false,""
10+
It,normal,381,418,true,false,false,""
11+
It,normal,425,461,true,false,false,""
12+
Specify,normal,464,505,true,false,false,""
13+
DescribeTable,normal,508,586,false,false,false,""
14+
Entry,normal,557,582,true,false,false,""
15+
DescribeTable,normal,589,667,false,false,false,""
16+
Entry,normal,638,663,true,false,false,""
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"Describe","text":"NodotFixture","start":81,"end":670,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"Describe","text":"normal","start":126,"end":259,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"It","text":"normal","start":166,"end":255,"spec":true,"focused":false,"pending":false,"nodes":[{"name":"By","text":"normal","start":201,"end":223,"spec":false,"focused":false,"pending":false,"nodes":[]},{"name":"By","text":"normal","start":227,"end":249,"spec":false,"focused":false,"pending":false,"nodes":[]}]}]},{"name":"Context","text":"normal","start":262,"end":342,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"It","text":"normal","start":301,"end":338,"spec":true,"focused":false,"pending":false,"nodes":[]}]},{"name":"When","text":"normal","start":345,"end":422,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"It","text":"normal","start":381,"end":418,"spec":true,"focused":false,"pending":false,"nodes":[]}]},{"name":"It","text":"normal","start":425,"end":461,"spec":true,"focused":false,"pending":false,"nodes":[]},{"name":"Specify","text":"normal","start":464,"end":505,"spec":true,"focused":false,"pending":false,"nodes":[]},{"name":"DescribeTable","text":"normal","start":508,"end":586,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"Entry","text":"normal","start":557,"end":582,"spec":true,"focused":false,"pending":false,"nodes":[]}]},{"name":"DescribeTable","text":"normal","start":589,"end":667,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"Entry","text":"normal","start":638,"end":663,"spec":true,"focused":false,"pending":false,"nodes":[]}]}]}]
1+
[{"name":"Describe","text":"NodotFixture","start":81,"end":670,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Describe","text":"normal","start":126,"end":259,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"normal","start":166,"end":255,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"By","text":"normal","start":201,"end":223,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]},{"name":"By","text":"normal","start":227,"end":249,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]}]}]},{"name":"Context","text":"normal","start":262,"end":342,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"normal","start":301,"end":338,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]},{"name":"When","text":"normal","start":345,"end":422,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"normal","start":381,"end":418,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]},{"name":"It","text":"normal","start":425,"end":461,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]},{"name":"Specify","text":"normal","start":464,"end":505,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]},{"name":"DescribeTable","text":"normal","start":508,"end":586,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Entry","text":"normal","start":557,"end":582,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]},{"name":"DescribeTable","text":"normal","start":589,"end":667,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Entry","text":"normal","start":638,"end":663,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]}]}]
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Name,Text,Start,End,Spec,Focused,Pending
2-
Describe,DslCoreFixture,82,216,false,false,false
3-
Describe,dslcore,119,213,false,false,false
4-
It,dslcore,150,209,true,false,false
5-
By,step 1,176,188,false,false,false
6-
By,step 2,192,204,false,false,false
1+
Name,Text,Start,End,Spec,Focused,Pending,Labels
2+
Describe,DslCoreFixture,82,216,false,false,false,""
3+
Describe,dslcore,119,213,false,false,false,""
4+
It,dslcore,150,209,true,false,false,""
5+
By,step 1,176,188,false,false,false,""
6+
By,step 2,192,204,false,false,false,""
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"Describe","text":"DslCoreFixture","start":82,"end":216,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"Describe","text":"dslcore","start":119,"end":213,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"It","text":"dslcore","start":150,"end":209,"spec":true,"focused":false,"pending":false,"nodes":[{"name":"By","text":"step 1","start":176,"end":188,"spec":false,"focused":false,"pending":false,"nodes":[]},{"name":"By","text":"step 2","start":192,"end":204,"spec":false,"focused":false,"pending":false,"nodes":[]}]}]}]}]
1+
[{"name":"Describe","text":"DslCoreFixture","start":82,"end":216,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Describe","text":"dslcore","start":119,"end":213,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"dslcore","start":150,"end":209,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"By","text":"step 1","start":176,"end":188,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]},{"name":"By","text":"step 2","start":192,"end":204,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]}]}]}]}]
+16-16
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
Name,Text,Start,End,Spec,Focused,Pending
2-
Describe,unfocused,73,529,false,false,false
3-
FDescribe,focused,105,202,false,true,false
4-
It,focused,137,198,true,true,false
5-
By,focused,163,176,false,true,false
6-
By,focused,180,193,false,true,false
7-
FContext,focused,205,268,false,true,false
8-
It,focused,236,264,true,true,false
9-
FWhen,focused,271,331,false,true,false
10-
It,focused,299,327,true,true,false
11-
FIt,focused,334,362,true,true,false
12-
FSpecify,focused,365,398,true,true,false
13-
FDescribeTable,focused,401,462,false,true,false
14-
Entry,focused,442,458,true,true,false
15-
DescribeTable,focused,465,526,false,false,false
16-
FEntry,focused,505,522,true,true,false
1+
Name,Text,Start,End,Spec,Focused,Pending,Labels
2+
Describe,unfocused,73,529,false,false,false,""
3+
FDescribe,focused,105,202,false,true,false,""
4+
It,focused,137,198,true,true,false,""
5+
By,focused,163,176,false,true,false,""
6+
By,focused,180,193,false,true,false,""
7+
FContext,focused,205,268,false,true,false,""
8+
It,focused,236,264,true,true,false,""
9+
FWhen,focused,271,331,false,true,false,""
10+
It,focused,299,327,true,true,false,""
11+
FIt,focused,334,362,true,true,false,""
12+
FSpecify,focused,365,398,true,true,false,""
13+
FDescribeTable,focused,401,462,false,true,false,""
14+
Entry,focused,442,458,true,true,false,""
15+
DescribeTable,focused,465,526,false,false,false,""
16+
FEntry,focused,505,522,true,true,false,""
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name":"Describe","text":"unfocused","start":73,"end":529,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"FDescribe","text":"focused","start":105,"end":202,"spec":false,"focused":true,"pending":false,"nodes":[{"name":"It","text":"focused","start":137,"end":198,"spec":true,"focused":true,"pending":false,"nodes":[{"name":"By","text":"focused","start":163,"end":176,"spec":false,"focused":true,"pending":false,"nodes":[]},{"name":"By","text":"focused","start":180,"end":193,"spec":false,"focused":true,"pending":false,"nodes":[]}]}]},{"name":"FContext","text":"focused","start":205,"end":268,"spec":false,"focused":true,"pending":false,"nodes":[{"name":"It","text":"focused","start":236,"end":264,"spec":true,"focused":true,"pending":false,"nodes":[]}]},{"name":"FWhen","text":"focused","start":271,"end":331,"spec":false,"focused":true,"pending":false,"nodes":[{"name":"It","text":"focused","start":299,"end":327,"spec":true,"focused":true,"pending":false,"nodes":[]}]},{"name":"FIt","text":"focused","start":334,"end":362,"spec":true,"focused":true,"pending":false,"nodes":[]},{"name":"FSpecify","text":"focused","start":365,"end":398,"spec":true,"focused":true,"pending":false,"nodes":[]},{"name":"FDescribeTable","text":"focused","start":401,"end":462,"spec":false,"focused":true,"pending":false,"nodes":[{"name":"Entry","text":"focused","start":442,"end":458,"spec":true,"focused":true,"pending":false,"nodes":[]}]},{"name":"DescribeTable","text":"focused","start":465,"end":526,"spec":false,"focused":false,"pending":false,"nodes":[{"name":"FEntry","text":"focused","start":505,"end":522,"spec":true,"focused":true,"pending":false,"nodes":[]}]}]}]
1+
[{"name":"Describe","text":"unfocused","start":73,"end":529,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"FDescribe","text":"focused","start":105,"end":202,"spec":false,"focused":true,"pending":false,"labels":[],"nodes":[{"name":"It","text":"focused","start":137,"end":198,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[{"name":"By","text":"focused","start":163,"end":176,"spec":false,"focused":true,"pending":false,"labels":null,"nodes":[]},{"name":"By","text":"focused","start":180,"end":193,"spec":false,"focused":true,"pending":false,"labels":null,"nodes":[]}]}]},{"name":"FContext","text":"focused","start":205,"end":268,"spec":false,"focused":true,"pending":false,"labels":[],"nodes":[{"name":"It","text":"focused","start":236,"end":264,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]}]},{"name":"FWhen","text":"focused","start":271,"end":331,"spec":false,"focused":true,"pending":false,"labels":[],"nodes":[{"name":"It","text":"focused","start":299,"end":327,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]}]},{"name":"FIt","text":"focused","start":334,"end":362,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]},{"name":"FSpecify","text":"focused","start":365,"end":398,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]},{"name":"FDescribeTable","text":"focused","start":401,"end":462,"spec":false,"focused":true,"pending":false,"labels":[],"nodes":[{"name":"Entry","text":"focused","start":442,"end":458,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]}]},{"name":"DescribeTable","text":"focused","start":465,"end":526,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"FEntry","text":"focused","start":505,"end":522,"spec":true,"focused":true,"pending":false,"labels":[],"nodes":[]}]}]}]
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package example_test
2+
3+
import (
4+
. "github.com/onsi/ginkgo/v2"
5+
)
6+
7+
var _ = Describe("NormalFixture", func() {
8+
Describe("normal", Label("normal", "serial"), func() {
9+
It("normal", func() {
10+
By("step 1")
11+
By("step 2")
12+
})
13+
})
14+
15+
Context("normal", func() {
16+
It("normal", Label("medium"), Label("slow"), func() {
17+
18+
})
19+
})
20+
21+
When("normal", func() {
22+
It("normal", func() {
23+
24+
})
25+
})
26+
27+
It("normal", func() {
28+
29+
})
30+
31+
Specify("normal", func() {
32+
33+
})
34+
35+
DescribeTable("normal",
36+
func() {},
37+
Entry("normal"),
38+
)
39+
40+
DescribeTable("normal",
41+
func() {},
42+
Entry("normal"),
43+
)
44+
})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Name,Text,Start,End,Spec,Focused,Pending,Labels
2+
Describe,NormalFixture,73,571,false,false,false,""
3+
Describe,normal,109,228,false,false,false,"normal, serial"
4+
It,normal,166,224,true,false,false,""
5+
By,step 1,191,203,false,false,false,""
6+
By,step 2,207,219,false,false,false,""
7+
Context,normal,231,323,false,false,false,""
8+
It,normal,260,319,true,false,false,"medium, slow"
9+
When,normal,326,383,false,false,false,""
10+
It,normal,352,379,true,false,false,""
11+
It,normal,386,412,true,false,false,""
12+
Specify,normal,415,446,true,false,false,""
13+
DescribeTable,normal,449,507,false,false,false,""
14+
Entry,normal,488,503,true,false,false,""
15+
DescribeTable,normal,510,568,false,false,false,""
16+
Entry,normal,549,564,true,false,false,""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"name":"Describe","text":"NormalFixture","start":73,"end":571,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Describe","text":"normal","start":109,"end":228,"spec":false,"focused":false,"pending":false,"labels":["normal","serial"],"nodes":[{"name":"It","text":"normal","start":166,"end":224,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"By","text":"step 1","start":191,"end":203,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]},{"name":"By","text":"step 2","start":207,"end":219,"spec":false,"focused":false,"pending":false,"labels":null,"nodes":[]}]}]},{"name":"Context","text":"normal","start":231,"end":323,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"normal","start":260,"end":319,"spec":true,"focused":false,"pending":false,"labels":["medium","slow"],"nodes":[]}]},{"name":"When","text":"normal","start":326,"end":383,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"It","text":"normal","start":352,"end":379,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]},{"name":"It","text":"normal","start":386,"end":412,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]},{"name":"Specify","text":"normal","start":415,"end":446,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]},{"name":"DescribeTable","text":"normal","start":449,"end":507,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Entry","text":"normal","start":488,"end":503,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]},{"name":"DescribeTable","text":"normal","start":510,"end":568,"spec":false,"focused":false,"pending":false,"labels":[],"nodes":[{"name":"Entry","text":"normal","start":549,"end":564,"spec":true,"focused":false,"pending":false,"labels":[],"nodes":[]}]}]}]
+18-18
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
Name,Text,Start,End,Spec,Focused,Pending
2-
FDescribe,unfocused,73,584,false,false,false
3-
FContext,unfocused,106,205,false,false,false
4-
It,unfocused,139,169,true,false,false
5-
FIt,focused,172,201,true,true,false
6-
Context,unfocused,208,306,false,false,false
7-
FIt,focused,240,269,true,true,false
8-
It,unfocused,272,302,true,false,false
9-
FContext,focused,309,403,false,true,false
10-
It,focused,340,368,true,true,false
11-
It,focused,371,399,true,true,false
12-
PContext,unfocused,406,581,false,false,true
13-
FIt,unfocused,439,507,true,false,true
14-
By,unfocused,468,483,false,false,true
15-
By,unfocused,487,502,false,false,true
16-
It,unfocused,510,577,true,false,true
17-
By,unfocused,538,553,false,false,true
18-
By,unfocused,557,572,false,false,true
1+
Name,Text,Start,End,Spec,Focused,Pending,Labels
2+
FDescribe,unfocused,73,584,false,false,false,""
3+
FContext,unfocused,106,205,false,false,false,""
4+
It,unfocused,139,169,true,false,false,""
5+
FIt,focused,172,201,true,true,false,""
6+
Context,unfocused,208,306,false,false,false,""
7+
FIt,focused,240,269,true,true,false,""
8+
It,unfocused,272,302,true,false,false,""
9+
FContext,focused,309,403,false,true,false,""
10+
It,focused,340,368,true,true,false,""
11+
It,focused,371,399,true,true,false,""
12+
PContext,unfocused,406,581,false,false,true,""
13+
FIt,unfocused,439,507,true,false,true,""
14+
By,unfocused,468,483,false,false,true,""
15+
By,unfocused,487,502,false,false,true,""
16+
It,unfocused,510,577,true,false,true,""
17+
By,unfocused,538,553,false,false,true,""
18+
By,unfocused,557,572,false,false,true,""

0 commit comments

Comments
 (0)
Please sign in to comment.