| #!/usr/bin/env bash |
| |
| . ./test.common |
| test_start "interleaved mode" |
| |
| client_server_options="xleave" |
| client_conf=" |
| logdir tmp |
| log rawmeasurements" |
| |
| server_conf="noclientlog" |
| |
| run_test || test_fail |
| check_chronyd_exit || test_fail |
| check_source_selection || test_fail |
| check_sync || test_fail |
| |
| check_file_messages "111 111 1111.* 4I [DKH] [DKH]\$" 0 0 measurements.log || test_fail |
| rm -f tmp/measurements.log |
| |
| server_conf="" |
| |
| run_test || test_fail |
| check_chronyd_exit || test_fail |
| check_source_selection || test_fail |
| check_packet_interval || test_fail |
| check_sync || test_fail |
| |
| check_file_messages "111 111 1111.* 4B [DKH] [DKH]\$" 2 2 measurements.log || test_fail |
| check_file_messages "111 111 1111.* 4I [DKH] [DKH]\$" 30 200 measurements.log || test_fail |
| rm -f tmp/measurements.log |
| |
| clients=2 |
| peers=2 |
| max_sync_time=500 |
| base_delay="(+ 1e-4 (* -1 (equal 0.1 from 2) (equal 0.1 to 1)))" |
| |
| client_lpeer_options="xleave minpoll 5 maxpoll 5" |
| client_rpeer_options="minpoll 5 maxpoll 5" |
| |
| run_test || test_fail |
| check_chronyd_exit || test_fail |
| # These checks are expected to fail |
| check_source_selection && test_fail |
| check_sync && test_fail |
| |
| rm -f tmp/measurements.log |
| |
| for rpoll in 4 5 6; do |
| client_rpeer_options="xleave minpoll $rpoll maxpoll $rpoll" |
| |
| run_test || test_fail |
| check_chronyd_exit || test_fail |
| check_source_selection || test_fail |
| check_sync || test_fail |
| |
| if [ $rpoll -le 5 ]; then |
| check_file_messages "111 111 1111.* 1B [DKH] [DKH]\$" 0 0 measurements.log || test_fail |
| check_file_messages "111 111 1111.* 1I [DKH] [DKH]\$" 200 310 measurements.log || test_fail |
| else |
| check_file_messages "111 111 1111.* 1B [DKH] [DKH]\$" 125 135 measurements.log || test_fail |
| check_file_messages "111 111 1111.* 1I [DKH] [DKH]\$" 20 30 measurements.log || test_fail |
| fi |
| rm -f tmp/measurements.log |
| done |
| |
| if check_config_h 'FEAT_CMDMON 1'; then |
| # test client timestamp selection and server timestamp correction |
| base_delay="(+ 1.25e-6 (* -1 (equal 0.1 from 5)))" |
| jitter=1e-9 |
| wander=1e-12 |
| client_lpeer_options="xleave minpoll 5 maxpoll 5 noselect" |
| client_rpeer_options="xleave minpoll 5 maxpoll 5 noselect" |
| chronyc_conf="doffset -0.1" |
| chronyc_start=7200 |
| |
| run_test || test_fail |
| check_chronyd_exit || test_fail |
| check_source_selection || test_fail |
| check_sync && test_fail |
| |
| check_file_messages "\.2 N 2 111 111 .... 5 5 .\... ..\....e-.. 2\....e-06" \ |
| 290 310 measurements.log || test_fail |
| check_file_messages "\.2 N 2 111 111 .... 5 5 .\... ..\....e-.. .\....e-0[0123]" \ |
| 0 0 measurements.log || test_fail |
| rm -f tmp/measurements.log |
| fi |
| |
| test_pass |