未验证 提交 9fd5eae8 编写于 作者: Y YUNSHEN XIE 提交者: GitHub

add failed unittests retry on mac system (#26813)

* add retry on mac

* fix some error

* fix with some errors
上级 92bf0d47
...@@ -528,9 +528,50 @@ EOF ...@@ -528,9 +528,50 @@ EOF
elif [ "$1" == "cp37-cp37m" ]; then elif [ "$1" == "cp37-cp37m" ]; then
pip3.7 install --user ${INSTALL_PREFIX:-/paddle/build}/opt/paddle/share/wheels/*.whl pip3.7 install --user ${INSTALL_PREFIX:-/paddle/build}/opt/paddle/share/wheels/*.whl
fi fi
tmpfile_rand=`date +%s%N`
tmpfile=$tmp_dir/$tmpfile_rand
set +e set +e
ut_startTime_s=`date +%s` ut_startTime_s=`date +%s`
ctest --output-on-failure -j $2;mactest_error=$? ctest --output-on-failure -j $2 | tee $tmpfile
failed_test_lists=''
collect_failed_tests
set +x
mactest_error=0
retry_unittests_record=''
retry_time=3
exec_times=0
exec_time_array=('first' 'second' 'third')
if [ -n "$failed_test_lists" ];then
mactest_error=1
while ( [ $exec_times -lt $retry_time ] && [ -n "${failed_test_lists}" ] )
do
retry_unittests_record="$retry_unittests_record$failed_test_lists"
failed_test_lists_ult=`echo "${failed_test_lists}"`
read retry_unittests <<< $(echo "$failed_test_lists" | grep -oEi "\-.+\(" | sed 's/(//' | sed 's/- //' )
echo "========================================="
echo "This is the ${exec_time_array[$exec_times]} time to re-run"
echo "========================================="
echo "The following unittest will be re-run:"
echo "${retry_unittests}"
echo "========================================="
retry_unittests_regular=''
for line in ${retry_unittests[@]} ;
do
if [[ "$retry_unittests_regular" == "" ]];then
retry_unittests_regular="^$line$"
else
retry_unittests_regular="$retry_unittests_regular|^$line$"
fi
done
rm -f $tmp_dir/*
failed_test_lists=''
ctest -R "($retry_unittests_regular)" --output-on-failure -j $2 | tee $tmpfile
collect_failed_tests
exec_times=$[$exec_times+1]
done
fi
#mactest_error=$?
ut_endTime_s=`date +%s` ut_endTime_s=`date +%s`
echo "Mac testCase Time: $[ $ut_endTime_s - $ut_startTime_s ]s" echo "Mac testCase Time: $[ $ut_endTime_s - $ut_startTime_s ]s"
paddle version paddle version
...@@ -538,9 +579,23 @@ EOF ...@@ -538,9 +579,23 @@ EOF
export http_proxy=$my_proxy export http_proxy=$my_proxy
export https_proxy=$my_proxy export https_proxy=$my_proxy
if [ "$mactest_error" != 0 ];then if [ "$mactest_error" != 0 ];then
if [[ "$failed_test_lists" == "" ]]; then
echo "========================================"
echo "There are failed tests, which have been successful after re-run:"
echo "========================================"
echo "The following tests have been re-ran:"
echo "${retry_unittests_record}"
else
failed_test_lists_ult=`echo "${failed_test_lists}"`
echo "========================================"
echo "Summary Failed Tests... "
echo "========================================"
echo "The following tests FAILED: "
echo "${failed_test_lists_ult}"
exit 8; exit 8;
fi fi
fi fi
fi
} }
function fetch_upstream_develop_if_not_exist() { function fetch_upstream_develop_if_not_exist() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册