summaryrefslogtreecommitdiffstats
path: root/test/simulation/120-selectoptions
blob: 611815eaefe1eda0714c0cd2d85764b09e190058 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/env bash

. ./test.common

test_start "source selection options"

servers=3
falsetickers=2

base_delay=0.6
client_server_conf="
server 192.168.123.1
server 192.168.123.2
server 192.168.123.3 trust"

run_test || test_fail
check_chronyd_exit || test_fail
check_source_selection || test_fail
check_sync || test_fail

client_server_conf="
server 192.168.123.1
server 192.168.123.2
server 192.168.123.3 prefer"

run_test || test_fail
check_chronyd_exit || test_fail
check_source_selection || test_fail
# This check is expected to fail
check_sync && test_fail

base_delay=1.1

run_test || test_fail
check_chronyd_exit || test_fail
check_source_selection || test_fail
check_sync || test_fail

base_delay=1e-3
falsetickers=1

client_server_conf="
server 192.168.123.1
server 192.168.123.2
server 192.168.123.3 require"

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

client_server_conf="
server 192.168.123.1 require
server 192.168.123.2
server 192.168.123.3"

run_test || test_fail
check_chronyd_exit || test_fail
check_packet_interval || test_fail
# These checks are expected to fail
check_source_selection && test_fail
check_sync && test_fail

cat > tmp/keys <<-EOF
1 MD5 HEX:1B81CBF88D4A73F2E8CE59647F6E5C1719B6CAF5
EOF

server_conf="keyfile tmp/keys"
client_server_conf="
server 192.168.123.1 key 1
server 192.168.123.2
server 192.168.123.3"

for authselectmode in require prefer mix ignore; do
	client_conf="keyfile tmp/keys
		     authselectmode $authselectmode"
	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_packet_interval || test_fail
	if [ $authselectmode = ignore ]; then
		check_sync || test_fail
	else
		check_sync && test_fail
	fi
done

test_pass