MODULE_LIST="
rust_sdk
"
usage() {
echo "Usage:"
echo " $0 [-m Module] [-x Module] [-i Module]"
echo " (-m, -x and -i can be passed multiple times)"
echo ""
echo "Options:"
echo " -h print usage and exit"
echo " -m Module only run tests of specified module"
echo " -x Module exclude the tests of specified module"
echo " -i Module include the tests of specified module"
echo ""
echo "Current modules: $MODULE_LIST"
}
set -e
PROJECT_DIR=$(cd $(dirname $(dirname $0)) && pwd)
PATH=$PROJECT_DIR/bin:$PATH
if [ ! -d "$PROJECT_DIR/coverage" ]; then
mkdir $PROJECT_DIR/coverage
fi
MODULES=""
EXCLUDE=""
INCLUDE=""
while getopts i:x:m:h opt
do
case $opt in
h)
usage
exit 0
;;
m)
MODULES="$MODULES $OPTARG"
;;
x)
EXCLUDE="$EXCLUDE $OPTARG"
;;
i)
INCLUDE="$INCLUDE $OPTARG"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 2
;;
esac
done
if [[ $MODULES = "" ]]
then
MODULES=$MODULE_LIST
fi
MODULES="$INCLUDE $MODULES"
main() {
cd $PROJECT_DIR
for module in $MODULES
do
skip=0
for exclude in $EXCLUDE
do
if [[ $module == $exclude ]]
then
skip=1
break
fi
done
if [[ $skip == 1 ]]
then
echo "[---Skipping $module tests---]"
else
echo "[---Running $module tests---]"
case $module in
rust_sdk)
test_rust_sdk
;;
*)
echo "Module '$module' not found."
;;
esac
fi
done
}
test_rust_sdk() {
run_docker_test ./tests/unit_rust_sdk.yaml
run_docker_test ./tests/test_tp_intkey_rust.yaml
run_docker_test ./tests/test_tp_xo_rust.yaml
run_docker_test test_intkey_smoke_rust
}
main