Skip to content

Commit 2489ad5

Browse files
authored
Improve pytest speend by grouping 20 tests together. (#2390)
*Improve pytest speed by grouping 20 tests together
1 parent dc477fb commit 2489ad5

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

.azure-pipelines/test-docker-sonic-vs-template.yml

+19-3
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,32 @@ jobs:
7171
if [ '${{ parameters.archive_gcov }}' == True ]; then
7272
all_tests=$(ls test_*.py)
7373
all_tests="${all_tests} p4rt"
74+
test_set=()
75+
# Run 20 tests as a set.
7476
for test in ${all_tests}; do
75-
test_name=$(echo "${test}" | cut -d "." -f 1)
76-
sudo py.test -v --force-flaky --junitxml="${test_name}_tr.xml" --keeptb --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber) ${test}
77+
test_set+=("${test}")
78+
if [ ${#test_set[@]} -ge 20 ]; then
79+
test_name=$(echo "${test_set[0]}" | cut -d "." -f 1)
80+
echo "${test_set[*]}" | xargs sudo py.test -v --force-flaky --junitxml="${test_name}_tr.xml" --keeptb --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
81+
container_count=$(docker ps -q -a | wc -l)
82+
if [ ${container_count} -gt 0 ]; then
83+
./gcov_support.sh set_environment $(Build.ArtifactStagingDirectory)
84+
docker stop $(docker ps -q -a)
85+
docker rm $(docker ps -q -a)
86+
fi
87+
test_set=()
88+
fi
89+
done
90+
if [ ${#test_set[@]} -gt 0 ]; then
91+
test_name=$(echo "${test_set[0]}" | cut -d "." -f 1)
92+
echo "${test_set[*]}" | xargs sudo py.test -v --force-flaky --junitxml="${test_name}_tr.xml" --keeptb --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
7793
container_count=$(docker ps -q -a | wc -l)
7894
if [ ${container_count} -gt 0 ]; then
7995
./gcov_support.sh set_environment $(Build.ArtifactStagingDirectory)
8096
docker stop $(docker ps -q -a)
8197
docker rm $(docker ps -q -a)
8298
fi
83-
done
99+
fi
84100
else
85101
sudo py.test -v --force-flaky --junitxml=tests_tr.xml --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
86102
fi

0 commit comments

Comments
 (0)