#!/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