aboutsummaryrefslogtreecommitdiffstats
path: root/.ci/templates/job-uhd-streaming-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.ci/templates/job-uhd-streaming-tests.yml')
-rw-r--r--.ci/templates/job-uhd-streaming-tests.yml83
1 files changed, 83 insertions, 0 deletions
diff --git a/.ci/templates/job-uhd-streaming-tests.yml b/.ci/templates/job-uhd-streaming-tests.yml
new file mode 100644
index 000000000..9a9b3168d
--- /dev/null
+++ b/.ci/templates/job-uhd-streaming-tests.yml
@@ -0,0 +1,83 @@
+parameters:
+- name: suiteName
+ type: string
+- name: testOS
+ type: string
+ values:
+ - ubuntu2004
+- name: toolset
+ type: string
+ values:
+ - make
+- name: uhdSrcDir
+ type: string
+- name: dutMatrix
+ type: object
+- name: testLength
+ type: string
+ values:
+ - 'smoke'
+ - 'full'
+ - 'stress'
+
+jobs:
+- job: uhd_streaming_tests_${{ parameters.suiteName }}
+ displayName: uhd streaming tests ${{ parameters.suiteName }}
+ timeoutInMinutes: 180
+ pool:
+ name: de-dre-lab
+ demands:
+ - suiteName -equals ${{ parameters.suiteName }}
+ strategy:
+ matrix: ${{ parameters.dutMatrix }}
+ workspace:
+ clean: outputs
+ steps:
+ - checkout: self
+ clean: true
+ - download: current
+ artifact: ${{ parameters.testOS }}-${{ parameters.toolset }}
+ displayName: download pipeline artifact ${{ parameters.testOS }}-${{ parameters.toolset }}
+ - task: ExtractFiles@1
+ inputs:
+ archiveFilePatterns: $(Pipeline.Workspace)/${{ parameters.testOS }}-${{ parameters.toolset }}/${{ parameters.testOS }}-${{ parameters.toolset }}.tar.gz
+ destinationFolder: $(Build.BinariesDirectory)
+ cleanDestinationFolder: true
+ - script: |
+ cd ${{ parameters.uhdSrcDir }}/host/tests/streaming_performance
+ sudo ./setup.sh --auto
+ sleep 5
+ displayName: setup interfaces for use without DPDK
+ - script: |
+ set -x
+ export PYTHONPATH=${{ parameters.uhdSrcDir }}/host/tests/streaming_performance
+ cd ${{ parameters.uhdSrcDir }}/host/tests/pytests
+ python3 -m pytest -s test_streaming.py -m "not dpdk" --dut_type $(dutType) --test_length ${{ parameters.testLength }} \
+ --addr $(dutAddr) --second_addr $(dutSecondAddr) --mgmt_addr $(dutMgmtAddr) \
+ --uhd_build_dir $(Build.BinariesDirectory)/uhddev/build --junitxml $(Common.TestResultsDirectory)/TEST-$(dutName).xml
+ continueOnError: true
+ displayName: Run streaming tests on $(dutName)
+ - script: |
+ cd ${{ parameters.uhdSrcDir }}/host/tests/streaming_performance
+ sudo ./setup.sh --auto --dpdk
+ sleep 5
+ displayName: setup interfaces for use with DPDK
+ - script: |
+ set -x
+ export PYTHONPATH=${{ parameters.uhdSrcDir }}/host/tests/streaming_performance
+ cd ${{ parameters.uhdSrcDir }}/host/tests/pytests
+ sudo --preserve-env=PYTHONPATH python3 -m pytest -s test_streaming.py -m "dpdk" --dut_type $(dutType) --test_length ${{ parameters.testLength }} \
+ --addr $(dutAddr) --second_addr $(dutSecondAddr) --mgmt_addr $(dutMgmtAddr) \
+ --uhd_build_dir $(Build.BinariesDirectory)/uhddev/build --junitxml $(Common.TestResultsDirectory)/TEST-$(dutName)-dpdk.xml
+ continueOnError: true
+ displayName: Run streaming tests with DPDK on $(dutName)
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: '$(Common.TestResultsDirectory)/TEST-*.xml'
+ testRunTitle: $(dutName) streaming tests
+ buildConfiguration: 'Release'
+ mergeTestResults: true
+ failTaskOnFailedTests: false
+ displayName: Upload streaming test results
+