@@ -59,10 +59,13 @@ type Case struct {
5959 parent * Case
6060}
6161
62- // Run prepares and executes the test, and any possible subtests
62+ // Run prepares and executes the test, and any possible subtests.
63+ //
64+ //nolint:gocognit
6365func (test * Case ) Run (t * testing.T ) {
6466 t .Helper ()
6567 // Run the test
68+ //nolint:thelper
6669 testRun := func (subT * testing.T ) {
6770 subT .Helper ()
6871
@@ -81,10 +84,13 @@ func (test *Case) Run(t *testing.T) {
8184
8285 // If we have a parent, get parent env, data and config
8386 var parentData Data
87+
8488 var parentConfig Config
89+
8590 if test .parent != nil {
8691 parentData = test .parent .Data
8792 parentConfig = test .parent .Config
93+
8894 for k , v := range test .parent .Env {
8995 if _ , ok := test .Env [k ]; ! ok {
9096 test .Env [k ] = v
@@ -96,23 +102,22 @@ func (test *Case) Run(t *testing.T) {
96102 test .Data = configureData (test .t , test .Data , parentData )
97103 test .Config = configureConfig (test .Config , parentConfig )
98104
99- var b CustomizableCommand
105+ var custCom CustomizableCommand
100106 if registeredTestable == nil {
101- b = & GenericCommand {}
107+ custCom = & GenericCommand {}
102108 } else {
103- b = registeredTestable .CustomCommand (test , test .t )
109+ custCom = registeredTestable .CustomCommand (test , test .t )
104110 }
105111
106- b .WithCwd (test .Data .TempDir ())
107-
108- b .withT (test .t )
109- b .withTempDir (test .Data .TempDir ())
110- b .withEnv (test .Env )
111- b .withConfig (test .Config )
112+ custCom .WithCwd (test .Data .TempDir ())
113+ custCom .withT (test .t )
114+ custCom .withTempDir (test .Data .TempDir ())
115+ custCom .withEnv (test .Env )
116+ custCom .withConfig (test .Config )
112117
113118 // Attach the base command, and t
114119 test .helpers = & helpersInternal {
115- cmdInternal : b ,
120+ cmdInternal : custCom ,
116121 t : test .t ,
117122 }
118123
@@ -125,9 +130,11 @@ func (test *Case) Run(t *testing.T) {
125130 if ! shouldRun {
126131 test .t .Skipf ("test skipped as: %s" , message )
127132 }
133+
128134 if test .Require .Setup != nil {
129135 setups = append (setups , test .Require .Setup )
130136 }
137+
131138 if test .Require .Cleanup != nil {
132139 cleanups = append (cleanups , test .Require .Cleanup )
133140 }
@@ -154,35 +161,46 @@ func (test *Case) Run(t *testing.T) {
154161 }
155162
156163 // Execute cleanups now
164+ test .t .Log ("" )
157165 test .t .Log ("======================== Pre-test cleanup ========================" )
166+
158167 for _ , cleanup := range cleanups {
159168 cleanup (test .Data , test .helpers )
160169 }
161170
162171 // Register the cleanups, in reverse
163172 test .t .Cleanup (func () {
173+ test .t .Log ("" )
164174 test .t .Log ("======================== Post-test cleanup ========================" )
175+
165176 slices .Reverse (cleanups )
177+
166178 for _ , cleanup := range cleanups {
167179 cleanup (test .Data , test .helpers )
168180 }
169181 })
170182
171183 // Run the setups
184+ test .t .Log ("" )
172185 test .t .Log ("======================== Test setup ========================" )
186+
173187 for _ , setup := range setups {
174188 setup (test .Data , test .helpers )
175189 }
176190
177191 // Run the command if any, with expectations
178192 // Note: if we have a command, we already know we DO have Expected
193+ test .t .Log ("" )
179194 test .t .Log ("======================== Test Run ========================" )
195+
180196 if test .Command != nil {
181197 test .Command (test .Data , test .helpers ).Run (test .Expected (test .Data , test .helpers ))
182198 }
183199
184200 // Now go for the subtests
201+ test .t .Log ("" )
185202 test .t .Log ("======================== Processing subtests ========================" )
203+
186204 for _ , subTest := range test .SubTests {
187205 subTest .parent = test
188206 subTest .Run (test .t )
0 commit comments