PowerShell/test/tools/CodeCoverageAutomation
Steve Lee c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
..
README.md Code coverage automation script (#2918) 2017-01-05 11:13:22 -08:00
Start-CodeCoverageRun.ps1 Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00

Code Coverage Automation

The script Start-CodeCoverageRun.ps1 automates the execution of tests and uploading the results to Coveralls.io.

The script is self contained and can be executed on any Windows system which supports Powershell v5.0 or above. It has not been tested on Powershell v6.0.

Execution

The virtual machine hosting the script has a scheduled task to start the tests at 5 am PDT.

The script follows the steps below:

  1. Download the code coverage binaries package from AppVeyor nightly builds artifacts (CodeCoverage.zip).
  2. Download the OpenCover powershell module from AppVeyor nightly builds artifacts. (OpenCover.zip)
  3. Download the tests from AppVeyor nightly builds artifacts (tests.zip)
  4. Download Coveralls.net from 'https://github.com/csMACnz/coveralls.net/releases/download/0.7.0/coveralls.net.0.7.0.nupkg'
  5. Invoke 'Install-OpenCover' to install OpenCover toolset.
  6. Invoke 'Invoke-OpenCover' to execute tests.
  7. Invoke powershell to get the git commit ID of the downloaded daily build package.
  8. Using the commit ID get committer info like, message, author and email using the github REST API.
  9. Invoke 'csmacnz.Coveralls.exe' to upload the coverage results to Coveralls.net

The uploaded coverage data can be viewed at: https://coveralls.io/github/PowerShell/PowerShell