Skip to content

Commit 532e3d8

Browse files
Fix random fail for DocSum tgi on gaudi (#2365)
Signed-off-by: ZePan110 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent eed5c2a commit 532e3d8

File tree

1 file changed

+44
-29
lines changed

1 file changed

+44
-29
lines changed

DocSum/tests/test_compose_tgi_on_gaudi.sh

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -88,36 +88,51 @@ function validate_service() {
8888
local FORM_DATA5="${11}"
8989
local FORM_DATA6="${12}"
9090

91-
if [[ $VALIDATE_TYPE == *"json"* ]]; then
92-
HTTP_RESPONSE=$(curl --silent --write-out "HTTPSTATUS:%{http_code}" -X POST -d "$INPUT_DATA" -H 'Content-Type: application/json' "$URL")
93-
else
94-
CURL_CMD=(curl --silent --write-out "HTTPSTATUS:%{http_code}" -X POST -F "$FORM_DATA1" -F "$FORM_DATA2" -F "$FORM_DATA3" -F "$FORM_DATA4" -F "$FORM_DATA5" -H 'Content-Type: multipart/form-data' "$URL")
95-
if [[ -n "$FORM_DATA6" ]]; then
96-
CURL_CMD+=(-F "$FORM_DATA6")
91+
local MAX_RETRIES=${13:-3}
92+
local RETRY_DELAY=${14:-2}
93+
94+
local retry_count=0
95+
local success=false
96+
97+
while [ $retry_count -lt $MAX_RETRIES ] && [ "$success" = false ]; do
98+
retry_count=$((retry_count + 1))
99+
100+
echo "[ $SERVICE_NAME ] 尝试第 $retry_count/$MAX_RETRIES 次..."
101+
if [[ $VALIDATE_TYPE == *"json"* ]]; then
102+
HTTP_RESPONSE=$(curl --silent --write-out "HTTPSTATUS:%{http_code}" -X POST -d "$INPUT_DATA" -H 'Content-Type: application/json' "$URL")
103+
else
104+
CURL_CMD=(curl --silent --write-out "HTTPSTATUS:%{http_code}" -X POST -F "$FORM_DATA1" -F "$FORM_DATA2" -F "$FORM_DATA3" -F "$FORM_DATA4" -F "$FORM_DATA5" -H 'Content-Type: multipart/form-data' "$URL")
105+
if [[ -n "$FORM_DATA6" ]]; then
106+
CURL_CMD+=(-F "$FORM_DATA6")
107+
fi
108+
HTTP_RESPONSE=$("${CURL_CMD[@]}")
97109
fi
98-
HTTP_RESPONSE=$("${CURL_CMD[@]}")
99-
fi
100-
HTTP_STATUS=$(echo $HTTP_RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
101-
RESPONSE_BODY=$(echo $HTTP_RESPONSE | sed -e 's/HTTPSTATUS\:.*//g')
102-
103-
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}.log
104-
105-
# check response status
106-
if [ "$HTTP_STATUS" -ne "200" ]; then
107-
echo "[ $SERVICE_NAME ] HTTP status is not 200. Received status was $HTTP_STATUS"
108-
exit 1
109-
else
110-
echo "[ $SERVICE_NAME ] HTTP status is 200. Checking content..."
111-
fi
112-
# check response body
113-
if [[ "$RESPONSE_BODY" != *"$EXPECTED_RESULT"* ]]; then
114-
echo "EXPECTED_RESULT==> $EXPECTED_RESULT"
115-
echo "RESPONSE_BODY==> $RESPONSE_BODY"
116-
echo "[ $SERVICE_NAME ] Content does not match the expected result: $RESPONSE_BODY"
117-
exit 1
118-
else
119-
echo "[ $SERVICE_NAME ] Content is as expected."
120-
fi
110+
HTTP_STATUS=$(echo $HTTP_RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
111+
RESPONSE_BODY=$(echo $HTTP_RESPONSE | sed -e 's/HTTPSTATUS\:.*//g')
112+
113+
docker logs ${DOCKER_NAME} >> ${LOG_PATH}/${SERVICE_NAME}.log
114+
115+
# check response status
116+
if [ "$HTTP_STATUS" -ne "200" ]; then
117+
echo "[ $SERVICE_NAME ] HTTP status is not 200. Received status was $HTTP_STATUS"
118+
exit 1
119+
else
120+
echo "[ $SERVICE_NAME ] HTTP status is 200. Checking content..."
121+
fi
122+
# check response body
123+
if [[ "$RESPONSE_BODY" != *"$EXPECTED_RESULT"* ]]; then
124+
echo "EXPECTED_RESULT==> $EXPECTED_RESULT"
125+
echo "RESPONSE_BODY==> $RESPONSE_BODY"
126+
echo "[ $SERVICE_NAME ] Content does not match the expected result: $RESPONSE_BODY"
127+
if [ $retry_count -lt $max_retries ]; then
128+
echo "[ $SERVICE_NAME ] will retry after $retry_delay seconds ..."
129+
sleep ${retry_delay}s
130+
fi
131+
else
132+
success=true
133+
echo "[ $SERVICE_NAME ] Content is as expected."
134+
fi
135+
done
121136

122137
sleep 1s
123138
}

0 commit comments

Comments
 (0)