xref: /illumos-gate/usr/src/test/tz-tests/doc/README (revision 24a03f35583aede6d1aea859d90d76a3e6c2eb22)
1*24a03f35SRobert Mustacchi#
2*24a03f35SRobert Mustacchi# This file and its contents are supplied under the terms of the
3*24a03f35SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
4*24a03f35SRobert Mustacchi# You may only use this file in accordance with the terms of version
5*24a03f35SRobert Mustacchi# 1.0 of the CDDL.
6*24a03f35SRobert Mustacchi#
7*24a03f35SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
8*24a03f35SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
9*24a03f35SRobert Mustacchi# http://www.illumos.org/license/CDDL.
10*24a03f35SRobert Mustacchi#
11*24a03f35SRobert Mustacchi
12*24a03f35SRobert Mustacchi#
13*24a03f35SRobert Mustacchi# Copyright 2025 Oxide Computer Company
14*24a03f35SRobert Mustacchi#
15*24a03f35SRobert Mustacchi
16*24a03f35SRobert MustacchiTZ Code and Data Related Tests
17*24a03f35SRobert Mustacchi------------------------------
18*24a03f35SRobert Mustacchi
19*24a03f35SRobert MustacchiThis suite contains programs that are intended to help verify the
20*24a03f35SRobert Mustacchibehavior of code and data updates to time zone related information.
21*24a03f35SRobert MustacchiThe programs included here are not on their own sufficient to validate
22*24a03f35SRobert Mustacchiinformation, but should be useful when making updates and comparisons.
23*24a03f35SRobert Mustacchi
24*24a03f35SRobert MustacchiThe tzdata files that come from the upstream IANA source are kept in
25*24a03f35SRobert Mustacchi$SRC/data/zoneinfo. These data files are compiled by zic(8), a copy of
26*24a03f35SRobert Mustacchiwhich is kept in the tools build, and then installed into the proto area
27*24a03f35SRobert Mustacchiwhere it is consumed by:
28*24a03f35SRobert Mustacchi
29*24a03f35SRobert Mustacchi- libc's time implementation (e.g. localtime(3C))
30*24a03f35SRobert Mustacchi- libzoneinfo
31*24a03f35SRobert Mustacchi- various third party software
32*24a03f35SRobert Mustacchi
33*24a03f35SRobert MustacchiThe data format is standardized in various RFCs. As of 2025, the latest
34*24a03f35SRobert MustacchiRFC that documents the data format is RFC 9636.
35*24a03f35SRobert Mustacchi
36*24a03f35SRobert MustacchiWhen using these tests, we assume the only thing that is changing is the
37*24a03f35SRobert Mustacchitzcode files related to zic and zdump. Specifically, if you are changing
38*24a03f35SRobert Mustacchithe tzdata, then some bets are off. Most programs are designed to take
39*24a03f35SRobert Mustacchian output directory and write out information on a per timezone or
40*24a03f35SRobert Mustacchirelated structure basis. It is then up to the person using these tests
41*24a03f35SRobert Mustacchito compare old and new versions of these.
42*24a03f35SRobert Mustacchi
43*24a03f35SRobert MustacchiBecause of this construction, there is no runfile that is provided. All
44*24a03f35SRobert Mustacchiof the resultant files are installed in /opt/tz-tests/tests.
45*24a03f35SRobert Mustacchi
46*24a03f35SRobert MustacchiWe generally provide 32-bit and 64-bit variants of a subset of the
47*24a03f35SRobert Mustacchidumping programs to allow that to be chosen. When there is no specific
48*24a03f35SRobert Mustacchineed, we only provide a 64-bit program.
49*24a03f35SRobert Mustacchi
50*24a03f35SRobert MustacchiSome of these programs embed implementation details of how the data is
51*24a03f35SRobert Mustacchilaid out privately in libc. This may mean that changes to libc will
52*24a03f35SRobert Mustacchicause these programs to not work as expected.
53