I am using .Net Core Test --collect "Code coverage"
to generate a coverage file, I need to convert this for sonarqube, the issue is I do not nave the name of the file thats generated as its placed in a folder with a guid name and the file name itself is a GUID all under the TestResults
folder
The following script works to convert .coverage
files into coveragexml
, but its for the whole working directory
Get-ChildItem -Recurse -Filter "*.coverage" | % {
$outfile = "$([System.IO.Path]::GetFileNameWithoutExtension($_.FullName)).coveragexml"
$output = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($_.FullName), $outfile)
"Analyse '$($_.Name)' with output '$outfile'..."
. "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Team Tools\Dynamic Code Coverage Tools\codecoverage.exe" analyze /output:$output $_.FullName
}
But this converts the whole directory and after several days there are many builds, all I want to do it convert the .coverage
file generated by the current build, so I need to be able to isolate the .coverage
files generated by the current build.
So you want to take only the last created code coverage file, you can filter the Get-ChiledItem
results to get the last one:
Get-ChildItem -Recurse -Filter "*.coverage" | sort LastWriteTime | select -last 1