summaryrefslogtreecommitdiffstats
path: root/test/simulation/101-poll
blob: 1416b22825e8ab8480e34b9ae76aca12b985b65e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env bash

. ./test.common
test_start "minpoll/maxpoll options"

wander=0.0
jitter=1e-6

time_max_limit=1e-5
freq_max_limit=1e-5
time_rms_limit=5e-6
freq_rms_limit=5e-6
client_conf="makestep 1e-2 1"

for poll in $(seq 1 14); do
	client_server_options="minpoll $poll maxpoll $poll"
	limit=$[2**$poll * 10]
	min_sync_time=$[2**$poll * 2]
	max_sync_time=$[2**$poll * 21 / 10 + 1]
	client_max_min_out_interval=$(awk "BEGIN {print 2^$poll * 1.1}")
	client_min_mean_out_interval=$(awk "BEGIN {print 2^$poll * 0.99}")

	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_packet_interval || test_fail
	check_sync || test_fail
done

min_sync_time=$default_min_sync_time
max_sync_time=$default_max_sync_time
client_max_min_out_interval=$default_client_max_min_out_interval
client_min_mean_out_interval=$default_client_min_mean_out_interval

limit=10

for poll in $(seq -7 2 -1); do
	client_server_options="minpoll $poll maxpoll $poll"

	base_delay=1e-4

	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_file_messages "	2	1	" \
		$[2**-poll * limit * 9 / 10] $[2**-poll * limit] log.packets || test_fail

	base_delay=2e-2

	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_file_messages "	2	1	" $[limit * 9 / 10] $limit log.packets || test_fail
done

test_pass