#!/bin/bash

set -e
export HOME="${AUTOPKGTEST_TMP}"

cd demo/guide-python

demo_blacklist=(
    spark_estimator_examples.py # pyspark
    quantile_data_iterator.py   # cupy
    cat_in_the_dat.py           # missing dataset
    gamma_regression.py         # missing dataset
    learning_to_rank.py         # missing dataset
    update_process.py           # flaky
    distributed_extmem_basic.py # flaky
    model_parser.py             # flaky
)

failed_cases=()

for case in *.py; do
    echo "=========================================="
    if [[ " ${demo_blacklist[@]} " =~ " ${case} " ]]; then
        echo "Skip case $case..."
        continue
    fi
    echo "Running case $case..."
    if ! python3 "$case"; then
        failed_cases+=("$case")
    fi
done

echo ""==========================================""
if [ ${#failed_cases[@]} -gt 0 ]; then
    echo "Failed cases: ${failed_cases[@]}"
    exit 1
else
    echo "All cases passed."
fi
