#!/usr/bin/env bash

. ./test.common

test_start "filter option"

client_server_options="minpoll 4 maxpoll 4 filter 15 maxdelay 3.5e-4"
min_sync_time=710
max_sync_time=720
client_max_min_out_interval=16.1
client_min_mean_out_interval=15.9

run_test || test_fail
check_chronyd_exit || test_fail
check_source_selection && test_fail
check_packet_interval || test_fail
check_sync || test_fail

base_delay="(+ 1e-4 (* -1 (equal 0.3 (uniform) 0.0)))"
client_server_options="minpoll 4 maxpoll 4 filter 3"
min_sync_time=130

run_test || test_fail
check_chronyd_exit || test_fail
check_packet_interval || test_fail
check_sync || test_fail

limit=10
client_server_options="minpoll -6 maxpoll -6 filter 1"

base_delay=1e-4

run_test || test_fail
check_chronyd_exit || test_fail
check_file_messages "	2	1	" 590 640 log.packets || test_fail

base_delay=2e-2

run_test || test_fail
check_chronyd_exit || test_fail
check_file_messages "	2	1	" 9 10 log.packets || test_fail

test_pass
