]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: add IPv6 simulation tests
authorMiroslav Lichvar <mlichvar@redhat.com>
Wed, 30 Apr 2025 09:50:15 +0000 (11:50 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Wed, 30 Apr 2025 13:00:24 +0000 (15:00 +0200)
test/simulation/015-ipv6 [new file with mode: 0755]
test/simulation/108-peer
test/simulation/133-hwtimestamp
test/simulation/139-nts
test/simulation/test.common

diff --git a/test/simulation/015-ipv6 b/test/simulation/015-ipv6
new file mode 100755 (executable)
index 0000000..bca008d
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+. ./test.common
+
+test_start "IPv6 addressing"
+
+ip_family=6
+
+run_test || test_fail
+check_chronyd_exit || test_fail
+check_source_selection || test_fail
+check_packet_interval || test_fail
+check_sync || test_fail
+
+test_pass
index 2c914e12d9f32284e720e35c473061f0bc43ffed..d8137ffc18863f82b8ac3e23ab228ba451c24315 100755 (executable)
@@ -31,6 +31,17 @@ check_chronyd_exit || test_fail
 check_source_selection || test_fail
 check_sync || test_fail
 
+if check_config_h 'FEAT_IPV6 1'; then
+       ip_family=6
+
+       run_test || test_fail
+       check_chronyd_exit || test_fail
+       check_source_selection || test_fail
+       check_sync || test_fail
+
+       ip_family=$default_ip_family
+fi
+
 freq_max_limit=$default_freq_max_limit
 base_delay="(+ 1e-4 (* -1 (equal 0.1 from 3) (equal 0.1 to 1)))"
 client_peer_options=""
index f02a010cfe00359b75c4140262c836f2aaf810d3..882dbf0597b136d4b7eaaf5a9ccff8e596d410f4 100755 (executable)
@@ -58,6 +58,21 @@ for client_conf in \
        fi
 done
 
+if check_config_h 'FEAT_IPV6 1'; then
+       server_chronyd_options="-6"
+       client_chronyd_options="-6"
+       ip_family=6
+
+       run_test || test_fail
+       check_chronyd_exit || test_fail
+       check_source_selection || test_fail
+       check_sync || test_fail
+
+       server_chronyd_options=$default_server_chronyd_options
+       client_chronyd_options="-d"
+       ip_family=$default_ip_family
+fi
+
 server_conf+="
 server 192.168.123.2 minpoll 1 maxpoll 1 noselect"
 
index 27689b86290bd17c46c4a1a13ff4735e316461d4..773f885ad1f52feda5681218633bc188a30caf08 100755 (executable)
@@ -56,6 +56,20 @@ check_file_messages "        2       1       .*      4460    " 260 300 log.packets || test_fail
 check_file_messages "." 6 6 ntskeys || test_fail
 rm -f tmp/measurements.log
 
+if check_config_h 'FEAT_IPV6 1'; then
+       ip_family=6
+
+       run_test || test_fail
+       check_chronyd_exit || test_fail
+       check_source_selection || test_fail
+       check_sync || test_fail
+
+       check_file_messages "   2       1       .*      4460    " 260 300 log.packets || test_fail
+       check_file_messages "." 6 6 ntskeys || test_fail
+
+       ip_family=$default_ip_family
+fi
+
 client_conf+="
 ntsrefresh 120
 ntsdumpdir tmp"
index ec39a7ccfd134c7cc66946c303f14ba484311613..e5ab4a4cce4e64255413c345492f7e714b3dc60a 100644 (file)
@@ -78,6 +78,7 @@ default_max_sync_time=210
 default_client_min_mean_out_interval=0.0
 default_client_max_min_out_interval=inf
 
+default_ip_family=4
 default_cmdmon_unix=1
 default_pcap_dumps=0
 default_dns=0
@@ -190,6 +191,8 @@ get_node_name() {
 
        if [ $dns -ne 0 ]; then
                echo "node$index.net1.clk"
+       elif [ $ip_family -eq 6 ]; then
+               printf "fc00::123:%x" $index
        else
                echo "192.168.123.$index"
        fi
@@ -472,6 +475,7 @@ run_test() {
        nodes=$(get_chronyd_nodes)
        [ -n "$chronyc_conf" ] && nodes=$[$nodes + $clients]
 
+       export CLKNETSIM_IP_FAMILY=$ip_family
        export CLKNETSIM_UNIX_SUBNET=$[$cmdmon_unix != 0 ? 2 : 0]
 
        for i in $(seq 1 $nodes); do