#!/bin/bash
set -euo pipefail
echo "start run test case, please wait ..."
cd /home/taskspace
WORKSPACE=/home/taskspace
export ASCEND_GLOBAL_LOG_LEVEL=2
export ASCEND_SLOG_PRINT_TO_STDOUT=0
source /usr/local/Ascend/cann/set_env.sh
log() {
local dt
dt=$(date '+%Y%m%d.%H%M%S')
echo "===================================================================="
echo "$dt : $*"
echo "===================================================================="
}
log "init test case, please wait ..."
rm -rf /root/ascend/log
declare -a ops
ops=("fatrelu_mul")
log "start run test case, please wait ..."
DOWNLOAD_FILE=$(basename "${single_tar_url}")
echo "Starting to download file: ${DOWNLOAD_FILE}"
wget -nv --no-clobber "${single_tar_url}"
if [ ! -f "${DOWNLOAD_FILE}" ]; then
echo "File ${DOWNLOAD_FILE} does not exist, no need to execute smoke test task"
exit 0
fi
FILE_SIZE=$(stat -c%s "${DOWNLOAD_FILE}" 2>/dev/null || echo 0)
if [ "${FILE_SIZE}" -eq 0 ]; then
echo "No compiled operators, no need to execute smoke test task"
rm -f "${DOWNLOAD_FILE}"
exit 0
fi
echo "File download completed, size ${FILE_SIZE}, starting decompression."
tar -ztf ${DOWNLOAD_FILE}
tar -zxf ${DOWNLOAD_FILE}
for op in "${ops[@]}"; do
echo "Processing: $op"
mode="eager"
[ "$op" = "crop_and_resize" ] && mode="graph"
source /usr/local/Ascend/cann/set_env.sh
bash ${WORKSPACE}/scripts/ci/check_example.sh ${WORKSPACE}/pr_filelist.txt 2>&1 | tee -a ./run_test.log
fatrel_arm_package=$(basename "${fatrelu_run_url}")
wget -nv ${fatrelu_run_url}
chmod +x ${fatrel_arm_package} && ./${fatrel_arm_package} 2>&1 | tee -a ./run_test.log
bash build.sh --run_example "$op" "$mode" cust 2>&1 | tee -a ./run_test.log
experimental_arm_package=$(basename "${experimental_run_url}")
wget -nv "${experimental_run_url}" && chmod +x ${experimental_arm_package}
echo 'y' | bash ${experimental_arm_package} --quiet && source /usr/local/Ascend/cann/set_env.sh && bash scripts/ci/check_experimental_example.sh ${WORKSPACE}/pr_filelist.txt 2>&1 | tee -a ./run_test.log
done
mkdir -p /root/ascend
slog_name="slog.tar.gz"
tar -zcf "${slog_name}" -C /root/ascend log
if python3 /home/upload.py --bucket-name "ascend-ci" --action upload --local-file "slog.tar.gz" --obs-object-key "${repo_name}/package/${pr_id}/${slog_name}"; then
echo "::set-output var=plog_url:https://ascend-ci.obs.cn-north-4.myhuaweicloud.com/${repo_name}/package/${pr_id}/slog.tar.gz"
fi
log "checking NPU status ..."
mkdir -p ./npu_log
npu-smi info 2>&1 | tee ./npu_log/npu_info.log
log "checking test results ..."
date_time=`date +%Y%m%d`"."`date +%H%M%S`
if grep -E '\b(FAIL|errors|fail|failed|error|ERROR:|Error|error:)\b' "./run_test.log" | grep -v "error)"; then
echo "$date_time : run test case failed"
exit 1
fi