Report the number of received interleaved requests and current timestamp count with their span. Expand the serverstats description in chronyc man page.
180 lines
5.2 KiB
Bash
Executable file
180 lines
5.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
|
|
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" \
|
|
"cmddeny" \
|
|
"cmdallow" \
|
|
"cmddeny 1.2.3.4" \
|
|
"cmdallow 1.2.3.4" \
|
|
"add server 127.123.1.1" \
|
|
"delete 127.123.1.1" \
|
|
"burst 1/1" \
|
|
"cyclelogs" \
|
|
"dfreq 1.0e-3" \
|
|
"doffset -0.1" \
|
|
"dump" \
|
|
"offline" \
|
|
"local off" \
|
|
"local" \
|
|
"online" \
|
|
"onoffline" \
|
|
"maxdelay $server 1e-1" \
|
|
"maxdelaydevratio $server 5.0" \
|
|
"maxdelayratio $server 3.0" \
|
|
"maxpoll $server 12" \
|
|
"maxupdateskew $server 10.0" \
|
|
"minpoll $server 10" \
|
|
"minstratum $server 1" \
|
|
"polltarget $server 10" \
|
|
"refresh" \
|
|
"rekey" \
|
|
"reload sources" \
|
|
"reselect" \
|
|
"reselectdist 1e-3" \
|
|
"reset sources" \
|
|
"smoothtime reset" \
|
|
"smoothtime activate" \
|
|
; do
|
|
run_chronyc "$command" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
done
|
|
|
|
run_chronyc "accheck $server" || test_fail
|
|
check_chronyc_output "^208 Access allowed$" || test_fail
|
|
run_chronyc "accheck 1.2.3.4" || test_fail
|
|
check_chronyc_output "^209 Access denied$" || test_fail
|
|
|
|
run_chronyc "cmdaccheck 1.2.3.4" || test_fail
|
|
check_chronyc_output "^208 Access allowed$" || test_fail
|
|
|
|
run_chronyc "authdata" || test_fail
|
|
check_chronyc_output "^Name/IP address Mode KeyID Type KLen Last Atmp NAK Cook CLen
|
|
=========================================================================
|
|
127\.0\.0\.1 - 0 0 0 - 0 0 0 0$" \
|
|
|| test_chronyc
|
|
|
|
run_chronyc "clients" || test_fail
|
|
check_chronyc_output "^Hostname NTP Drop Int IntL Last Cmd Drop Int Last
|
|
===============================================================================
|
|
127\.0\.0\.1 [0-9 ]+ 0 [-0-9 ]+ - [ 0-9]+ 0 0 - -$" \
|
|
|| test_fail
|
|
|
|
run_chronyc "ntpdata $server" || test_fail
|
|
check_chronyc_output "^Remote address : 127\.0\.0\.1 \(7F000001\)
|
|
Remote port : [0-9]+
|
|
Local address : 127\.0\.0\.1 \(7F000001\)
|
|
Leap status : Normal
|
|
Version : 4
|
|
Mode : Server
|
|
Stratum : 10
|
|
Poll interval : (-6|[0-9]+) \([0-9]+ seconds\)
|
|
Precision : [0-9 +-]+ \(0\.[0-9]+ seconds\)
|
|
Root delay : 0\.000000 seconds
|
|
Root dispersion : 0\.000000 seconds
|
|
Reference ID : 7F7F0101 \(\)
|
|
Reference time : [A-Za-z0-9: ]+
|
|
Offset : [+-]0\.......... seconds
|
|
Peer delay : 0\.......... seconds
|
|
Peer dispersion : 0\.......... seconds
|
|
Response time : 0\.......... seconds
|
|
Jitter asymmetry: \+0\.00
|
|
NTP tests : 111 111 1110
|
|
Interleaved : No
|
|
Authenticated : No
|
|
TX timestamping : (Daemon|Kernel)
|
|
RX timestamping : (Daemon|Kernel)
|
|
Total TX : [0-9]+
|
|
Total RX : [0-9]+
|
|
Total valid RX : [0-9]+$" || test_fail
|
|
|
|
run_chronyc "selectdata" || test_fail
|
|
check_chronyc_output "^S Name/IP Address Auth COpts EOpts Last Score Interval Leap
|
|
=======================================================================
|
|
M 127\.0\.0\.1 N ----- ----- 0 1\.0 \+0ns \+0ns \?$" || test_fail
|
|
|
|
run_chronyc "serverstats" || test_fail
|
|
check_chronyc_output "^NTP packets received : [0-9]+
|
|
NTP packets dropped : 0
|
|
Command packets received : [0-9]+
|
|
Command packets dropped : 0
|
|
Client log records dropped : 0
|
|
NTS-KE connections accepted: 0
|
|
NTS-KE connections dropped : 0
|
|
Authenticated NTP packets : 0
|
|
Interleaved NTP packets : 0
|
|
NTP timestamps held : 0
|
|
NTP timestamp span : 0$"|| test_fail
|
|
|
|
run_chronyc "manual on" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
|
|
run_chronyc "settime now" || test_fail
|
|
check_chronyc_output "^200 OK
|
|
Clock was.*$" || test_fail
|
|
|
|
run_chronyc "manual delete 0" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
|
|
run_chronyc "settime now" || test_fail
|
|
check_chronyc_output "^200 OK
|
|
Clock was.*$" || test_fail
|
|
|
|
run_chronyc "manual list" || test_fail
|
|
check_chronyc_output "^210 n_samples = 1
|
|
# Date Time\(UTC\) Slewed Original Residual
|
|
=======================================================
|
|
0.*$" || test_fail
|
|
|
|
run_chronyc "manual reset" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
|
|
run_chronyc "manual off" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
|
|
run_chronyc "shutdown" || test_fail
|
|
check_chronyc_output "^200 OK$" || test_fail
|
|
|
|
stop_chronyd || test_fail
|
|
check_chronyd_messages || test_fail
|
|
start_chronyd || test_fail
|
|
|
|
run_chronyc "makestep" && test_fail
|
|
check_chronyc_output "500 Failure" || test_fail
|
|
|
|
run_chronyc "trimrtc" && test_fail
|
|
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
|