chore(quic-interop): drop the smoke target — runner is the canonical path

make smoke was the bisector for "is the bug in :quic or in the runner
environment?" while we were debugging the initial close-path / PTO /
padding issues. Now that the runner reliably runs the matrix end-to-end
(handshake + chacha20 green vs aioquic), smoke's only job — running
picoquic outside the runner — is unneeded, and the picoquic image
keeps changing its entrypoint / required args in ways that make smoke
finicky to maintain.

Removes:
  - make smoke / smoke-down targets
  - SMOKE_NET / SMOKE_PICOQUIC / SMOKE_CLIENT vars
  - SMOKE_MODE handling in run_endpoint.sh (just always tolerates
    /setup.sh failure now — same effect, less ceremony)
  - Plan doc note about make smoke updated to reflect removal.

If we ever need a non-runner bisector again, it's two `docker run`
commands; not worth permanent maintenance.

https://claude.ai/code/session_01HcvfQq1ttPV9PkRoJb4nyT
This commit is contained in:
Claude
2026-05-06 23:25:08 +00:00
parent 689fcdae96
commit a009dfc425
3 changed files with 17 additions and 54 deletions
+7 -42
View File
@@ -1,21 +1,16 @@
# Local iteration loop for the quic-interop-runner endpoint image.
#
# make build # compile JVM dist + build Docker image
# make smoke # quick handshake test against a local picoquic
# make smoke-down # tear down the smoke environment
# make image-name # print the image tag (for use in implementations_quic.json)
# make clean # nuke the dist + image
#
# These targets are deliberately thin wrappers the real harness is the
# `quic-interop-runner` repo (clone separately and register `amethyst` with
# image=amethyst-quic-interop:latest, role=client).
IMAGE ?= amethyst-quic-interop:latest
REPO_ROOT := $(shell git rev-parse --show-toplevel)
DIST_DIR := build/install/quic-interop
SMOKE_NET := amethyst-quic-interop-smoke-net
SMOKE_PICOQUIC := amethyst-quic-interop-smoke-picoquic
SMOKE_CLIENT := amethyst-quic-interop-smoke-client
# Real testing happens via the runner: clone quic-interop-runner separately
# and drive it with `quic/interop/run-matrix.sh -s <peer> -t <tests>`.
IMAGE ?= amethyst-quic-interop:latest
REPO_ROOT := $(shell git rev-parse --show-toplevel)
DIST_DIR := build/install/quic-interop
.PHONY: build dist docker smoke smoke-down image-name clean
.PHONY: build dist docker image-name clean
build: docker
@@ -25,36 +20,6 @@ dist:
docker: dist
cd $(REPO_ROOT) && docker build -t $(IMAGE) -f quic/interop/Dockerfile .
# Stand up picoquic + our endpoint on a private Docker bridge network. This
# avoids `--network host`, which on Docker Desktop for Mac is misleadingly
# *not* the Mac host's network — it's the LinuxKit VM's, and port forwarding
# trickery makes 127.0.0.1 unreliable.
#
# We pass the resolved IP directly rather than relying on Docker's embedded
# DNS — the base image (martenseemann/quic-network-simulator-endpoint) ships
# a /etc/resolv.conf primed for the runner's sim that breaks bridge-network
# name resolution from the JVM.
smoke: docker smoke-down
docker network create $(SMOKE_NET) >/dev/null 2>&1 || true
docker run -d --name $(SMOKE_PICOQUIC) \
--network $(SMOKE_NET) \
--entrypoint /picoquic/picoquicdemo \
privateoctopus/picoquic:latest -p 4433 >/dev/null
@PICOQUIC_IP=$$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(SMOKE_PICOQUIC)); \
echo "picoquic at $$PICOQUIC_IP:4433 (in $(SMOKE_NET))"; \
docker run --rm --name $(SMOKE_CLIENT) \
--network $(SMOKE_NET) \
-e SMOKE_MODE=1 \
-e ROLE=client \
-e TESTCASE=handshake \
-e REQUESTS="https://$$PICOQUIC_IP:4433/" \
$(IMAGE)
@$(MAKE) smoke-down
smoke-down:
@docker rm -f $(SMOKE_PICOQUIC) $(SMOKE_CLIENT) >/dev/null 2>&1 || true
@docker network rm $(SMOKE_NET) >/dev/null 2>&1 || true
image-name:
@echo $(IMAGE)