char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

hmirinrpc: avoid serializing buffers from other servers (#26500)a7cc83bba

char/aliceai-t5-moe
955 B43 linesraw
1#!/usr/bin/env bash
2set -euo pipefail
3
4server=$1
5client=$2
6port_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 || true
14    rm -rf "$test_dir"
15}
16trap cleanup EXIT
17
18wait_for_port() {
19    local port=$1
20    for _ in {1..600}; do
21        if (exec 3<>"/dev/tcp/127.0.0.1/$port") 2>/dev/null; then
22            exec 3>&-
23            exec 3<&-
24            return 0
25        fi
26        sleep 0.05
27    done
28    return 1
29}
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"; then
41    cat "$test_dir/server-b.log"
42    exit 1
43fi