Coder Social home page Coder Social logo

rogeriohsjr / coverageconverter Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 4.0 949 KB

Azure DevOps Task which converts .coverage file into .coveragexml to be used with Report Generator in Azure Pipeline.

Home Page: https://marketplace.visualstudio.com/items?itemName=rogeriohsjr.build-release-task

License: MIT License

TypeScript 100.00%
azure-devops coverage pipeline convertion azuredevops-task coverage-converter

coverageconverter's Introduction

Coverage Converter

This Task converts .coverage file into .coveragexml to be used with Report Generator.

๐Ÿ˜ Motivation/Points:

  • I created this extension to help my pipeline process.
  • Instead building a script which I would use only for me, I rather share the same code with everyone, so people don't need to waste their time searching for things that should be out of the box.
  • Learning some new stuff like AzureDevOps Tasks and a bit of Node.

โš ๏ธ Things to keep in mind

๐Ÿ“ How to setup this pipeline?

Basically we need to add these tasks in Azure DevOps.

  1. Execute Code Coverage(CoverageConverter@0)
    1. This task will execute vsTest.exe which is the same used when we use VSTest@2 in azure DevOps.
    2. The result of vsTest.exe is the *.coverage files.
    3. The task will get all *.coverage file and covert into *.coveragexml, which is the format that Report Generator uses to generate a nice interface in Azure DevOps.
  2. Execute Report Generator(reportgenerator@4) to generate the Reports
    1. This task will get the .coveragexml that we generated and generate the reports into a folder.
  3. Execute Publish Code Coverage Results task(PublishCodeCoverageResults@1)
    1. This Task will get the Report and publish into Azure Code Coverage Tab.

Example of YML Files

Azure Pipeline YML File - Example 1

โš™๏ธ How does the convertion works?

Take a look in the code, I tried to comment the code to make that easier to understand. It is all in one file.

https://github.com/Rogeriohsjr/AzureDevOpsTask/blob/master/buildAndReleaseTask/index.ts

coverageconverter's People

Contributors

mkrieg80 avatar rogeriohsjr avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

coverageconverter's Issues

Coverage calculated against test project rather than main project

I've implemented this in my devops pipeline against a solution which has a new test project with a single test. When using visual studio I get back a coverage of 0.98%. In devops this is reporting 100%. I look at the details and it seems its calculating the coverage against the tests project rather than the main project in the solution. The report only shows the dll for test project.

How to remove warning

2020-09-04T02:20:08: Report generation took 7.7 seconds
Generated code coverage html report: D:\a_temp\cchtml
##[warning]Ignoring coverage report directory with Html content as we are auto-generating Html content
Reading code coverage summary from 'D:\a\1\s\TestResults\Coverage\Reports\Cobertura.xml'

Error when generating the Coverage Report

Hi I am encountering an issue with the generation of the Coverage Report, I have used your example
https://github.com/Rogeriohsjr/TestWebApp/blob/master/azure-pipelines.yml

ERROR:

	Starting: Generate Coverage Report
	==============================================================================
	Task         : ReportGenerator
	Description  : ReportGenerator converts coverage reports generated by OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.
	Version      : 4.5.2
	Author       : Palmmedia
	Help         : [More Information](https://github.com/danielpalme/ReportGenerator)
	==============================================================================
	"C:\Program Files\dotnet\dotnet.exe" d:\a\_tasks\reportgenerator_be803a55-9253-4895-a525-be570d86f161\4.5.2\tools\netcoreapp2.1\ReportGenerator.dll -reports:d:\a\_temp\TestResults\DynamicCodeCoverage.coveragexml -targetdir:d:\a\1\s\TestResults\Coverage\Reports -reporttypes:HtmlInline_AzurePipelines;Cobertura;Badges -sourcedirs: -historydir: -plugins: -assemblyfilters:+* -classfilters:+* -filefilters:+* -verbosity:Info -title: -tag:ASD-D365-CI-20200319-16_#91
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	(node:4172) Warning: Use Cipheriv for counter mode of aes-256-ctr
	2020-03-19T04:33:02: Executable: d:\a\_tasks\reportgenerator_be803a55-9253-4895-a525-be570d86f161\4.5.2\tools\netcoreapp2.1\ReportGenerator.Core.dll
	2020-03-19T04:33:02: Working directory: d:\a\1\s
	2020-03-19T04:33:02: The report file 'd:\a\_temp\TestResults\DynamicCodeCoverage.coveragexml' is invalid. File does not exist (Full path: 'd:\a\_temp\TestResults\DynamicCodeCoverage.coveragexml').
	2020-03-19T04:33:02: No report files specified.
	##[error]The process 'C:\Program Files\dotnet\dotnet.exe' failed with exit code 1
	Finishing: Generate Coverage Report

My YAML:

	# Run Tests
	- task: VSTest@2
	  displayName: 'VsTest - testAssemblies'
	  inputs:
		testAssemblyVer2: |
		 **\$(BuildConfiguration)\*test*.dll
		 !**\*TestAdapter.dll
		 !**\obj\**
		platform: '$(BuildPlatform)'
		configuration: '$(BuildConfiguration)'
		codeCoverageEnabled: false # Optional
		publishRunAttachments: false # Optional

	- task: CoverageConverter@0
	  inputs:
		searchFolderForTestFiles: '$(System.DefaultWorkingDirectory)'
		vsTestExeFileLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe'
		vsTestArgs: '/EnableCodeCoverage'
		listTestFiles: '**\bin\**\*.Tests*.dll'
		temporaryFolderForCodeCoverage: 'Agent.TempDirectory'
		temporaryFileCoveragexml: '\TestResults\DynamicCodeCoverage.coveragexml'
		codeCoverageExeFileLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe'

	# Here is the Report Generator that will get the DynamicCodeCoverage.coveraxml created above and convert into a Report.
	- task: reportgenerator@4
	  displayName: 'Generate Coverage Report'
	  inputs:
		reports: '$(Agent.TempDirectory)\TestResults\DynamicCodeCoverage.coveragexml'
		targetdir: '$(System.DefaultWorkingDirectory)\TestResults\Coverage\Reports'
		reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'

	# This app will publish the report into Azure Code Coverage Tab.
	- task: PublishCodeCoverageResults@1
	  displayName: 'Publish Coverage Report'
	  inputs:
		codeCoverageTool: 'Cobertura'
		summaryFileLocation: '$(System.DefaultWorkingDirectory)\TestResults\Coverage\Reports\Cobertura.xml'
		reportDirectory: '$(System.DefaultWorkingDirectory)\TestResults\Coverage\Reports'

Any thoughts as to what I am missing?

Empty Report

This task is just what I'm looking for. But, I'm getting an empty summary report. It looks like everything is setup as your sample. The only different I see if we use xUnit. However, I have added the /TestAdapterPath param to the vstest section.

Also, it looks like each run picks up the coverage file from the runs before it. They aren't getting clean out of the pipeline or something. Here's the coverage convertor task log:

2020-06-02T22:01:09.0776752Z ##[section]Starting: Coverage Converter
2020-06-02T22:01:09.0970333Z ==============================================================================
2020-06-02T22:01:09.0970856Z Task : Coverage Converter
2020-06-02T22:01:09.0971336Z Description : Convert .coverage file into .coveragexml for use in Code Coverage Report
2020-06-02T22:01:09.0971796Z Version : 0.1.22
2020-06-02T22:01:09.0972105Z Author : Rogeriohsjr
2020-06-02T22:01:09.0972428Z Help :
2020-06-02T22:01:09.0972823Z ==============================================================================
2020-06-02T22:01:09.5861063Z Starting Code Coverage...
2020-06-02T22:01:09.5863340Z Starting executeVsTestCodeCoverage...
2020-06-02T22:01:14.6260684Z Generating coverage for file [C:\agent_work\3\s\Amsi.Test\bin\Release\Amsi.Test.dll]
2020-06-02T22:01:35.6004967Z Generating coverage for file [C:\agent_work\3\s\Amsi.Test\bin\Release\xunit.runner.visualstudio.testadapter.dll]
2020-06-02T22:01:41.4652799Z Ended executeVsTestCodeCoverage...
2020-06-02T22:01:41.4654151Z Starting executeCodeCoverageAnalyze...
2020-06-02T22:01:47.8655090Z Converting this file[C:\agent_work\3\s\TestResults\12344b20-4210-42dd-8a64-889de8596b29\evolu_USTAWVBUILD3 2020-06-02 17_52_09.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8656764Z Converting this file[C:\agent_work\3\s\TestResults\1422d414-8179-4b6e-b7e9-676d999566cc\evolu_USTAWVBUILD3 2020-06-02 17_31_06.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8658482Z Converting this file[C:\agent_work\3\s\TestResults\94de3efd-d394-4870-bba6-7185a56f3879\evolu_USTAWVBUILD3 2020-06-02 18_01_18.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8660196Z Converting this file[C:\agent_work\3\s\TestResults\9616e109-e0b6-4fff-88da-30d64c6fd851\evolu_USTAWVBUILD3 2020-06-02 18_01_39.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8661395Z Converting this file[C:\agent_work\3\s\TestResults\ab587ac6-2d7e-4707-b341-84630044d22d\evolu_USTAWVBUILD3 2020-06-02 17_31_28.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8662449Z Converting this file[C:\agent_work\3\s\TestResults\efe8f00a-2b89-4551-b8cc-4ece8ab268a6\evolu_USTAWVBUILD3 2020-06-02 17_52_31.coverage] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8665588Z Converting All these files["C:\agent_work\3\s\TestResults\12344b20-4210-42dd-8a64-889de8596b29\evolu_USTAWVBUILD3 2020-06-02 17_52_09.coverage" "C:\agent_work\3\s\TestResults\1422d414-8179-4b6e-b7e9-676d999566cc\evolu_USTAWVBUILD3 2020-06-02 17_31_06.coverage" "C:\agent_work\3\s\TestResults\94de3efd-d394-4870-bba6-7185a56f3879\evolu_USTAWVBUILD3 2020-06-02 18_01_18.coverage" "C:\agent_work\3\s\TestResults\9616e109-e0b6-4fff-88da-30d64c6fd851\evolu_USTAWVBUILD3 2020-06-02 18_01_39.coverage" "C:\agent_work\3\s\TestResults\ab587ac6-2d7e-4707-b341-84630044d22d\evolu_USTAWVBUILD3 2020-06-02 17_31_28.coverage" "C:\agent_work\3\s\TestResults\efe8f00a-2b89-4551-b8cc-4ece8ab268a6\evolu_USTAWVBUILD3 2020-06-02 17_52_31.coverage"] to \TestResults\DynamicCodeCoverage.coveragexml
2020-06-02T22:01:47.8858116Z Ended executeCodeCoverageAnalyze...
2020-06-02T22:01:47.8859585Z Ended Code Coverage.
2020-06-02T22:01:47.9551547Z stdout:
2020-06-02T22:01:47.9552208Z stderr:
2020-06-02T22:01:47.9697714Z ##[section]Finishing: Coverage Converter

Any suggestions?

vstest.console.exe fails with "No test source files were specified." when passing TestRunParameters

I am specifying vsTest arguments of /EnableCodeCoverage /Settings:C:\azagent\A1_work\r1\a_TeamIntegration-Pipeline\tests\CompleteRunsettings1.runsettings -- TestRunParameters.Parameter(name="MCPServer",value="server")
When I do so, the AzureDevopsTask fails with -
2020-06-17T11:25:31.8885577Z ##[error]Command failed: "C:\Program Files (x86)\Microsoft Visual Studio\2019\TestAgent\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" /EnableCodeCoverage /Settings:C:\azagent\A1_work\r1\a_TeamIntegration-Pipeline\tests\CompleteRunsettings1.runsettings -- TestRunParameters.Parameter(name="MCPServer",value="server") "C:\azagent\A1_work\r1\a_TeamIntegration-Pipeline\tests\sample.Test.dll"
No test source files were specified.

The problem is the order in which the task is sending the arguments to vstest.console.exe. It expects the order to be: vstest.console.exe dllName [options]
I have tested this on the command line and it works:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\TestAgent\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" "C:\azagent\A1_work\r1\a_TeamIntegration-Pipeline\tests\sample.Test.dll" /EnableCodeCoverage /Settings:C:\azagent\A1_work\r1\a_TeamIntegration-Pipeline\tests\CompleteRunsettings1.runsettings -- TestRunParameters.Parameter(name="MCPServer",value="server")

vstest.console.exe seems to only care about the order when providing the TestRunParameters.Parameter option

Coverage Converter Extension is failing to generate coverage file

Hi,

I am using the Coverage Converter Extension in my Azure DevOps pipeline after the VS Test task and the Coverage converter extension is failing with the below error.

I want to display the code coverage on the build summary. Could anyone please let me know why is it failing?
Have attached the log of Coverage Convertor and VS test task as well.

Generating coverage for file [e:\cache\Agent03\18\s\packages\MSTest.TestAdapter.1.2.1\build_common\ko\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll]
Generating coverage for file [e:\cache\Agent03\18\s\packages\MSTest.TestAdapter.1.2.1\build_common\pl\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll]
[run] Error unexpected! Error[spawnSync C:\Windows\system32\cmd.exe ENAMETOOLONG] { Error: spawnSync C:\Windows\system32\cmd.exe ENAMETOOLONG
at Object.spawnSync (internal/child_process.js:1002:20)
at spawnSync (child_process.js:614:24)
at Object.execSync (child_process.js:661:13)
at executeVsTestCodeCoverage (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:43:21)
at e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:20:13
at Generator.next ()
at e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:8:71
at new Promise ()
at __awaiter (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:4:12)
at run (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:16:12)
errno: 'ENAMETOOLONG',
code: 'ENAMETOOLONG',
syscall: 'spawnSync C:\Windows\system32\cmd.exe',
path: 'C:\Windows\system32\cmd.exe',
spawnargs:
[ '/d',
'/s',
'/c',
'""C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\PSP.Common.Implementation.Tests.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\PSP.Configuration.Implementation.Tests.dll" "e:\cache\Agent03\18\s\PSP.Cryptography.Implementation.Test\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\netstandard1.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\netstandard1.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\uap10.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\uap10.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" /EnableCodeCoverage"' ],
error: [Circular],
status: null,
signal: null,
output: null,
pid: 0,
stdout: null,
stderr: null }

15_VsTest - testAssemblies.txt
Coverage Converter.txt

The command line is too long

Two questions:
I have an error described below. Can you deal with this error and correct your extension?
You create many separate .coverage files, why not one file is generated?

Of course other things looks ok and it is a nice, usefull tool :) So I hope you are able to correct this issue :)

Error description:

Ended executeCodeCoverageAnalyze...
Ended Code Coverage.
exec error: Error: Command failed: [command]
The command line is too long.

command:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe" analyze /output:D:\a_temp\TestResults\DynamicCodeCoverage.coveragexml "D:\a\1\s\TestResults\00c5f6ae-1bc0-479c-9d13-9969f5d88c6a\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_38.coverage" "D:\a\1\s\TestResults\05645247-8f90-4b62-a393-cdcb70c715a3\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_55_33.coverage" "D:\a\1\s\TestResults\08dc0a5b-53a5-4f51-947c-5113ef7fa44e\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_44.coverage" "D:\a\1\s\TestResults\0c96be19-1931-4682-98e4-209b7b4bd38c\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_48.coverage" "D:\a\1\s\TestResults\0d763879-725e-48dd-ad88-c3907699cbfc\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_31.coverage" "D:\a\1\s\TestResults\0fb54d7d-89b6-49ee-81f3-1768b0f36c2d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_10.coverage" "D:\a\1\s\TestResults\13660291-a7d7-43c6-bcaa-1be6e335a041\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_24.coverage" "D:\a\1\s\TestResults\19459772-664c-4544-9b26-d531f19ba545\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_48.coverage" "D:\a\1\s\TestResults\1f460e41-6f81-4ae8-b21b-39c0ed230935\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_51.coverage" "D:\a\1\s\TestResults\23df074e-7798-4902-b692-36d8f17ffb00\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_14.coverage" "D:\a\1\s\TestResults\25ae412e-cb7d-42a4-baf2-b79f9e395d75\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_46_35.coverage" "D:\a\1\s\TestResults\292989bd-1fa2-4850-9edb-1ea73fc923c8\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_08.coverage" "D:\a\1\s\TestResults\297b2eb9-1d1a-4c09-9a45-48b21fd8b7b6\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_17.coverage" "D:\a\1\s\TestResults\2bb76352-be08-43fa-9b97-af75f3b7f20a\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_11.coverage" "D:\a\1\s\TestResults\2e09ed75-1dcf-49ce-9d0c-e41a5d900376\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_46_45.coverage" "D:\a\1\s\TestResults\2e289568-a526-4a8c-8800-a21a3240b7a7\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_11.coverage" "D:\a\1\s\TestResults\3040d3ae-e3d6-408c-8827-33f8732b84b6\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_21_31.coverage" "D:\a\1\s\TestResults\3183b9ce-2275-40d9-b504-1ed971bad9cf\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_01.coverage" "D:\a\1\s\TestResults\33aa3676-f2b1-44b8-9f84-5b329a3fd6ac\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_55_08.coverage" "D:\a\1\s\TestResults\33d08c6b-37b5-490a-959d-b7497fdbde47\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_39.coverage" "D:\a\1\s\TestResults\358a8eb1-6829-48af-acc1-85350c1786dc\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_21.coverage" "D:\a\1\s\TestResults\370bbcb8-4516-4bf7-9e2f-d1db01217362\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_56_55.coverage" "D:\a\1\s\TestResults\3ea39c0d-1b77-4aec-b018-af3fa0c7cd86\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_10_27.coverage" "D:\a\1\s\TestResults\3f9fd27c-fff2-4f4e-a5be-fab100814f38\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_19_53.coverage" "D:\a\1\s\TestResults\475f3b36-1dba-40e5-ad42-4089b52e8805\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_53_24.coverage" "D:\a\1\s\TestResults\49c6b3fd-b32f-4da8-90ac-6f80e9cb60f5\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_21.coverage" "D:\a\1\s\TestResults\4e8e18fc-3e85-4995-942d-999994d1a112\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_21_08.coverage" "D:\a\1\s\TestResults\5081d537-e6a7-429d-8fa8-855068e61011\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_20.coverage" "D:\a\1\s\TestResults\52d398f7-b48d-466d-b055-769b3ae8d605\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_56_41.coverage" "D:\a\1\s\TestResults\53881273-5b11-4e51-88ff-e56b64d65297\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_46_55.coverage" "D:\a\1\s\TestResults\5388cae8-7d3b-4f62-a3f2-44a12a7e08b2\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_03.coverage" "D:\a\1\s\TestResults\5aed5b9f-b484-4853-8b01-413f4065fd3c\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_21_22.coverage" "D:\a\1\s\TestResults\5b7286fb-9c22-4e42-86f8-476d12fb00f3\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_52.coverage" "D:\a\1\s\TestResults\625623cf-de91-4ef1-9315-f49b3ead5fff\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_18.coverage" "D:\a\1\s\TestResults\67ee31c5-d823-43c2-910e-f712710bab1a\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_17_49.coverage" "D:\a\1\s\TestResults\6822d6f3-8c7b-4e0d-996c-d5221d5401a9\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_16_14.coverage" "D:\a\1\s\TestResults\6a41b234-4dd6-4892-9d06-2b965125b558\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_37.coverage" "D:\a\1\s\TestResults\6b4599d4-d2a6-41ae-b27c-7afe9a8f3c7d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_11.coverage" "D:\a\1\s\TestResults\6b902e28-4bc5-43f9-8e34-0b8555b64257\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_28.coverage" "D:\a\1\s\TestResults\6c858ddb-bf96-48ea-b4aa-c06c4bfc2411\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_16_18.coverage" "D:\a\1\s\TestResults\6e606c5c-1c2f-4cb5-b547-fae94d59a51c\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_51_55.coverage" "D:\a\1\s\TestResults\6edd3106-f7c6-44e3-a043-ec89f1ca1106\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_30.coverage" "D:\a\1\s\TestResults\70730d59-ddee-49f5-9243-6c279fed0b07\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_21_29.coverage" "D:\a\1\s\TestResults\725be41b-1dd0-4dd0-a5a2-2f81bdcf0123\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_54.coverage" "D:\a\1\s\TestResults\73414aa5-0f02-48f6-9b4c-2e8d80e5c485\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_51.coverage" "D:\a\1\s\TestResults\73a7b7e4-a291-45df-a6bd-aa467aded625\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_40.coverage" "D:\a\1\s\TestResults\75cd64d7-b69f-4550-ac74-b366a72ef3ec\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_57.coverage" "D:\a\1\s\TestResults\7a3617ba-7578-4c15-963e-fb18b0ea46b3\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_21_07.coverage" "D:\a\1\s\TestResults\7b1794ef-f540-4fce-ad0e-76c23e8a4c29\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_23.coverage" "D:\a\1\s\TestResults\7b53811e-5a97-476a-84f1-f3e31b7db2fb\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_20_27.coverage" "D:\a\1\s\TestResults\7bddf21b-a9c6-4947-8d05-9e4db953d2f5\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_16_07.coverage" "D:\a\1\s\TestResults\7ce958a2-ec37-4f52-abeb-ac5f5f3e790d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_01.coverage" "D:\a\1\s\TestResults\81249c50-b6b9-4682-90cd-fbd591ac88ae\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_18.coverage" "D:\a\1\s\TestResults\835569d7-c6f8-46a5-8f6b-e7a84dae3326\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_06.coverage" "D:\a\1\s\TestResults\83a0914e-ee0f-46c3-953a-c400b4e07b98\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_16_04.coverage" "D:\a\1\s\TestResults\848911e4-e66c-430e-9275-70a37446c78b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_34_17.coverage" "D:\a\1\s\TestResults\85027446-1e8e-436a-a77a-4e0f72a1d2ef\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_58_00.coverage" "D:\a\1\s\TestResults\853daf84-aefb-44be-9a3f-0fe8af3a191e\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_04.coverage" "D:\a\1\s\TestResults\882e159d-b538-4d1f-8c51-31dd99038b44\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_01_17.coverage" "D:\a\1\s\TestResults\8af457bc-765e-4463-9fac-0a5db22e8524\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_56_16.coverage" "D:\a\1\s\TestResults\8b6e747c-f100-469c-b128-354879f875cd\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_32.coverage" "D:\a\1\s\TestResults\8bc5ed99-1a52-4eac-8a1e-a250345faa06\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_47.coverage" "D:\a\1\s\TestResults\8dcb8e50-2437-4dd9-9d63-586a4f5c05fc\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_14.coverage" "D:\a\1\s\TestResults\8e113bbe-8bb8-4d15-9fbb-773dbed536b8\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_20_10.coverage" "D:\a\1\s\TestResults\903b32ec-6309-4c0b-bea6-598d5c0d4d2b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_57.coverage" "D:\a\1\s\TestResults\91698d24-6c8e-4760-bce1-734f5023b203\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_21.coverage" "D:\a\1\s\TestResults\9217a378-3f6a-4235-b3a6-efeb2187b180\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_20_19.coverage" "D:\a\1\s\TestResults\923c0bce-d1bc-4721-81e3-943248e1b674\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_19_23.coverage" "D:\a\1\s\TestResults\94f754e8-3f92-488b-9bd8-d08ef1c46dca\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_37.coverage" "D:\a\1\s\TestResults\9751699a-81f4-4d6e-b164-13d3b3ce6480\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_54.coverage" "D:\a\1\s\TestResults\9c16cfc1-99b0-4099-a0a7-15ffba434d14\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_20_19.coverage" "D:\a\1\s\TestResults\9c60d006-1bc9-4526-9557-b687b6199884\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_31.coverage" "D:\a\1\s\TestResults\a13cfab5-8498-4a9b-8956-b244398cfed6\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_59.coverage" "D:\a\1\s\TestResults\a2cc5887-977e-46ab-b56b-2779014fab62\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_21_51.coverage" "D:\a\1\s\TestResults\a306dca0-427a-49d9-820f-51186ff5d2a1\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_20_11.coverage" "D:\a\1\s\TestResults\a42f0283-cb08-413a-9c2a-ce9488f8ed53\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_25_07.coverage" "D:\a\1\s\TestResults\a7aa441a-a894-490f-b929-30911ec67794\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_46.coverage" "D:\a\1\s\TestResults\a7d43c04-29e6-4b33-99e1-9b4151e59fd0\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_04.coverage" "D:\a\1\s\TestResults\a8a0921c-d216-476c-af24-5df8917a5110\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_16_26.coverage" "D:\a\1\s\TestResults\a8e7b25e-dc2f-4a94-b2c6-2ad67b4a1f51\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_28.coverage" "D:\a\1\s\TestResults\aaa305b3-e608-4e4f-9e81-0808eda4bfc2\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_25.coverage" "D:\a\1\s\TestResults\ab551608-d7f3-44c5-9ab8-73ef9e371361\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_19_04.coverage" "D:\a\1\s\TestResults\ac7e009f-086b-41ed-b55f-cd61d20e1069\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_57.coverage" "D:\a\1\s\TestResults\b0ad71e9-ebad-43c2-ad7f-7257eff908d6\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_43.coverage" "D:\a\1\s\TestResults\b11ba078-3986-4e3d-afe0-cf2226af0a00\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_00_57.coverage" "D:\a\1\s\TestResults\b1d8d4c5-124f-4549-96eb-6d940d7d7f2a\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_38.coverage" "D:\a\1\s\TestResults\b3022848-4e12-44fd-917b-082860875a32\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_13.coverage" "D:\a\1\s\TestResults\b37cc681-134e-4ab4-b319-bbfb2b7bd94e\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_45.coverage" "D:\a\1\s\TestResults\b58b81b4-a519-4956-9b8f-e62a2483f23d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_06.coverage" "D:\a\1\s\TestResults\b6c22cdf-550b-4934-85bf-cc73bc57fad5\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_35.coverage" "D:\a\1\s\TestResults\b8b113bc-79ce-46f5-a067-5e6baadedb7d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_16_39.coverage" "D:\a\1\s\TestResults\bc454841-9c1c-43af-a95e-ae7666cf6297\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_56.coverage" "D:\a\1\s\TestResults\be114b24-3b23-4610-a02d-a5a55680bd7b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_20_35.coverage" "D:\a\1\s\TestResults\bf580b6e-17d2-45a4-af37-6ad97f247cce\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_30.coverage" "D:\a\1\s\TestResults\bfee8ad3-4df5-4665-bc50-1177c538fc35\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_55_18.coverage" "D:\a\1\s\TestResults\c090c0cd-bd27-4985-a999-3b0be40c3dab\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_42_47.coverage" "D:\a\1\s\TestResults\c0b77389-7469-487a-bb55-ec70c6c1e5e4\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_10.coverage" "D:\a\1\s\TestResults\c1ca4244-94e8-4d96-b098-b6d3231faf42\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_20_02.coverage" "D:\a\1\s\TestResults\c81dc9f8-734b-42f4-b18e-befa5b95f3a0\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_56_06.coverage" "D:\a\1\s\TestResults\c9a855fb-efcb-47d3-85a1-94d57ff40059\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_17.coverage" "D:\a\1\s\TestResults\cc03423b-1bde-4b25-a6e4-717a1ef59f61\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_47_56.coverage" "D:\a\1\s\TestResults\cc35e0de-59fb-47d4-a479-5813d47e15ac\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_18_28.coverage" "D:\a\1\s\TestResults\cc67c91a-3333-4f3d-b2d2-c01aa91c6ed1\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_59_11.coverage" "D:\a\1\s\TestResults\cd6fe05e-3dae-4558-a8d9-ce40307f6e17\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_43.coverage" "D:\a\1\s\TestResults\cdac9401-3564-4c03-8fd6-593c4694200b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_19_30.coverage" "D:\a\1\s\TestResults\ce5a17a1-5844-4a9b-8f7f-061c3a42deb2\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_55_50.coverage" "D:\a\1\s\TestResults\ce78a193-64f3-48b8-9916-cda98f0f79df\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_59.coverage" "D:\a\1\s\TestResults\d68e2877-11fc-4aca-85cc-679f2f6c200a\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_57_45.coverage" "D:\a\1\s\TestResults\d8c1267d-55c5-4440-8255-84cadef20b2c\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_21_31.coverage" "D:\a\1\s\TestResults\d981da40-2ef3-402c-b420-24ec610dd3dd\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_20_50.coverage" "D:\a\1\s\TestResults\dc84bf0a-c1a6-43c5-a827-3e2786c90cf9\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_44.coverage" "D:\a\1\s\TestResults\e293cb24-31b1-4c31-b69a-39ee5b94a562\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_24.coverage" "D:\a\1\s\TestResults\e5cd8e61-1a6d-4aec-b208-d3a202751a5b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_51.coverage" "D:\a\1\s\TestResults\e71a5783-5c99-49db-a7a6-bdeee951e68f\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_40.coverage" "D:\a\1\s\TestResults\e7a9017a-a0ae-4319-af25-5329d9719237\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_31.coverage" "D:\a\1\s\TestResults\e8233740-11c8-4d33-95e6-a797d69ee506\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_24_03.coverage" "D:\a\1\s\TestResults\e980ac6a-6636-4ac5-a54e-66927fee2102\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_18_24.coverage" "D:\a\1\s\TestResults\eed567f8-9875-4ef4-a4be-d7d2ea7ebfbf\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_22_16.coverage" "D:\a\1\s\TestResults\f43bf198-efe5-4c24-99fc-46743f0615fb\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_19_50.coverage" "D:\a\1\s\TestResults\f78fe4c5-ceed-486b-b942-97ef37cc91ae\VssAdministrator_WIN-73RS18UHENS 2020-10-22 17_21_45.coverage" "D:\a\1\s\TestResults\f7b93a5b-8194-48eb-8343-fa5328c603f0\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_21_00.coverage" "D:\a\1\s\TestResults\fadfc729-2d2f-4a9b-a003-028a686c2a1b\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_23_04.coverage" "D:\a\1\s\TestResults\fe1bd68e-65be-46a8-b151-de91653fd180\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_13.coverage" "D:\a\1\s\TestResults\fe9e64ac-ebae-4a83-82ba-a7c4121dbb9d\VssAdministrator_WIN-73RS18UHENS 2020-10-22 16_19_58.coverage" "D:\a\1\s\TestResults\ff9aca4b-8950-4373-8e1b-9789aac0e867\VssAdministrator_WIN-73RS18UHENS 2020-10-22 18_01_30.coverage"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.