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