chrony/test/simulation
Miroslav Lichvar 12237bf283 refclock: stop requiring 4 samples in median filter
Reduce the minimum number of samples required by the filter from
min(4, length) to 1.

This makes the filtering less confusing. The sample lifetime is limited
to one poll and the default filtering of the SOCK refclock (where the
maximum number of samples per poll is unknown) is identical to the other
refclocks.

A concern with potential variability in number of samples per poll below
4 is switching between different calculations of dispersion in
combine_selected_samples() in samplefilt.c.

The 106-refclock test shows how the order of refclocks in the config can
impact the first filtered sample and selection. If the PPS refclock
follows SHM, a single low-quality PPS sample is accepted in the same
poll where SHM is selected and the initial clock correction started,
which causes larger skew later and delays the first selection of the PPS
refclock.
2024-11-05 16:03:40 +01: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 refclock: stop requiring 4 samples in median filter 2024-11-05 16:03:40 +01:00
107-allowdeny test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
108-peer test: make 108-peer more reliable 2024-08-29 09:37:50 +02:00
109-makestep test: use env shebang in all bash scripts 2021-03-04 12:36:36 +01:00
110-chronyc test: make 110-chronyc more reliable 2024-08-29 09:37:50 +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 nts: make server and client AEAD algorithms configurable 2024-10-03 16:09:53 +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.