Skip to content

Commit 65e2e7e

Browse files
committed
Improve pytest speend by grouping 10 tests together.
Change-Id: Ife4f5ca5b94b43cde3542c7ccfc9f14fba08fffa
1 parent 33c420d commit 65e2e7e

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

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

+17-3
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,30 @@ 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 10 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 10 ]; then
79+
echo "${test_set[*]}" | xargs sudo py.test -v --force-flaky --junitxml="${test_name}_tr.xml" --keeptb --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
80+
container_count=$(docker ps -q -a | wc -l)
81+
if [ ${container_count} -gt 0 ]; then
82+
./gcov_support.sh set_environment $(Build.ArtifactStagingDirectory)
83+
docker stop $(docker ps -q -a)
84+
docker rm $(docker ps -q -a)
85+
fi
86+
test_set=()
87+
fi
88+
done
89+
if [ ${#test_set[@]} -gt 0 ]; then
90+
echo "${test_set[*]}" | xargs sudo py.test -v --force-flaky --junitxml="${test_name}_tr.xml" --keeptb --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
7791
container_count=$(docker ps -q -a | wc -l)
7892
if [ ${container_count} -gt 0 ]; then
7993
./gcov_support.sh set_environment $(Build.ArtifactStagingDirectory)
8094
docker stop $(docker ps -q -a)
8195
docker rm $(docker ps -q -a)
8296
fi
83-
done
97+
fi
8498
else
8599
sudo py.test -v --force-flaky --junitxml=tests_tr.xml --imgname=docker-sonic-vs:$(Build.DefinitionName).$(Build.BuildNumber)
86100
fi

0 commit comments

Comments
 (0)