mirror of
https://github.com/irongut/CodeCoverageSummary.git
synced 2026-05-14 06:00:13 +02:00
Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 74295b4928 | |||
| 3216094ffb | |||
| 59bf0ee52a | |||
| 9702896171 | |||
| 7c7e56f29d | |||
| a75666af65 | |||
| 76f7177ccc | |||
| ba2d454f72 | |||
| 1fa57f12ee | |||
| a325aae56f | |||
| a7dfd386d4 | |||
| fbd7727617 | |||
| f181f0fb43 | |||
| 5c41ceee77 | |||
| 65997c5b86 | |||
| e8b30e8bdc | |||
| c0fec16186 | |||
| 52d447d8ec | |||
| e4b6675d33 | |||
| 155e9dc09c | |||
| 12259bb15f | |||
| cde20e0aef | |||
| 51cc3a756d | |||
| df43d7d643 |
@@ -1,7 +1,13 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: nuget
|
||||
directory: "/"
|
||||
directory: "/src"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 10
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
open-pull-requests-limit: 5
|
||||
|
||||
@@ -22,7 +22,9 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
|
||||
- name: Assign Issues to Bugs
|
||||
uses: srggrs/assign-one-project-github-action@4d59cc619499b55ca689fb13cfcc72324a8b8435
|
||||
|
||||
@@ -15,9 +15,11 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
|
||||
- name: Auto Assign PR
|
||||
uses: samspills/assign-pr-to-author@223a87a821f7e7447cfb5221bc53ceeb633341c2
|
||||
uses: samspills/assign-pr-to-author@b313feb250ff414d3aff26525b986f080ee7bd7a
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
||||
@@ -9,6 +9,11 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
DOTNET_NOLOGO: true # Disable the .NET logo in the console output
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Disable the .NET first time experience to skip caching NuGet packages and speed up the build
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: true # Disable sending .NET CLI telemetry to Microsoft
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -18,13 +23,19 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.nuget.org:443
|
||||
dotnetbuilds.azureedge.net:443
|
||||
dotnetcli.azureedge.net:443
|
||||
dotnetcli.blob.core.windows.net:443
|
||||
github.com:443
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@d171c3b028d844f2bf14e9fdec0c58114451e4bf
|
||||
|
||||
- name: Setup .Net
|
||||
uses: actions/setup-dotnet@608ee757cfcce72c2e91e99aca128e0cae67de87
|
||||
uses: actions/setup-dotnet@c0d4ad69d8bd405d234f1c9166d383b7a4f69ed8
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
@@ -34,5 +45,5 @@ jobs:
|
||||
- name: Build CodeCoverageSummary
|
||||
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore
|
||||
|
||||
- name: Test with sample file
|
||||
- name: Test with sample files
|
||||
run: dotnet src/CodeCoverageSummary/bin/Release/net6.0/CodeCoverageSummary.dll --files **/coverage.*.xml --badge true
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
name: CodeQL Scan
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- '**/*.gitignore'
|
||||
- '**/*.gitattributes'
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
schedule:
|
||||
- cron: '15 5 * * 5'
|
||||
|
||||
permissions: # added using https://github.com/step-security/secure-workflows
|
||||
contents: read
|
||||
|
||||
env:
|
||||
DOTNET_NOLOGO: true # Disable the .NET logo in the console output
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Disable the .NET first time experience to skip caching NuGet packages and speed up the build
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: true # Disable sending .NET CLI telemetry to Microsoft
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'csharp' ]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
api.nuget.org:443
|
||||
dotnetbuilds.azureedge.net:443
|
||||
dotnetcli.azureedge.net:443
|
||||
dotnetcli.blob.core.windows.net:443
|
||||
github.com:443
|
||||
uploads.github.com:443
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@d0651293c4a5a52e711f25b41b05b2212f385d28
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@74e8f231851deb9b54c3e408f88638dd39727868
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# queries: security-extended,security-and-quality # https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
|
||||
- name: Setup .Net
|
||||
uses: actions/setup-dotnet@c0d4ad69d8bd405d234f1c9166d383b7a4f69ed8
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Restore Dependencies
|
||||
run: dotnet restore src/CodeCoverageSummary.sln
|
||||
|
||||
- name: Build CodeCoverageSummary
|
||||
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore /p:UseSharedCompilation=false
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@74e8f231851deb9b54c3e408f88638dd39727868
|
||||
@@ -19,10 +19,12 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
|
||||
- name: Mark Stale
|
||||
uses: actions/stale@98ed4cb500039dbcccf4bd9bedada4d0187f2757
|
||||
uses: actions/stale@9c1b1c6e115ca2af09755448e0dbba24e5061cc8
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
exempt-all-milestones: true
|
||||
|
||||
@@ -21,7 +21,9 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
|
||||
- uses: actions/labeler@472c5d3aaacde439785e94966eb2e545627f4935
|
||||
with:
|
||||
|
||||
@@ -4,13 +4,16 @@ on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
DOTNET_NOLOGO: true # Disable the .NET logo in the console output
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Disable the .NET first time experience to skip caching NuGet packages and speed up the build
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: true # Disable sending .NET CLI telemetry to Microsoft
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Test Build
|
||||
@@ -20,7 +23,13 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.nuget.org:443
|
||||
dotnetbuilds.azureedge.net:443
|
||||
dotnetcli.azureedge.net:443
|
||||
dotnetcli.blob.core.windows.net:443
|
||||
github.com:443
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@d171c3b028d844f2bf14e9fdec0c58114451e4bf
|
||||
@@ -28,7 +37,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup .Net
|
||||
uses: actions/setup-dotnet@608ee757cfcce72c2e91e99aca128e0cae67de87
|
||||
uses: actions/setup-dotnet@c0d4ad69d8bd405d234f1c9166d383b7a4f69ed8
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
@@ -55,7 +64,19 @@ jobs:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@74b568e8591fbb3115c70f3436a0c6b0909a8504
|
||||
with:
|
||||
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
||||
egress-policy: block
|
||||
allowed-endpoints: >
|
||||
api.github.com:443
|
||||
api.nuget.org:443
|
||||
auth.docker.io:443
|
||||
fulcio.sigstore.dev:443
|
||||
ghcr.io:443
|
||||
github.com:443
|
||||
mcr.microsoft.com:443
|
||||
pipelines.actions.githubusercontent.com:443
|
||||
pkg-containers.githubusercontent.com:443
|
||||
registry-1.docker.io:443
|
||||
storage.googleapis.com:443
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@d171c3b028d844f2bf14e9fdec0c58114451e4bf
|
||||
@@ -69,7 +90,7 @@ jobs:
|
||||
uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@dd4fa0671be5250ee6f50aedf4cb05514abda2c7
|
||||
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.repository_owner }}
|
||||
@@ -77,13 +98,13 @@ jobs:
|
||||
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@b2391d37b4157fa4aa2e118d643f417910ff3242
|
||||
uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
- name: Build + Push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a
|
||||
uses: docker/build-push-action@1cb9d22b932e4832bb29793b7777ec860fc1cde0
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
@@ -10,10 +10,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: CI Build
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Test Action
|
||||
uses: irongut/CodeCoverageSummary@master
|
||||
with:
|
||||
filename: /app/sample.coverage.xml,/app/sample.coverage.xml
|
||||
filename: /src/coverage.*.xml
|
||||
badge: true
|
||||
fail_below_min: true
|
||||
format: markdown
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
# Code Coverage Summary
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](https://github.com/irongut/CodeCoverageSummary/actions/workflows/ci-build.yml)
|
||||
|
||||
[](https://github.com/irongut/CodeCoverageSummary)
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/6292)
|
||||
|
||||
[](https://github.com/irongut/CodeCoverageSummary/actions/workflows/ci-build.yml)
|
||||
|
||||
[](https://github.com/irongut/CodeCoverageSummary/actions/workflows/codeql-scan.yml)
|
||||
|
||||
</div>
|
||||
|
||||
A GitHub Action that reads Cobertura format code coverage files from your test suite and outputs a text or markdown summary. This summary can be posted as a Pull Request comment or included in Release Notes by other actions to give you an immediate insight into the health of your code without using a third-party site.
|
||||
|
||||
Code Coverage Summary is designed for use with [Coverlet](https://github.com/coverlet-coverage/coverlet) and [gcovr](https://github.com/gcovr/gcovr) but it should work with any test framework that outputs coverage in Cobertura format. If it doesn't work with your tooling please [open an issue][new-issue] to discuss the problem.
|
||||
Code Coverage Summary is designed for use with any test framework that outputs coverage in Cobertura XML format including [Coverlet](https://github.com/coverlet-coverage/coverlet), [gcovr](https://github.com/gcovr/gcovr), [simplecov](https://github.com/simplecov-ruby/simplecov) and [MATLAB](https://uk.mathworks.com/help/matlab/ref/matlab.unittest.plugins.codecoverageplugin-class.html). See the [FAQ](https://github.com/irongut/CodeCoverageSummary/wiki/Frequently-Asked-Questions#which-testing-tools-does-ccs-work-with) for more details. If it doesn't work with your tooling please [open an issue][new-issue] to discuss the problem.
|
||||
|
||||
If you're using [Simplecov](https://github.com/simplecov-ruby/simplecov) please see the [wiki](https://github.com/irongut/CodeCoverageSummary/wiki/Simplecov-Compatibility) for required settings to enable compatibility with Code Coverage Summary.
|
||||
|
||||
**v1.3.0-beta only:** Code Coverage Summary should now be compatible with simplecov using the default settings as well as MATLAB's code coverage plugin.
|
||||
Code Coverage Summary is compatible with [StepSecurity Secure Workflows](https://github.com/step-security/secure-workflows) and uses a Docker image that is cryptographically signed using [Sigstore](https://www.sigstore.dev/). For instructions how to verify the Docker image please see the [Wiki](https://github.com/irongut/CodeCoverageSummary/wiki/Verify-the-Docker-Image).
|
||||
|
||||
As a Docker based action Code Coverage Summary requires a Linux runner, see [Types of Action](https://docs.github.com/en/actions/creating-actions/about-custom-actions#types-of-actions). If you need to build with a Windows or MacOS runner a workaround would be to upload the coverage file as an artifact and use a separate job with a Linux runner to generate the summary.
|
||||
|
||||
@@ -28,9 +28,7 @@ As a Docker based action Code Coverage Summary requires a Linux runner, see [Typ
|
||||
### `filename`
|
||||
**Required**
|
||||
|
||||
A comma separated list of code coverage files to analyse. If there are any spaces in a path or filename this value must be in quotes.
|
||||
|
||||
**v1.3.0-beta only:** Also supports using glob patterns to match multiple files.
|
||||
A comma separated list of code coverage files to analyse. Also supports using glob patterns to match multiple files. If there are any spaces in a path or filename this value must be in quotes.
|
||||
|
||||
Note: Coverlet creates the coverage file in a random named directory (guid) so you need to copy it to a predictable path before running this Action, see the [.Net Workflow Example](#net-workflow-example) below.
|
||||
|
||||
@@ -60,12 +58,12 @@ Output Format - `markdown` or `text` (default).
|
||||
|
||||
### `hide_branch_rate`
|
||||
|
||||
Hide Branch Rate values in the output - `true` or `false` (default).
|
||||
Hide Branch Rate metrics in the output - `true` or `false` (default).
|
||||
|
||||
|
||||
### `hide_complexity`
|
||||
|
||||
Hide Complexity values in the output - `true` or `false` (default).
|
||||
Hide Complexity metrics in the output - `true` or `false` (default).
|
||||
|
||||
|
||||
### `indicators`
|
||||
@@ -127,7 +125,7 @@ Minimum allowed line rate is 50%
|
||||
|
||||
```yaml
|
||||
name: Code Coverage Summary Report
|
||||
uses: irongut/CodeCoverageSummary@v1.2.0
|
||||
uses: irongut/CodeCoverageSummary@v1.3.0
|
||||
with:
|
||||
filename: coverage.cobertura.xml
|
||||
```
|
||||
@@ -170,7 +168,7 @@ jobs:
|
||||
run: cp coverage/**/coverage.cobertura.xml coverage.cobertura.xml
|
||||
|
||||
- name: Code Coverage Summary Report
|
||||
uses: irongut/CodeCoverageSummary@v1.2.0
|
||||
uses: irongut/CodeCoverageSummary@v1.3.0
|
||||
with:
|
||||
filename: coverage.cobertura.xml
|
||||
badge: true
|
||||
|
||||
+3
-3
@@ -4,10 +4,10 @@
|
||||
|
||||
Version | Supported
|
||||
------- | ------------------
|
||||
1.2.0 | :white_check_mark:
|
||||
1.2.0-beta | :x:
|
||||
1.3.0 | :white_check_mark:
|
||||
1.3.0-beta | :x:
|
||||
1.2.0 | :x:
|
||||
1.1.0 | :x:
|
||||
1.1.0-beta| :x:
|
||||
1.0.x | :x:
|
||||
|
||||
Only the latest version is supported. If you find a security vulnerability in an eariler version please check it exists in the latest version before reporting.
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ branding:
|
||||
color: purple
|
||||
inputs:
|
||||
filename:
|
||||
description: 'A comma separated list of code coverage files to analyse. Also accepts glob patterns.'
|
||||
description: 'A comma separated list of code coverage files to analyse. Also supports using glob patterns to match multiple files.'
|
||||
required: true
|
||||
badge:
|
||||
description: 'Include a Line Rate coverage badge in the output using shields.io - true / false (default).'
|
||||
@@ -42,7 +42,7 @@ inputs:
|
||||
default: '50 75'
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'docker://ghcr.io/irongut/codecoveragesummary:v1.3.0-beta'
|
||||
image: 'docker://ghcr.io/irongut/codecoveragesummary:v1.3.0'
|
||||
args:
|
||||
- '--files'
|
||||
- ${{ inputs.filename }}
|
||||
|
||||
@@ -0,0 +1,476 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<coverage branch-rate="NaN" branches-covered="NaN" branches-valid="NaN" complexity="NaN" line-rate="0.3705" lines-covered="103" lines-valid="278" timestamp="1656158672.7938" version="">
|
||||
<sources>
|
||||
<source>/home/runner/work/climatedatastore/climatedatastore/climatedatastoreToolbox/</source>
|
||||
</sources>
|
||||
<packages>
|
||||
<package branch-rate="NaN" complexity="NaN" line-rate="0.3705" name="">
|
||||
<classes>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="climateDataStoreDownload.m" line-rate="0.91667" name="climateDataStoreDownload">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="5" number="42"/>
|
||||
<line hits="5" number="44"/>
|
||||
<line hits="5" number="45"/>
|
||||
<line hits="5" number="46"/>
|
||||
<line hits="0" number="47"/>
|
||||
<line hits="5" number="50"/>
|
||||
<line hits="5" number="51"/>
|
||||
<line hits="5" number="52"/>
|
||||
<line hits="3" number="53"/>
|
||||
<line hits="2" number="55"/>
|
||||
<line hits="2" number="57"/>
|
||||
<line hits="2" number="58"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="climateDataStoreDownloadAsync.m" line-rate="0.8" name="climateDataStoreDownloadAsync">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="5" number="54"/>
|
||||
<line hits="4" number="56"/>
|
||||
<line hits="5" number="57"/>
|
||||
<line hits="0" number="58"/>
|
||||
<line hits="5" number="61"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="climateDataStoreDownloadFuture.m" line-rate="0.86275" name="climateDataStoreDownloadFuture">
|
||||
<methods>
|
||||
<method branch-rate="NaN" line-rate="0.90909" name="climateDataStoreDownloadFuture" signature="obj = climateDataStoreDownloadFuture(datasetName, datasetOptions, options)">
|
||||
<lines>
|
||||
<line hits="10" number="83"/>
|
||||
<line hits="10" number="84"/>
|
||||
<line hits="10" number="85"/>
|
||||
<line hits="10" number="86"/>
|
||||
<line hits="10" number="89"/>
|
||||
<line hits="10" number="99"/>
|
||||
<line hits="10" number="101"/>
|
||||
<line hits="10" number="102"/>
|
||||
<line hits="7" number="103"/>
|
||||
<line hits="3" number="104"/>
|
||||
<line hits="3" number="105"/>
|
||||
<line hits="3" number="106"/>
|
||||
<line hits="3" number="107"/>
|
||||
<line hits="2" number="108"/>
|
||||
<line hits="1" number="109"/>
|
||||
<line hits="1" number="110"/>
|
||||
<line hits="0" number="112"/>
|
||||
<line hits="0" number="115"/>
|
||||
<line hits="3" number="117"/>
|
||||
<line hits="3" number="118"/>
|
||||
<line hits="7" number="122"/>
|
||||
<line hits="7" number="123"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="0.875" name="cancel" signature="cancel(obj)">
|
||||
<lines>
|
||||
<line hits="1" number="131"/>
|
||||
<line hits="0" number="132"/>
|
||||
<line hits="1" number="135"/>
|
||||
<line hits="1" number="136"/>
|
||||
<line hits="1" number="138"/>
|
||||
<line hits="1" number="139"/>
|
||||
<line hits="1" number="140"/>
|
||||
<line hits="1" number="141"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="0.9" name="wait" signature="wait(obj, timeout)">
|
||||
<lines>
|
||||
<line hits="8" number="158"/>
|
||||
<line hits="2" number="159"/>
|
||||
<line hits="6" number="162"/>
|
||||
<line hits="6" number="163"/>
|
||||
<line hits="6" number="164"/>
|
||||
<line hits="2" number="165"/>
|
||||
<line hits="2" number="166"/>
|
||||
<line hits="2" number="167"/>
|
||||
<line hits="6" number="169"/>
|
||||
<line hits="0" number="170"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="1" name="get.OutputArguments" signature="result = get.OutputArguments(obj)">
|
||||
<lines>
|
||||
<line hits="16" number="178"/>
|
||||
<line hits="16" number="179"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="1" name="get.RunningDuration" signature="result = get.RunningDuration(obj)">
|
||||
<lines>
|
||||
<line hits="3" number="183"/>
|
||||
<line hits="3" number="184"/>
|
||||
<line hits="2" number="186"/>
|
||||
<line hits="1" number="189"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="1" name="get.State" signature="result = get.State(obj)">
|
||||
<lines>
|
||||
<line hits="15" number="194"/>
|
||||
<line hits="15" number="195"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="0.5625" name="update" signature="update(obj)">
|
||||
<lines>
|
||||
<line hits="50" number="210"/>
|
||||
<line hits="5" number="211"/>
|
||||
<line hits="45" number="214"/>
|
||||
<line hits="45" number="215"/>
|
||||
<line hits="0" number="216"/>
|
||||
<line hits="0" number="217"/>
|
||||
<line hits="0" number="218"/>
|
||||
<line hits="0" number="219"/>
|
||||
<line hits="0" number="221"/>
|
||||
<line hits="0" number="223"/>
|
||||
<line hits="0" number="224"/>
|
||||
<line hits="45" number="228"/>
|
||||
<line hits="45" number="229"/>
|
||||
<line hits="34" number="230"/>
|
||||
<line hits="11" number="231"/>
|
||||
<line hits="3" number="232"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="1" name="getResultsIfAvailable" signature="getResultsIfAvailable(obj)">
|
||||
<lines>
|
||||
<line hits="34" number="237"/>
|
||||
<line hits="29" number="238"/>
|
||||
<line hits="5" number="243"/>
|
||||
<line hits="5" number="244"/>
|
||||
<line hits="5" number="246"/>
|
||||
<line hits="5" number="247"/>
|
||||
<line hits="5" number="248"/>
|
||||
<line hits="5" number="249"/>
|
||||
<line hits="5" number="252"/>
|
||||
<line hits="5" number="255"/>
|
||||
<line hits="5" number="259"/>
|
||||
<line hits="3" number="261"/>
|
||||
<line hits="3" number="262"/>
|
||||
<line hits="3" number="265"/>
|
||||
<line hits="2" number="268"/>
|
||||
<line hits="2" number="269"/>
|
||||
<line hits="2" number="270"/>
|
||||
<line hits="5" number="272"/>
|
||||
<line hits="5" number="273"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="0.72727" name="getErrorInfo" signature="getErrorInfo(obj)">
|
||||
<lines>
|
||||
<line hits="3" number="278"/>
|
||||
<line hits="2" number="279"/>
|
||||
<line hits="1" number="282"/>
|
||||
<line hits="1" number="293"/>
|
||||
<line hits="1" number="294"/>
|
||||
<line hits="0" number="295"/>
|
||||
<line hits="0" number="296"/>
|
||||
<line hits="0" number="298"/>
|
||||
<line hits="1" number="300"/>
|
||||
<line hits="1" number="301"/>
|
||||
<line hits="1" number="302"/>
|
||||
</lines>
|
||||
</method>
|
||||
<method branch-rate="NaN" line-rate="1" name="makeStringsChars" signature="theStruct = makeStringsChars(theStruct)">
|
||||
<lines>
|
||||
<line hits="10" number="308"/>
|
||||
<line hits="10" number="309"/>
|
||||
<line hits="70" number="310"/>
|
||||
<line hits="70" number="311"/>
|
||||
<line hits="60" number="313"/>
|
||||
<line hits="10" number="316"/>
|
||||
</lines>
|
||||
</method>
|
||||
</methods>
|
||||
<lines>
|
||||
<line hits="10" number="73"/>
|
||||
<line hits="10" number="83"/>
|
||||
<line hits="10" number="84"/>
|
||||
<line hits="10" number="85"/>
|
||||
<line hits="10" number="86"/>
|
||||
<line hits="10" number="89"/>
|
||||
<line hits="10" number="99"/>
|
||||
<line hits="10" number="101"/>
|
||||
<line hits="10" number="102"/>
|
||||
<line hits="7" number="103"/>
|
||||
<line hits="3" number="104"/>
|
||||
<line hits="3" number="105"/>
|
||||
<line hits="3" number="106"/>
|
||||
<line hits="3" number="107"/>
|
||||
<line hits="2" number="108"/>
|
||||
<line hits="1" number="109"/>
|
||||
<line hits="1" number="110"/>
|
||||
<line hits="0" number="112"/>
|
||||
<line hits="0" number="115"/>
|
||||
<line hits="3" number="117"/>
|
||||
<line hits="3" number="118"/>
|
||||
<line hits="7" number="122"/>
|
||||
<line hits="7" number="123"/>
|
||||
<line hits="1" number="131"/>
|
||||
<line hits="0" number="132"/>
|
||||
<line hits="1" number="135"/>
|
||||
<line hits="1" number="136"/>
|
||||
<line hits="1" number="138"/>
|
||||
<line hits="1" number="139"/>
|
||||
<line hits="1" number="140"/>
|
||||
<line hits="1" number="141"/>
|
||||
<line hits="8" number="155"/>
|
||||
<line hits="8" number="158"/>
|
||||
<line hits="2" number="159"/>
|
||||
<line hits="6" number="162"/>
|
||||
<line hits="6" number="163"/>
|
||||
<line hits="6" number="164"/>
|
||||
<line hits="2" number="165"/>
|
||||
<line hits="2" number="166"/>
|
||||
<line hits="2" number="167"/>
|
||||
<line hits="6" number="169"/>
|
||||
<line hits="0" number="170"/>
|
||||
<line hits="16" number="178"/>
|
||||
<line hits="16" number="179"/>
|
||||
<line hits="3" number="183"/>
|
||||
<line hits="3" number="184"/>
|
||||
<line hits="2" number="186"/>
|
||||
<line hits="1" number="189"/>
|
||||
<line hits="15" number="194"/>
|
||||
<line hits="15" number="195"/>
|
||||
<line hits="50" number="210"/>
|
||||
<line hits="5" number="211"/>
|
||||
<line hits="45" number="214"/>
|
||||
<line hits="45" number="215"/>
|
||||
<line hits="0" number="216"/>
|
||||
<line hits="0" number="217"/>
|
||||
<line hits="0" number="218"/>
|
||||
<line hits="0" number="219"/>
|
||||
<line hits="0" number="221"/>
|
||||
<line hits="0" number="223"/>
|
||||
<line hits="0" number="224"/>
|
||||
<line hits="45" number="228"/>
|
||||
<line hits="45" number="229"/>
|
||||
<line hits="34" number="230"/>
|
||||
<line hits="11" number="231"/>
|
||||
<line hits="3" number="232"/>
|
||||
<line hits="34" number="237"/>
|
||||
<line hits="29" number="238"/>
|
||||
<line hits="5" number="243"/>
|
||||
<line hits="5" number="244"/>
|
||||
<line hits="5" number="246"/>
|
||||
<line hits="5" number="247"/>
|
||||
<line hits="5" number="248"/>
|
||||
<line hits="5" number="249"/>
|
||||
<line hits="5" number="252"/>
|
||||
<line hits="5" number="255"/>
|
||||
<line hits="5" number="259"/>
|
||||
<line hits="3" number="261"/>
|
||||
<line hits="3" number="262"/>
|
||||
<line hits="3" number="265"/>
|
||||
<line hits="2" number="268"/>
|
||||
<line hits="2" number="269"/>
|
||||
<line hits="2" number="270"/>
|
||||
<line hits="5" number="272"/>
|
||||
<line hits="5" number="273"/>
|
||||
<line hits="3" number="278"/>
|
||||
<line hits="2" number="279"/>
|
||||
<line hits="1" number="282"/>
|
||||
<line hits="1" number="293"/>
|
||||
<line hits="1" number="294"/>
|
||||
<line hits="0" number="295"/>
|
||||
<line hits="0" number="296"/>
|
||||
<line hits="0" number="298"/>
|
||||
<line hits="1" number="300"/>
|
||||
<line hits="1" number="301"/>
|
||||
<line hits="1" number="302"/>
|
||||
<line hits="10" number="308"/>
|
||||
<line hits="10" number="309"/>
|
||||
<line hits="70" number="310"/>
|
||||
<line hits="70" number="311"/>
|
||||
<line hits="60" number="313"/>
|
||||
<line hits="10" number="316"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="doc/readSatelliteSeaIceThickness.m" line-rate="0" name="readSatelliteSeaIceThickness">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="4"/>
|
||||
<line hits="0" number="7"/>
|
||||
<line hits="0" number="8"/>
|
||||
<line hits="0" number="9"/>
|
||||
<line hits="0" number="10"/>
|
||||
<line hits="0" number="11"/>
|
||||
<line hits="0" number="12"/>
|
||||
<line hits="0" number="13"/>
|
||||
<line hits="0" number="14"/>
|
||||
<line hits="0" number="15"/>
|
||||
<line hits="0" number="16"/>
|
||||
<line hits="0" number="17"/>
|
||||
<line hits="0" number="18"/>
|
||||
<line hits="0" number="19"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="doc/ComparingIceThickness.mlx" line-rate="0" name="ComparingIceThickness">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="1"/>
|
||||
<line hits="0" number="2"/>
|
||||
<line hits="0" number="3"/>
|
||||
<line hits="0" number="4"/>
|
||||
<line hits="0" number="5"/>
|
||||
<line hits="0" number="6"/>
|
||||
<line hits="0" number="7"/>
|
||||
<line hits="0" number="8"/>
|
||||
<line hits="0" number="9"/>
|
||||
<line hits="0" number="10"/>
|
||||
<line hits="0" number="11"/>
|
||||
<line hits="0" number="12"/>
|
||||
<line hits="0" number="13"/>
|
||||
<line hits="0" number="14"/>
|
||||
<line hits="0" number="15"/>
|
||||
<line hits="0" number="16"/>
|
||||
<line hits="0" number="17"/>
|
||||
<line hits="0" number="18"/>
|
||||
<line hits="0" number="19"/>
|
||||
<line hits="0" number="21"/>
|
||||
<line hits="0" number="22"/>
|
||||
<line hits="0" number="23"/>
|
||||
<line hits="0" number="24"/>
|
||||
<line hits="0" number="25"/>
|
||||
<line hits="0" number="26"/>
|
||||
<line hits="0" number="27"/>
|
||||
<line hits="0" number="28"/>
|
||||
<line hits="0" number="29"/>
|
||||
<line hits="0" number="30"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="doc/GettingStarted.mlx" line-rate="0" name="GettingStarted">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="1"/>
|
||||
<line hits="0" number="2"/>
|
||||
<line hits="0" number="3"/>
|
||||
<line hits="0" number="4"/>
|
||||
<line hits="0" number="5"/>
|
||||
<line hits="0" number="6"/>
|
||||
<line hits="0" number="7"/>
|
||||
<line hits="0" number="8"/>
|
||||
<line hits="0" number="9"/>
|
||||
<line hits="0" number="10"/>
|
||||
<line hits="0" number="11"/>
|
||||
<line hits="0" number="12"/>
|
||||
<line hits="0" number="13"/>
|
||||
<line hits="0" number="14"/>
|
||||
<line hits="0" number="15"/>
|
||||
<line hits="0" number="16"/>
|
||||
<line hits="0" number="17"/>
|
||||
<line hits="0" number="19"/>
|
||||
<line hits="0" number="20"/>
|
||||
<line hits="0" number="21"/>
|
||||
<line hits="0" number="22"/>
|
||||
<line hits="0" number="23"/>
|
||||
<line hits="0" number="24"/>
|
||||
<line hits="0" number="25"/>
|
||||
<line hits="0" number="26"/>
|
||||
<line hits="0" number="27"/>
|
||||
<line hits="0" number="28"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="util/getUserDirectory.m" line-rate="0" name="getUserDirectory">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="5"/>
|
||||
<line hits="0" number="6"/>
|
||||
<line hits="0" number="7"/>
|
||||
<line hits="0" number="9"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="util/setupCDSAPIIfNeeded.m" line-rate="0" name="setupCDSAPIIfNeeded">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="8"/>
|
||||
<line hits="0" number="10"/>
|
||||
<line hits="0" number="12"/>
|
||||
<line hits="0" number="14"/>
|
||||
<line hits="0" number="18"/>
|
||||
<line hits="0" number="19"/>
|
||||
<line hits="0" number="21"/>
|
||||
<line hits="0" number="22"/>
|
||||
<line hits="0" number="23"/>
|
||||
<line hits="0" number="28"/>
|
||||
<line hits="0" number="30"/>
|
||||
<line hits="0" number="32"/>
|
||||
<line hits="0" number="33"/>
|
||||
<line hits="0" number="35"/>
|
||||
<line hits="0" number="36"/>
|
||||
<line hits="0" number="37"/>
|
||||
<line hits="0" number="38"/>
|
||||
<line hits="0" number="39"/>
|
||||
<line hits="0" number="42"/>
|
||||
<line hits="0" number="43"/>
|
||||
<line hits="0" number="46"/>
|
||||
<line hits="0" number="47"/>
|
||||
<line hits="0" number="50"/>
|
||||
<line hits="0" number="51"/>
|
||||
<line hits="0" number="52"/>
|
||||
<line hits="0" number="53"/>
|
||||
<line hits="0" number="55"/>
|
||||
<line hits="0" number="56"/>
|
||||
</lines>
|
||||
</class>
|
||||
<class branch-rate="NaN" complexity="NaN" filename="util/setupPythonIfNeeded.m" line-rate="0" name="setupPythonIfNeeded">
|
||||
<methods/>
|
||||
<lines>
|
||||
<line hits="0" number="8"/>
|
||||
<line hits="0" number="9"/>
|
||||
<line hits="0" number="13"/>
|
||||
<line hits="0" number="15"/>
|
||||
<line hits="0" number="17"/>
|
||||
<line hits="0" number="22"/>
|
||||
<line hits="0" number="25"/>
|
||||
<line hits="0" number="27"/>
|
||||
<line hits="0" number="29"/>
|
||||
<line hits="0" number="31"/>
|
||||
<line hits="0" number="34"/>
|
||||
<line hits="0" number="35"/>
|
||||
<line hits="0" number="36"/>
|
||||
<line hits="0" number="37"/>
|
||||
<line hits="0" number="38"/>
|
||||
<line hits="0" number="39"/>
|
||||
<line hits="0" number="41"/>
|
||||
<line hits="0" number="42"/>
|
||||
<line hits="0" number="43"/>
|
||||
<line hits="0" number="44"/>
|
||||
<line hits="0" number="45"/>
|
||||
<line hits="0" number="51"/>
|
||||
<line hits="0" number="53"/>
|
||||
<line hits="0" number="55"/>
|
||||
<line hits="0" number="63"/>
|
||||
<line hits="0" number="64"/>
|
||||
<line hits="0" number="65"/>
|
||||
<line hits="0" number="66"/>
|
||||
<line hits="0" number="67"/>
|
||||
<line hits="0" number="68"/>
|
||||
<line hits="0" number="69"/>
|
||||
<line hits="0" number="70"/>
|
||||
<line hits="0" number="71"/>
|
||||
<line hits="0" number="72"/>
|
||||
<line hits="0" number="73"/>
|
||||
<line hits="0" number="74"/>
|
||||
<line hits="0" number="75"/>
|
||||
<line hits="0" number="76"/>
|
||||
<line hits="0" number="77"/>
|
||||
<line hits="0" number="80"/>
|
||||
<line hits="0" number="85"/>
|
||||
<line hits="0" number="86"/>
|
||||
<line hits="0" number="87"/>
|
||||
<line hits="0" number="89"/>
|
||||
<line hits="0" number="90"/>
|
||||
<line hits="0" number="95"/>
|
||||
<line hits="0" number="96"/>
|
||||
<line hits="0" number="97"/>
|
||||
<line hits="0" number="99"/>
|
||||
<line hits="0" number="100"/>
|
||||
<line hits="0" number="106"/>
|
||||
<line hits="0" number="107"/>
|
||||
<line hits="0" number="108"/>
|
||||
<line hits="0" number="109"/>
|
||||
<line hits="0" number="112"/>
|
||||
<line hits="0" number="113"/>
|
||||
<line hits="0" number="114"/>
|
||||
</lines>
|
||||
</class>
|
||||
</classes>
|
||||
</package>
|
||||
</packages>
|
||||
</coverage>
|
||||
Reference in New Issue
Block a user