### What this PR does / why we need it?
Increase doctest timeout to 300s and time print, according to time print
in https://github.com/vllm-project/vllm-ascend/pull/3045 , most of time
consumed in `Graph capturing`, so I think it's fine to increase doctest
timeout
This PR also add time log for each task.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
- Run `/vllm-workspace/vllm-ascend/tests/e2e/run_doctests.sh`
- CI passed
- vLLM version: v0.10.2
- vLLM main:
a684c0124c
Closes: https://github.com/vllm-project/vllm-ascend/issues/3045
Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
75 lines
1.7 KiB
Bash
75 lines
1.7 KiB
Bash
# bash fonts colors
|
|
cyan='\e[96m'
|
|
yellow='\e[33m'
|
|
red='\e[31m'
|
|
none='\e[0m'
|
|
|
|
_cyan() { echo -e "${cyan}$*${none}"; }
|
|
_yellow() { echo -e "${yellow}$*${none}"; }
|
|
_red() { echo -e "${red}$*${none}"; }
|
|
|
|
_info() { _cyan "Info: $*"; }
|
|
_warn() { _yellow "Warn: $*"; }
|
|
_err() { _red "Error: $*" && exit 1; }
|
|
|
|
CURL_TIMEOUT=1
|
|
CURL_COOLDOWN=5
|
|
CURL_MAX_TRIES=300
|
|
|
|
function wait_url_ready() {
|
|
local serve_name="$1"
|
|
local url="$2"
|
|
i=0
|
|
while true; do
|
|
_info "===> Waiting for ${serve_name} to be ready...${i}s"
|
|
i=$((i + CURL_COOLDOWN))
|
|
set +e
|
|
curl --silent --max-time "$CURL_TIMEOUT" "${url}" >/dev/null
|
|
result=$?
|
|
set -e
|
|
if [ "$result" -eq 0 ]; then
|
|
break
|
|
fi
|
|
if [ "$i" -gt "$CURL_MAX_TRIES" ]; then
|
|
_info "===> ${CURL_MAX_TRIES}s exceeded waiting for ${serve_name} to be ready"
|
|
return 1
|
|
fi
|
|
sleep "$CURL_COOLDOWN"
|
|
done
|
|
_info "===> ${serve_name} is ready."
|
|
}
|
|
|
|
function wait_for_exit() {
|
|
local VLLM_PID="$1"
|
|
while kill -0 "$VLLM_PID"; do
|
|
_info "===> Wait for ${VLLM_PID} to exit."
|
|
sleep 1
|
|
done
|
|
_info "===> Process ${VLLM_PID} has exited."
|
|
}
|
|
|
|
VENV_PATH=/tmp/vllm_venv
|
|
|
|
function clean_venv() {
|
|
if [[ -n "$VENV_PATH" && -d "$VENV_PATH" ]]; then
|
|
_info "Cleaning up default virtual env path: ${VENV_PATH}"
|
|
deactivate || true
|
|
rm -rf "$VENV_PATH"
|
|
fi
|
|
}
|
|
|
|
function create_vllm_venv() {
|
|
# make a clean env path
|
|
clean_venv
|
|
_info "Creating vllm virtual environment at ${VENV_PATH}"
|
|
python3 -m venv ${VENV_PATH}
|
|
source ${VENV_PATH}/bin/activate
|
|
}
|
|
|
|
function get_version() {
|
|
local VERSION_NAME="$1"
|
|
python3 "${SCRIPT_DIR}/../../docs/source/conf.py" | jq .${VERSION_NAME} | tr -d '"'
|
|
}
|
|
|
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|