Felipe97/llama-cpp-compiled
01.1k
1#!/usr/bin/env bash2set -euo pipefail3 4server=$15client=$26port_a=$((40000 + $$ % 10000))7port_b=$((port_a + 1))8endpoint_a="127.0.0.1:${port_a}"9endpoint_b="127.0.0.1:${port_b}"10test_dir=$(mktemp -d)11 12cleanup() {13 kill "${pid_a:-}" "${pid_b:-}" 2>/dev/null || true14 rm -rf "$test_dir"15}16trap cleanup EXIT17 18wait_for_port() {19 local port=$120 for _ in {1..600}; do21 if (exec 3<>"/dev/tcp/127.0.0.1/$port") 2>/dev/null; then22 exec 3>&-23 exec 3<&-24 return 025 fi26 sleep 0.0527 done28 return 129}30 31"$server" --device CPU --host 127.0.0.1 --port "$port_a" >"$test_dir/server-a.log" 2>&1 &32pid_a=$!33"$server" --device CPU --host 127.0.0.1 --port "$port_b" >"$test_dir/server-b.log" 2>&1 &34pid_b=$!35wait_for_port "$port_a"36wait_for_port "$port_b"37 38"$client" "$endpoint_a" "$endpoint_b"39 40if grep -q "invalid data ptr" "$test_dir/server-b.log"; then41 cat "$test_dir/server-b.log"42 exit 143fi44 