Files
dgl/script/run_pytest.sh
Hongzhi (Steve), Chen fab7a95003 [Misc] Add graphbolt dir for test script. (#6391)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-28-63.ap-northeast-1.compute.internal>
Co-authored-by: LastWhisper <whuwkl@gmail.com>
2023-09-27 12:06:50 +08:00

70 lines
1.4 KiB
Bash

#!/bin/bash
set -e
usage() {
cat << EOF
usage: bash $0 OPTIONS TARGETS
examples:
Run python tests on CPU: bash $0 -c tests/compute/test_subgraph.py
Run python tests on GPU: bash $0 -g tests/compute/test_subgraph.py
Run DGL python tests.
OPTIONS:
-h Show this message.
-c Run python tests on CPU.
-g Run python tests on GPU.
EOF
}
# Parse flags.
while getopts "cgh" flag; do
if [[ ${flag} == "c" ]]; then
device="cpu"
elif [[ ${flag} == "g" ]]; then
device="gpu"
elif [[ ${flag} == "h" ]]; then
usage
exit 0
else
usage
exit 1
fi
done
if [[ -z ${DGL_HOME} ]]; then
echo "ERROR: Please make sure environment variable DGL_HOME is set correctly."
exit 1
fi
if [[ ! ${PWD} == ${DGL_HOME} ]]; then
echo "ERROR: This script only works properly from DGL root directory."
echo " Current: ${PWD}"
echo "DGL_HOME: ${DGL_HOME}"
exit 1
fi
if [[ -z ${device} ]]; then
echo "ERROR: Test device unspecified."
usage
exit 1
fi
# Reset the index for non-option arguments.
shift $(($OPTIND-1))
export DGLBACKEND=pytorch
export DGL_LIBRARY_PATH=${DGL_HOME}/build
export PYTHONPATH=${DGL_HOME}/python:${DGL_HOME}/tests:${DGL_HOME}/tests/python/pytorch/graphbolt:$PYTHONPATH
export DGLTESTDEV=${device}
export DGL_DOWNLOAD_DIR=${DGL_HOME}/_download
if [[ -z $@ ]]; then
echo "ERROR: Missing test targets."
usage
exit 1
fi
python3 -m pytest -v $@