2024-12-20 13:25:01 -08:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -eu
|
|
|
|
|
|
2025-05-30 02:14:37 -07:00
|
|
|
# load demo name from arguments
|
|
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
|
echo "No demo names provided. Please provide demo names as arguments."
|
|
|
|
|
# print usage
|
|
|
|
|
echo "Usage: $0 <demo_name1> <demo_name2> ..."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
2025-05-19 09:59:22 -07:00
|
|
|
|
2025-05-30 02:14:37 -07:00
|
|
|
# extract demo names from arguments
|
|
|
|
|
DEMOS="$@"
|
|
|
|
|
|
|
|
|
|
echo "Running tests for demos: $DEMOS"
|
|
|
|
|
|
2026-04-02 21:32:20 -04:00
|
|
|
run_hurl_with_retries() {
|
|
|
|
|
local demo_name="$1"
|
|
|
|
|
local max_attempts=1
|
|
|
|
|
local attempt=1
|
|
|
|
|
|
|
|
|
|
if [ "$demo_name" = "llm_routing/preference_based_routing" ]; then
|
|
|
|
|
max_attempts=3
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
|
if hurl hurl_tests/*.hurl; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$attempt" -ge "$max_attempts" ]; then
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
attempt=$((attempt + 1))
|
|
|
|
|
echo "hurl failed for $demo_name, retrying (attempt $attempt/$max_attempts) ..."
|
|
|
|
|
sleep 2
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-30 02:14:37 -07:00
|
|
|
for demo in $DEMOS
|
2024-12-20 13:25:01 -08:00
|
|
|
do
|
|
|
|
|
echo "******************************************"
|
|
|
|
|
echo "Running tests for $demo ..."
|
|
|
|
|
echo "****************************************"
|
2025-05-19 09:59:22 -07:00
|
|
|
cd ../../$demo
|
2025-12-23 18:37:58 -08:00
|
|
|
echo "starting plano"
|
2026-03-05 07:35:25 -08:00
|
|
|
planoai up --docker config.yaml
|
2025-03-17 14:21:41 -07:00
|
|
|
echo "starting docker containers"
|
2026-02-17 03:09:28 -08:00
|
|
|
# only execute docker compose if demo is llm_routing/preference_based_routing
|
|
|
|
|
if [ "$demo" == "llm_routing/preference_based_routing" ]; then
|
2025-05-31 01:16:17 -07:00
|
|
|
echo "starting docker compose for $demo"
|
|
|
|
|
docker compose -f docker-compose.yaml up -d 2>&1 > /dev/null
|
|
|
|
|
else
|
|
|
|
|
echo "skipping docker compose for $demo"
|
|
|
|
|
fi
|
2025-03-17 14:21:41 -07:00
|
|
|
echo "starting hurl tests"
|
2026-04-02 21:32:20 -04:00
|
|
|
if ! run_hurl_with_retries "$demo"; then
|
2025-05-22 22:55:46 -07:00
|
|
|
echo "Hurl tests failed for $demo"
|
2025-12-23 18:37:58 -08:00
|
|
|
echo "docker logs for plano:"
|
|
|
|
|
docker logs plano | tail -n 100
|
2025-05-22 22:55:46 -07:00
|
|
|
exit 1
|
|
|
|
|
fi
|
2025-12-23 18:37:58 -08:00
|
|
|
echo "stopping docker containers and plano"
|
2026-03-05 07:35:25 -08:00
|
|
|
planoai down --docker
|
2024-12-21 11:33:08 -08:00
|
|
|
docker compose down -v
|
2025-02-07 18:45:42 -08:00
|
|
|
cd ../../shared/test_runner
|
2024-12-20 13:25:01 -08:00
|
|
|
done
|