commit 3e54c985a25719814c27912ee1c116ecfb5854c1
parent 704540fe461dcd4f72f360334a6f2ab6a5d80e38
Author: Jim Newsome <jnewsome@torproject.org>
Date: Thu, 14 Nov 2024 18:38:22 -0600
test-network: include IPv6 tests unconditionally
Previously we would incorrectly detect that ipv6 isn't supported if the
ping binary isn't present (as it may not be in a relatively stripped
down container image), or if ICMP packets aren't permitted (as they
often aren't in containers).
We don't really have a need to run these network tests on non-IPv6
systems, so it makes more sense to just run them unconditionally.
Diffstat:
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/Makefile.am b/Makefile.am
@@ -380,10 +380,9 @@ test-network-clean:
#
# Run the IPv4 tests in $(ipv4_flavors), unconditionally
# - tor relays and directory authorities require IPv4.
-# Run the IPv6 tests in $(ipv6_flavors), if IPv6 is available
-# - only run IPv6 tests if we can ping6 or ping -6 ::1 (localhost)
-# we try the syntax for BSD ping6, Linux ping6, and Linux ping -6,
-# because they're incompatible
+# Run the IPv6 tests in $(ipv6_flavors), unconditionally
+# - clients don't technically require IPv6, but it's not worth
+# supporting running this test suite on such systems.
# - some IPv6 tests may fail without an IPv6 DNS server
# (see #16971 and #17011)
# Run the mixed tests in $(mixed_flavors), if a tor-stable binary is available
@@ -403,20 +402,14 @@ test-network-run: need-chutney-path test-driver $(TESTING_TOR_BINARY) src/tools/
test_network_ipv6=false; \
if test -n "$(ipv6_flavors)" || \
test -n "$(ipv6_mixed_flavors)"; then \
- if ping6 -q -c 1 -o ::1 >/dev/null 2>&1 || \
- ping6 -q -c 1 -W 1 ::1 >/dev/null 2>&1 || \
- ping -6 -c 1 -W 1 ::1 >/dev/null 2>&1; then \
- test_network_ipv6=true; \
- fi; \
+ test_network_ipv6=true; \
fi; \
if test -n "$(ipv6_flavors)"; then \
if test "$$test_network_ipv6" = "true"; then \
- echo "ping6 ::1 or ping ::1 succeeded, running IPv6" \
- "flavors: $(ipv6_flavors)."; \
+ echo "Running IPv6 flavors: $(ipv6_flavors)."; \
flavors="$$flavors $(ipv6_flavors)"; \
else \
- echo "ping6 ::1 and ping ::1 failed, skipping IPv6" \
- "flavors: $(ipv6_flavors)."; \
+ echo "Skipping IPv6 flavors: $(ipv6_flavors)."; \
skip_flavors="$$skip_flavors $(ipv6_flavors)"; \
fi; \
fi; \
diff --git a/changes/testing b/changes/testing
@@ -0,0 +1,3 @@
+ o Minor feature (testing):
+ - test-network now unconditionally includes IPv6 instead of trying to
+ detect IPv6 support.