blob: a0e8dc137e79841dea7784ce14c031e3ec9117f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
parameters:
- name: suiteName
type: string
- name: testOS
type: string
values:
- ubuntu2004
- name: knownHost
type: string
- name: toolset
type: string
values:
- make
- name: uhdSrcDir
type: string
- name: redisHost
type: string
- name: dutMatrix
type: object
jobs:
- job: uhd_devtest_${{ parameters.suiteName }}_${{ parameters.testOS }}
displayName: uhd devtest ${{ parameters.suiteName }} ${{ parameters.testOS }}
pool:
name: de-dre-lab
demands:
- suiteName -equals ${{ parameters.suiteName }}
- testOS -equals ${{ parameters.testOS }}
variables:
- group: sdr-pipeline-vars
strategy:
matrix: ${{ parameters.dutMatrix }}
workspace:
clean: outputs
steps:
- checkout: self
clean: true
- task: InstallSSHKey@0
displayName: 'Install Ettus SSH key'
inputs:
knownHostsEntry: '${{ parameters.knownHost }}'
sshPublicKey: '$(ettus_ssh_pubkey)'
sshKeySecureFile: 'id_rsa.ettus'
- download: current
artifact: uhddev-${{ parameters.testOS }}-${{ parameters.toolset }}
displayName: Download pipeline artifact ${{ parameters.testOS }}-${{ parameters.toolset }}
- task: ExtractFiles@1
inputs:
archiveFilePatterns: $(Pipeline.Workspace)/uhddev-${{ parameters.testOS }}-${{ parameters.toolset }}/uhddev-${{ parameters.testOS }}-${{ parameters.toolset }}.tar.gz
destinationFolder: $(Build.BinariesDirectory)
cleanDestinationFolder: true
- script: |
cd $(Build.BinariesDirectory)/uhddev/build
mkdir -p fpga_images
rm -rf fpga_images/*
python3 utils/uhd_images_downloader.py -t $(devModel) -i fpga_images \
-b $(sdr-fileserver)
displayName: Download FPGA Images
- script: |
mkdir -p $(Common.TestResultsDirectory)/devtest
cd $(Common.TestResultsDirectory)/devtest
export PATH=$(Build.BinariesDirectory)/uhddev/build/utils:$(Build.BinariesDirectory)/uhddev/build/examples:$PATH
export LD_LIBRARY_PATH=$(Build.BinariesDirectory)/uhddev/build/lib:$LD_LIBRARY_PATH
python3 ${{ parameters.uhdSrcDir }}/.ci/utils/mutex_hardware.py \
--jtag_x3xx $(jtagServer),$(jtagSerial),$(Build.BinariesDirectory)/uhddev/build/fpga_images/usrp_$(devModel)_fpga_$(devFpga).bit \
${{ parameters.redisHost }} $(devName) \
"$(Build.BinariesDirectory)/uhddev/build/utils/uhd_usrp_probe --args addr=$(devAddr)" \
"python3 ${{ parameters.uhdSrcDir }}/host/tests/devtest/run_testsuite.py \
--src-dir ${{ parameters.uhdSrcDir }}/host/tests/devtest \
--devtest-pattern $(devtestPattern) --args addr=$(devAddr),type=$(devType) \
--build-type Release --build-dir $(Build.BinariesDirectory)/uhddev/build \
--python-interp python3 --xml"
continueOnError: true
condition: and(succeeded(), eq(variables.devType, 'x300'), eq(variables.devBus, 'ip'))
displayName: Run devtest on $(devName) $(devFpga)
- script: |
cat $(Common.TestResultsDirectory)/devtest/log*.log
echo ""
displayName: cat devtest log
condition: always()
- script: |
cd $(Common.TestResultsDirectory)/devtest
python3 ${{ parameters.uhdSrcDir }}/.ci/utils/format_devtest_junitxml.py \
$(Common.TestResultsDirectory)/devtest \
$(Common.TestResultsDirectory)/devtest/devtestresults.xml
continueOnError: true
displayName: Format devtest xml
condition: always()
- publish: $(Common.TestResultsDirectory)
artifact: test-logs-devtest-$(devName)-$(devFpga)-run$(System.JobAttempt)
displayName: Upload Test Logs
condition: always()
- task: PublishTestResults@2
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '$(Common.TestResultsDirectory)/devtest/devtestresults.xml'
testRunTitle: $(devName) $(devFpga) devtest
buildConfiguration: 'Release'
mergeTestResults: true
failTaskOnFailedTests: true
displayName: Upload devtest results
condition: always()
|