Skip to content

Commit fceb2ea

Browse files
committed
Merge pull request #1118 from vbfox/end_task_in_dotcover
Ensure that traceEndTask is called in DotCover
2 parents 7d609c8 + f9a9c90 commit fceb2ea

File tree

1 file changed

+51
-46
lines changed

1 file changed

+51
-46
lines changed

src/app/FakeLib/DotCover.fs

+51-46
Original file line numberDiff line numberDiff line change
@@ -184,16 +184,17 @@ let DotCoverNUnit (setDotCoverParams: DotCoverParams -> DotCoverParams) (setNUni
184184
let details = assemblies |> separated ", "
185185
traceStartTask "DotCoverNUnit" details
186186

187-
let parameters = NUnitDefaults |> setNUnitParams
188-
let args = buildNUnitdArgs parameters assemblies
187+
try
188+
let parameters = NUnitDefaults |> setNUnitParams
189+
let args = buildNUnitdArgs parameters assemblies
189190

190-
DotCover (fun p ->
191-
{p with
192-
TargetExecutable = parameters.ToolPath @@ parameters.ToolName
193-
TargetArguments = args
194-
} |> setDotCoverParams)
195-
196-
traceEndTask "DotCoverNUnit" details
191+
DotCover (fun p ->
192+
{p with
193+
TargetExecutable = parameters.ToolPath @@ parameters.ToolName
194+
TargetArguments = args
195+
} |> setDotCoverParams)
196+
finally
197+
traceEndTask "DotCoverNUnit" details
197198

198199
/// Runs the dotCover "cover" command against the NUnit test runner.
199200
/// ## Parameters
@@ -212,18 +213,19 @@ let DotCoverNUnit (setDotCoverParams: DotCoverParams -> DotCoverParams) (setNUni
212213
let DotCoverNUnit3 (setDotCoverParams: DotCoverParams -> DotCoverParams) (setNUnitParams: NUnit3Params -> NUnit3Params) (assemblies: string seq) =
213214
let assemblies = assemblies |> Seq.toArray
214215
let details = assemblies |> separated ", "
215-
traceStartTask "DotCoverNUnit" details
216+
traceStartTask "DotCoverNUnit3" details
216217

217-
let parameters = NUnit3Defaults |> setNUnitParams
218-
let args = buildNUnit3Args parameters assemblies
218+
try
219+
let parameters = NUnit3Defaults |> setNUnitParams
220+
let args = buildNUnit3Args parameters assemblies
219221

220-
DotCover (fun p ->
221-
{p with
222-
TargetExecutable = parameters.ToolPath
223-
TargetArguments = args
224-
} |> setDotCoverParams)
225-
226-
traceEndTask "DotCoverNUnit" details
222+
DotCover (fun p ->
223+
{p with
224+
TargetExecutable = parameters.ToolPath
225+
TargetArguments = args
226+
} |> setDotCoverParams)
227+
finally
228+
traceEndTask "DotCoverNUnit3" details
227229

228230
/// Runs the dotCover "cover" command against the XUnit2 test runner.
229231
/// ## Parameters
@@ -242,16 +244,17 @@ let DotCoverXUnit2 (setDotCoverParams: DotCoverParams -> DotCoverParams) (setXUn
242244
let details = assemblies |> separated ", "
243245
traceStartTask "DotCoverXUnit2" details
244246

245-
let parameters = XUnit2Defaults |> setXUnit2Params
246-
let args = buildXUnit2Args assemblies parameters
247+
try
248+
let parameters = XUnit2Defaults |> setXUnit2Params
249+
let args = buildXUnit2Args assemblies parameters
247250

248-
DotCover (fun p ->
249-
{p with
250-
TargetExecutable = parameters.ToolPath
251-
TargetArguments = args
252-
} |> setDotCoverParams)
253-
254-
traceEndTask "DotCoverXUnit2" details
251+
DotCover (fun p ->
252+
{p with
253+
TargetExecutable = parameters.ToolPath
254+
TargetArguments = args
255+
} |> setDotCoverParams)
256+
finally
257+
traceEndTask "DotCoverXUnit2" details
255258

256259
/// Builds the command line arguments from the given parameter record and the given assemblies.
257260
/// Runs all test assemblies in the same run for easier coverage management.
@@ -289,16 +292,17 @@ let DotCoverMSTest (setDotCoverParams: DotCoverParams -> DotCoverParams) (setMST
289292
let details = assemblies |> separated ", "
290293
traceStartTask "DotCoverMSTest " details
291294

292-
let parameters = MSTestDefaults |> setMSTestParams
293-
let args = buildMSTestArgsForDotCover parameters assemblies
295+
try
296+
let parameters = MSTestDefaults |> setMSTestParams
297+
let args = buildMSTestArgsForDotCover parameters assemblies
294298

295-
DotCover (fun p ->
296-
{p with
297-
TargetExecutable = parameters.ToolPath
298-
TargetArguments = args
299-
} |> setDotCoverParams)
300-
301-
traceEndTask "DotCoverMSTest" details
299+
DotCover (fun p ->
300+
{p with
301+
TargetExecutable = parameters.ToolPath
302+
TargetArguments = args
303+
} |> setDotCoverParams)
304+
finally
305+
traceEndTask "DotCoverMSTest" details
302306

303307
/// Runs the dotCover "cover" command against the MSpec test runner.
304308
/// ## Parameters
@@ -319,14 +323,15 @@ let DotCoverMSpec (setDotCoverParams: DotCoverParams -> DotCoverParams) (setMSpe
319323
let details = assemblies |> separated ", "
320324
traceStartTask "DotCoverMSpec" details
321325

322-
let parameters = MSpecDefaults |> setMSpecParams
326+
try
327+
let parameters = MSpecDefaults |> setMSpecParams
323328

324-
let args = buildMSpecArgs parameters assemblies
329+
let args = buildMSpecArgs parameters assemblies
325330

326-
DotCover (fun p ->
327-
{p with
328-
TargetExecutable = parameters.ToolPath
329-
TargetArguments = args
330-
} |> setDotCoverParams)
331-
332-
traceEndTask "DotCoverMSpec" details
331+
DotCover (fun p ->
332+
{p with
333+
TargetExecutable = parameters.ToolPath
334+
TargetArguments = args
335+
} |> setDotCoverParams)
336+
finally
337+
traceEndTask "DotCoverMSpec" details

0 commit comments

Comments
 (0)