]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
test-network: include IPv6 tests unconditionally
authorJim Newsome <jnewsome@torproject.org>
Fri, 15 Nov 2024 00:38:22 +0000 (18:38 -0600)
committerJim Newsome <jnewsome@torproject.org>
Tue, 19 Nov 2024 15:25:35 +0000 (09:25 -0600)
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.

Makefile.am
changes/testing [new file with mode: 0644]

index 7567ca99c75f067d65c726345cb3f37f7e0f2e5b..c475ee3a17c5bfafa66d2280036b267aea061919 100644 (file)
@@ -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
new file mode 100644 (file)
index 0000000..744a784
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor feature (testing):
+    - test-network now unconditionally includes IPv6 instead of trying to
+      detect IPv6 support.