diff --git a/test/system/007-cmdmon b/test/system/007-cmdmon index 37a1d34..870c551 100755 --- a/test/system/007-cmdmon +++ b/test/system/007-cmdmon @@ -7,6 +7,8 @@ test_start "chronyc commands" start_chronyd || test_fail wait_for_sync || test_fail +has_ipv6=$(check_chronyd_features IPV6 && ping6 -c 1 ::1 > /dev/null 2>&1 && echo 1 || echo 0) + for command in \ "allow 1.2.3.4" \ "deny 1.2.3.4" \ @@ -152,6 +154,24 @@ check_chronyc_output "513 RTC driver not running" || test_fail run_chronyc "writertc" && test_fail check_chronyc_output "513 RTC driver not running" || test_fail +chronyc_host=127.0.0.1 + +run_chronyc "tracking" || test_fail +check_chronyc_output "^Reference ID" || test_fail + +run_chronyc "makestep" && test_fail +check_chronyc_output "^501 Not authorised$" || test_fail + +if [ "$has_ipv6" = "1" ]; then + chronyc_host=::1 + + run_chronyc "tracking" || test_fail + check_chronyc_output "^Reference ID" || test_fail + + run_chronyc "makestep" && test_fail + check_chronyc_output "^501 Not authorised$" || test_fail +fi + stop_chronyd || test_fail test_pass diff --git a/test/system/test.common b/test/system/test.common index 905974b..8671649 100644 --- a/test/system/test.common +++ b/test/system/test.common @@ -328,9 +328,17 @@ check_chronyd_files() { # Run a chronyc command run_chronyc() { - test_message 1 0 "running chronyc $*" + local host=$chronyc_host options="-n -m" - $CHRONYC_WRAPPER "$chronyc" -h "$(get_cmdsocket)" -n -m "$@" > "$TEST_DIR/chronyc.out" && \ + test_message 1 0 "running chronyc $([ -n "$host" ] && echo "@$host ")$*" + + if [ -z "$host" ]; then + host="$(get_cmdsocket)" + else + options="$options -p $(grep cmdport "$(get_conffile)" | awk '{print $2}')" + fi + + $CHRONYC_WRAPPER "$chronyc" -h "$host" $options "$@" > "$TEST_DIR/chronyc.out" && \ test_ok || test_error }