aboutsummaryrefslogtreecommitdiffstats
path: root/ci/lint-test.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ci/lint-test.yml')
-rw-r--r--ci/lint-test.yml41
1 files changed, 41 insertions, 0 deletions
diff --git a/ci/lint-test.yml b/ci/lint-test.yml
new file mode 100644
index 0000000..2d70f6e
--- /dev/null
+++ b/ci/lint-test.yml
@@ -0,0 +1,41 @@
+steps:
+ - script: |
+ docker exec snekbox_test /bin/bash -c \
+ 'flake8; flake8 --format junit-xml --output-file test-lint.xml'
+ displayName: 'Run Linter'
+
+ - task: PublishTestResults@2
+ displayName: 'Publish Lint Results'
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFiles: '**/test-lint.xml'
+ testRunTitle: 'Lint Results'
+
+ # Memory limit tests would fail if this isn't disabled.
+ - script: sudo swapoff -a
+ displayName: 'Disable Swap Memory'
+
+ - script: |
+ docker exec snekbox_test /bin/bash -c \
+ 'coverage run -m xmlrunner'
+ displayName: 'Run Unit Tests'
+
+ - task: PublishTestResults@2
+ displayName: 'Publish Test Results'
+ condition: succeededOrFailed()
+ inputs:
+ testResultsFiles: '**/TEST-*.xml'
+ testRunTitle: 'Test Results'
+
+ # Run report too because the XML report doesn't output to stdout.
+ - script: |
+ docker exec snekbox_test /bin/bash -c \
+ 'coverage report && coverage xml'
+ displayName: 'Generate Coverage Report'
+
+ - task: PublishCodeCoverageResults@1
+ displayName: 'Publish Coverage Results'
+ condition: succeededOrFailed()
+ inputs:
+ codeCoverageTool: Cobertura
+ summaryFileLocation: '**/coverage.xml'