chrony/test/simulation
Miroslav Lichvar 78b9c13a11 sources: replace unreachable sources before selection
The commit c43efccf02 ("sources: update source selection with
unreachable sources") caused a high rate of failures in the
148-replacement test (1 falseticker vs 2 unreachable sources). This was
due to a larger fraction of the replacement attempts being made for the
source incorrectly marked as a falseticker instead of the second
unreachable source and the random process needed more time to get to the
expected state with both unreachable sources replaced.

When updating reachability of an unreachable source, try to request the
replacement of the source before calling the source selection, where
other sources may be replaced, to better balance the different
replacement attempts.
2024-08-29 09:37:42 +02:00
..
001-defaults test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
002-largenetwork test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
003-largefreqoffset test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
004-largetimeoffset test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
005-externalstep test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
006-largejitter test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
007-largewander test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
008-ntpera ntp: limit offset correction to supported NTP interval 2024-05-02 14:43:51 +02:00
009-sourceselection test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
010-multrecv test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
011-asymjitter test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
012-daemonts test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
013-nameserv test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
101-poll test: extend 101-poll and 127-filter tests 2022-07-21 15:33:35 +02:00
102-iburst test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
103-initstepslew test: extend 103-initstepslew test 2021-04-07 16:55:38 +02:00
104-driftfile test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
105-ntpauth test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
106-refclock test: update description of 106-refclock 2023-03-02 15:34:03 +01:00
107-allowdeny test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
108-peer test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
109-makestep test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
110-chronyc test: add tests of local directive options 2024-04-04 16:24:02 +02:00
111-knownclient test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
112-port test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
113-leapsecond test: improve 113-leapsecond and 124-tai tests 2024-02-08 15:54:24 +01:00
114-presend ntp: fix presend in interleaved mode 2023-11-21 12:38:41 +01:00
115-cmdmontime test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
116-minsources test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
117-fallbackdrift test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
118-maxdelay sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
119-smoothtime sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
120-selectoptions test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
121-local test: add tests of local directive options 2024-04-04 16:24:02 +02:00
122-xleave sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
123-mindelay test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
124-tai test: make 124-tai more reliable 2024-06-04 16:25:55 +02:00
125-packetloss test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
126-burst sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
127-filter sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
128-nocontrol test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
129-reload test: extend 129-reload test 2021-04-22 10:20:31 +02:00
130-quit test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
131-maxchange test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
132-logchange test: make 132-logchange more reliable 2023-07-18 15:16:03 +02:00
133-hwtimestamp ntp: add maximum PHC poll interval 2023-03-22 09:13:53 +01:00
134-log sources: add selection log 2022-05-19 08:23:05 +02:00
135-ratelimit ntp: add server support for KoD RATE 2024-04-02 15:39:12 +02:00
136-broadcast test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
137-pool sources: delay source replacement 2023-06-15 14:23:47 +02:00
138-syncloop test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
139-nts test: make 139-nts more reliable 2023-08-08 17:11:46 +02:00
140-noclientlog test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
141-copy ntp: add copy option 2021-04-15 15:17:13 +02:00
142-ntpoverptp test: fix 142-ntpoverptp 2024-06-20 15:10:42 +02:00
143-manual test: add 143-manual test 2021-09-23 14:48:59 +02:00
144-monoroot sources: allow logging one selection failure on start 2024-05-02 12:51:38 +02:00
145-rtc test: add 145-rtc test 2023-04-13 16:22:50 +02:00
146-offline test: add 146-offline test 2023-04-18 11:39:27 +02:00
147-refresh ntp: refresh IP addresses periodically 2023-06-21 11:28:42 +02:00
148-replacement sources: replace unreachable sources before selection 2024-08-29 09:37:42 +02:00
201-freqaccumulation test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
202-prefer test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
203-initreload conf: don't load sourcedir during initstepslew and RTC init 2024-03-12 14:57:30 +01:00
README test: don't download files in tests 2016-02-05 15:20:40 +01:00
run test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
test.common ntp: add client support for network correction 2023-09-26 15:14:13 +02:00

This is a collection of simulation tests using the clknetsim simulator
(supported on Linux only).

https://github.com/mlichvar/clknetsim

The CLKNETSIM_PATH environment variable should point to the directory where
clknetsim was downloaded and compiled. If the variable is not set, the tests
will look for clknetsim in ./clknetsim in the current directory.

The tests are written in bash and they can be run directly. The ./run script
runs all tests.