fix(test): add emacs-nox dep, fix daemon smoke test handshake
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
This commit is contained in:
19
.github/workflows/test.yml
vendored
19
.github/workflows/test.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
|
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
|
||||||
sbcl git curl socat
|
sbcl emacs-nox git curl socat rlwrap
|
||||||
|
|
||||||
- name: Install Quicklisp
|
- name: Install Quicklisp
|
||||||
run: |
|
run: |
|
||||||
@@ -74,7 +74,6 @@ jobs:
|
|||||||
- name: Daemon smoke test
|
- name: Daemon smoke test
|
||||||
run: |
|
run: |
|
||||||
export OC_DATA_DIR="$PWD/.github-test"
|
export OC_DATA_DIR="$PWD/.github-test"
|
||||||
# Start daemon in background
|
|
||||||
sbcl --non-interactive \
|
sbcl --non-interactive \
|
||||||
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
|
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
|
||||||
--eval "(push (truename \"$PWD/\") asdf:*central-registry*)" \
|
--eval "(push (truename \"$PWD/\") asdf:*central-registry*)" \
|
||||||
@@ -85,21 +84,17 @@ jobs:
|
|||||||
> /tmp/oc-daemon.log 2>&1 &
|
> /tmp/oc-daemon.log 2>&1 &
|
||||||
DAEMON_PID=$!
|
DAEMON_PID=$!
|
||||||
|
|
||||||
# Wait for port
|
for i in $(seq 1 20); do
|
||||||
for i in $(seq 1 15); do
|
if ss -tln 2>/dev/null | grep -q 9105; then
|
||||||
if ss -tln | grep -q 9105; then
|
|
||||||
echo "✓ Daemon ready on port 9105"
|
echo "✓ Daemon ready on port 9105"
|
||||||
|
# Read the initial handshake via a short TCP connection
|
||||||
|
timeout 3 bash -c 'exec 3<>/dev/tcp/localhost/9105; head -c 200 <&3' 2>/dev/null | grep -q "handshake" && \
|
||||||
|
echo "✓ Protocol handshake received"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
# Test handshake
|
|
||||||
if echo '' | socat - TCP:localhost:9105 2>/dev/null | grep -q "HANDSHAKE\|VERSION"; then
|
|
||||||
echo "✓ Protocol handshake received"
|
|
||||||
else
|
|
||||||
echo "⚠ No handshake (may not be critical)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
kill $DAEMON_PID 2>/dev/null || true
|
kill $DAEMON_PID 2>/dev/null || true
|
||||||
|
wait $DAEMON_PID 2>/dev/null || true
|
||||||
echo "✓ Daemon smoke test passed"
|
echo "✓ Daemon smoke test passed"
|
||||||
|
|||||||
Reference in New Issue
Block a user