From 5f8ff94a3d488cd03b3abbe134d7915f4cefb6b0 Mon Sep 17 00:00:00 2001 From: Siva Date: Thu, 26 Oct 2023 14:57:09 +0530 Subject: [PATCH] [CI][ADRENO] Enhancements to Adreno specific CI utils RPC seem to be hanging while running bunch of tests with in single session. This enables running them individually. Also we don't need rerun with in same sessio that leads to hang some times. --- tests/scripts/setup-pytest-env.sh | 4 +++- tests/scripts/task_python_adreno.sh | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/tests/scripts/setup-pytest-env.sh b/tests/scripts/setup-pytest-env.sh index 129309f00552..7bdfbdd1df47 100755 --- a/tests/scripts/setup-pytest-env.sh +++ b/tests/scripts/setup-pytest-env.sh @@ -70,7 +70,9 @@ function run_pytest() { has_reruns=$(python3 -m pytest --help 2>&1 | grep 'reruns=' || true) if [ -n "$has_reruns" ]; then - extra_args+=('--reruns=3') + if [[ ! "${extra_args[*]}" == *"--reruns"* ]]; then + extra_args+=('--reruns=3') + fi fi suite_name="${test_suite_name}-${current_shard}-${ffi_type}" diff --git a/tests/scripts/task_python_adreno.sh b/tests/scripts/task_python_adreno.sh index 6d9c370aeca4..edd41abf2963 100755 --- a/tests/scripts/task_python_adreno.sh +++ b/tests/scripts/task_python_adreno.sh @@ -61,11 +61,26 @@ find . -type f -path "*.pyc" | xargs rm -f # Test TVM make cython3 +# The RPC to remote Android device has issue of hang after few tests with in CI environments. +# Lets run them individually on fresh rpc session. # OpenCL texture test on Adreno -run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-opencl-texture tests/python/relay/opencl_texture +TEXTURE_TESTS=$(./ci/scripts/jenkins/pytest_ids.py --folder tests/python/relay/opencl_texture) +i=0 +IFS=$'\n' +for node_id in $TEXTURE_TESTS; do + echo "$node_id" + run_pytest ctypes "$TVM_INTEGRATION_TESTSUITE_NAME-opencl-texture-$i" "$node_id" --reruns=1 + i=$((i+1)) +done # Adreno CLML test -run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-openclml tests/python/contrib/test_clml +CLML_TESTS=$(./ci/scripts/jenkins/pytest_ids.py --folder tests/python/contrib/test_clml) +i=0 +for node_id in $CLML_TESTS; do + echo "$node_id" + run_pytest ctypes "$TVM_INTEGRATION_TESTSUITE_NAME-openclml-$i" "$node_id" --reruns=1 + i=$((i+1)) +done kill ${TRACKER_PID} kill ${DEVICE_PID}