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 2025 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. 21The programs included here are not on their own sufficient to validate 22information, but should be useful when making updates and comparisons. 23 24The tzdata files that come from the upstream IANA source are kept in 25$SRC/data/zoneinfo. These data files are compiled by zic(8), a copy of 26which is kept in the tools build, and then installed into the proto area 27where it is consumed by: 28 29- libc's time implementation (e.g. localtime(3C)) 30- libzoneinfo 31- various third party software 32 33The data format is standardized in various RFCs. As of 2025, the latest 34RFC that documents the data format is RFC 9636. 35 36When using these tests, we assume the only thing that is changing is the 37tzcode files related to zic and zdump. Specifically, if you are changing 38the tzdata, then some bets are off. Most programs are designed to take 39an output directory and write out information on a per timezone or 40related structure basis. It is then up to the person using these tests 41to compare old and new versions of these. 42 43Because of this construction, there is no runfile that is provided. All 44of the resultant files are installed in /opt/tz-tests/tests. 45 46We generally provide 32-bit and 64-bit variants of a subset of the 47dumping programs to allow that to be chosen. When there is no specific 48need, we only provide a 64-bit program. 49 50Some of these programs embed implementation details of how the data is 51laid out privately in libc. This may mean that changes to libc will 52cause these programs to not work as expected. 53