summaryrefslogtreecommitdiff
path: root/azure/coverage_job.yml
diff options
context:
space:
mode:
Diffstat (limited to 'azure/coverage_job.yml')
-rw-r--r--azure/coverage_job.yml42
1 files changed, 42 insertions, 0 deletions
diff --git a/azure/coverage_job.yml b/azure/coverage_job.yml
new file mode 100644
index 0000000000..217b5d664a
--- /dev/null
+++ b/azure/coverage_job.yml
@@ -0,0 +1,42 @@
+parameters:
+ configurationName: ''
+ configurationParameters: ''
+ runTestsParameters: ''
+ timeoutInMinutes: 60
+
+jobs:
+ - job: ${{ parameters.configurationName }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ pool:
+ vmImage: 'ubuntu-latest'
+ steps:
+ - template: apt.yml
+ - script: |
+ sudo -H pip install gcovr
+ displayName: 'Install gcovr'
+ - template: configure.yml
+ parameters:
+ configurationParameters: --enable-gcov ${{ parameters.configurationParameters }}
+ - script: make -j$(/usr/bin/nproc) >/dev/null
+ displayName: 'Make Build'
+ - template: install.yml
+ - script: |
+ mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
+ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
+ sudo -u postgres psql -c "CREATE DATABASE test;"
+ displayName: 'Setup'
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsParameters: ${{ parameters.runTestsParameters }}
+ - script: |
+ make gcovr-xml
+ mv gcovr.xml coverage.xml
+ displayName: 'Generate ${{ parameters.configurationName }} Test Coverage'
+ condition: or(succeeded(), failed())
+ - task: PublishCodeCoverageResults@1
+ inputs:
+ codeCoverageTool: 'Cobertura'
+ summaryFileLocation: coverage.xml
+ displayName: 'Publish ${{ parameters.configurationName }} Test Coverage'
+ condition: or(succeeded(), failed())