README
1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source. A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2026 Oxide Computer Company
14#
15
16TZ Code and Data Related Tests
17------------------------------
18
19This suite contains programs that are intended to help verify the
20behavior of code and data updates to time zone related information.
21There are two different groups of tests:
22
231. Tests that are basic regression tests that are driven by a runfile.
24For this group of tests run XXX.
25
262. Tests that provide information about the implementation of the time
27zone processing which are not on their own sufficient to validate
28information, but should be useful when making updates and comparisons.
29
30The tzdata files that come from the upstream IANA source are kept in
31$SRC/data/zoneinfo. These data files are compiled by zic(8), a copy of
32which is kept in the tools build, and then installed into the proto area
33where it is consumed by:
34
35- libc's time implementation (e.g. localtime(3C))
36- libzoneinfo
37- various third party software
38
39The data format is standardized in various RFCs. As of 2025, the latest
40RFC that documents the data format is RFC 9636.
41
42When using these tests, we assume the only thing that is changing is the
43tzcode files related to zic and zdump. Specifically, if you are changing
44the tzdata, then some bets are off. Most programs are designed to take
45an output directory and write out information on a per timezone or
46related structure basis. It is then up to the person using these tests
47to compare old and new versions of these.
48
49We generally provide 32-bit and 64-bit variants of a subset of the
50dumping programs to allow that to be chosen. When there is no specific
51need, we only provide a 64-bit program.
52
53Some of these programs embed implementation details of how the data is
54laid out privately in libc. This may mean that changes to libc will
55cause these programs to not work as expected.
56