diff --git a/perf/images.yaml b/perf/images.yaml index 7d266d4..20ca379 100644 --- a/perf/images.yaml +++ b/perf/images.yaml @@ -9,7 +9,9 @@ test-aliases: - alias: "none" value: "!~all" - alias: "images" - value: "dotnet-v1.0|go-v0.45|js-v3.x|rust-v0.56" + value: "dotnet-v1.0|go-v0.45|js-v3.x|python-v0.x|rust-v0.56" + - alias: "python" + value: "python-v0.x" - alias: "baselines" value: "https|quic-go|iperf" - alias: "go" @@ -98,3 +100,22 @@ implementations: secureChannels: [noise, tls] muxers: [yamux] + - id: python-v0.x + source: + type: github + repo: libp2p/py-libp2p + commit: ca470efdaf4df982d4e3844d86a515eb18efca7a + dockerfile: interop/perf/Dockerfile + transports: [tcp, ws] + secureChannels: [noise, tls] + muxers: [yamux, mplex] + # Local python config (same Dockerfile; context = repo root = images/python/0.x/py-libp2p) + #- id: python-v0.x + # source: + # type: local + # path: images/python/0.x/py-libp2p + # dockerfile: interop/perf/Dockerfile + # transports: [quic-v1, tcp, ws] + # transports: [tcp, ws] + # secureChannels: [noise, tls] + # muxers: [yamux, mplex] diff --git a/perf/lib/run-single-test.sh b/perf/lib/run-single-test.sh index 5c98af9..6b61415 100755 --- a/perf/lib/run-single-test.sh +++ b/perf/lib/run-single-test.sh @@ -61,9 +61,16 @@ TEST_SLUG=$(echo "${TEST_NAME}" | sed 's/[^a-zA-Z0-9-]/_/g') LOG_FILE="${TEST_PASS_DIR}/logs/${TEST_SLUG}.log" > "${LOG_FILE}" +# Use unique compose project/container names per test pass to avoid stale +# docker compose state collisions when rerunning the same test selection. +RUN_KEY=$(compute_test_key "${TEST_PASS_NAME}-${TEST_NAME}") +COMPOSE_PROJECT_NAME="${TEST_SLUG}_${RUN_KEY}" +CONTAINER_PREFIX="${COMPOSE_PROJECT_NAME}" + print_debug "test key: ${TEST_KEY}" print_debug "test slug: ${TEST_SLUG}" print_debug "log file: ${LOG_FILE}" +print_debug "compose project: ${COMPOSE_PROJECT_NAME}" log_message "[$((${TEST_INDEX} + 1))] ${TEST_NAME} (key: ${TEST_KEY})" @@ -114,7 +121,7 @@ fi if [ "${IS_LEGACY_TEST}" == "true" ]; then # Legacy test: external shared network + Redis proxy service cat > "${COMPOSE_FILE}" < "${COMPOSE_FILE}" <