diff --git a/tests/container-smoke.sh b/tests/container-smoke.sh index 484b561..f0117e9 100755 --- a/tests/container-smoke.sh +++ b/tests/container-smoke.sh @@ -8,7 +8,6 @@ unconfigured="mohomo-docker-unconfigured-${suffix}" provider="mohomo-provider-smoke-${suffix}" network="mohomo-network-smoke-${suffix}" volume="mohomo-volume-smoke-${suffix}" -provider_dir="" cookie="" secret="container-smoke-secret" admin_password="container-smoke-admin-password" @@ -22,7 +21,6 @@ cleanup() { docker container rm --force "$container" "$unconfigured" "$provider" >/dev/null 2>&1 || true docker volume rm "$volume" >/dev/null 2>&1 || true docker network rm "$network" >/dev/null 2>&1 || true - [ -z "$provider_dir" ] || rm -rf "$provider_dir" [ -z "$cookie" ] || rm -f "$cookie" } trap cleanup EXIT INT TERM @@ -101,27 +99,15 @@ docker run --rm --network none --entrypoint /bin/sh "$image" -c ' /usr/local/lib/ssclash/clash -t -d "$runtime" -f "$runtime/config.yaml" ' >/dev/null -provider_dir=$(mktemp -d) -printf '%s\n' \ - 'proxies:' \ - ' - name: smoke-node' \ - ' type: socks5' \ - ' server: 127.0.0.1' \ - ' port: 9' \ - > "$provider_dir/provider.yaml" -chmod 0755 "$provider_dir" -chmod 0644 "$provider_dir/provider.yaml" - docker network create "$network" >/dev/null docker volume create "$volume" >/dev/null docker run --detach --rm \ --name "$provider" \ --network "$network" \ - --volume "$provider_dir:/srv:ro" \ --entrypoint /bin/sh \ - "$image" -c 'while :; do { printf "HTTP/1.1 200 OK\r\nContent-Type: text/yaml\r\nConnection: close\r\n\r\n"; cat /srv/provider.yaml; } | nc -l -p 8080; done' >/dev/null + "$image" -c 'while :; do printf "HTTP/1.1 200 OK\r\nContent-Type: text/yaml\r\nConnection: close\r\n\r\nproxies:\n - name: smoke-node\n type: socks5\n server: 127.0.0.1\n port: 9\n" | nc -l -p 8080; done' >/dev/null attempt=0 -until docker exec "$provider" wget -qO- http://127.0.0.1:8080/provider.yaml >/dev/null; do +until docker exec "$provider" wget -qO- http://127.0.0.1:8080/provider.yaml | grep -F 'name: smoke-node' >/dev/null; do attempt=$((attempt + 1)) if [ "$attempt" -ge 10 ]; then echo "subscription fixture did not become ready" >&2