Table of Contents |
---|
Prerequisites
Microsoft run-time components
Install Microsoft Visual C++ Redistributable for Visual Studio 2017 from: https://www.visualstudio.com/downloads/
...
Code Block | ||
---|---|---|
| ||
iwr -OutFile vc_redist.x86.exe -UseBasicParsing -Uri https://go.microsoft.com/fwlink/?LinkId=746571 Start-Process -FilePath vc_redist.x86.exe -ArgumentList "/Q" -Wait iwr -OutFile vc_redist.x64.exe -UseBasicParsing -Uri https://go.microsoft.com/fwlink/?LinkId=746572 Start-Process -FilePath vc_redist.x64.exe -ArgumentList "/Q" -Wait |
Agent Token and Proxy settings
If needed, configure the coverage collector service by editing the SL.DotNet.CoverageCollectorService.exe.config
file:
If you have not placed the sltoken.txt in the agents' folder, then in Sealights.Token put the token you've received from SeaLights
If a proxy is used, add a key named 'Sealights.Proxy' and set the value to a URL like "http://127.0.0.1:8888"
Coverage Collector Service Installation
As an Administrator, install and start the coverage collector service:
Code Block SL.DotNet.CoverageCollectorService.exe install start
Register our agent as a profiler in the services registry settings.
Go to the registry under the following key:
HK_LOCAL_MACHINE\System\CurrentControlSet\Services\{YourService}
Add a Multi-String value called 'Environment' containing the following
Code Block language text Cor_Profiler={01CA2C22-DC03-4FF5-8350-59E32A3536BA} Cor_Enable_Profiling=1 COR_PROFILER_PATH_32=C:\Sealights\SL.DotNet\x86\SL.DotNet.ProfilerLib_x86.dll COR_PROFILER_PATH_64=C:\Sealights\SL.DotNet\x64\SL.DotNet.ProfilerLib_x64.dll SL_CollectorId=GlobalCollector
Restart your service manually via the Service Manager console or the following PowerShell command
Code Block language powershell Restart-Service -Name {YourService} -Force
...
Note |
---|
The environment variables above added to the registry, must not contain quotes ( |
Capturing coverage
During the time you want to run your tests and capture coverage, you can now start and stop the coverage collection of the SeaLights agent test listener
Info |
---|
See 'SeaLights .NET - command reference' for full parameter details |
Starting coverage collection session
Before you start running your tests, you need to update the SeaLights test listener to start collecting coverage. You do so with the startCollectorServiceSession
parameter.
Code Block | ||
---|---|---|
| ||
SL.DotNet.exe startCollectorServiceSession --buildSessionIdFile buildSessionId.txt --labId my_labId --processName YourProcess.exe --includeChildProcesses true |
...
Note that this can be run on a remote machine (like the CI running the tests) while providing the host to start the session on using the parameter:
--machine <host>
If you’re running several services on the machine, you can use the above command with
--processName *
and every service having the Sealights' environment variables defined in its Registry entry will be metered
Expand | ||
---|---|---|
| ||
If the
|
Running your tests
Now you can run any one of your tests that run against this service and capture coverage.
Info |
---|
See 'SeaLights .NET agent - Running tests' for details of how to run tests |
Stopping coverage collection session
Code Block | ||
---|---|---|
| ||
SL.DotNet.exe stopCollectorServiceSession --buildSessionIdFile buildSessionId.txt --processName YourProcess.exe |
...