xref: /illumos-gate/usr/src/test/tz-tests/tests/tzname_17947.ksh (revision d35c3d74c35b26ba5829798f51a44ce4d80d091b)
1*d35c3d74SRobert Mustacchi#!/usr/bin/ksh
2*d35c3d74SRobert Mustacchi#
3*d35c3d74SRobert Mustacchi# This file and its contents are supplied under the terms of the
4*d35c3d74SRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
5*d35c3d74SRobert Mustacchi# You may only use this file in accordance with the terms of version
6*d35c3d74SRobert Mustacchi# 1.0 of the CDDL.
7*d35c3d74SRobert Mustacchi#
8*d35c3d74SRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
9*d35c3d74SRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
10*d35c3d74SRobert Mustacchi# http://www.illumos.org/license/CDDL.
11*d35c3d74SRobert Mustacchi#
12*d35c3d74SRobert Mustacchi
13*d35c3d74SRobert Mustacchi#
14*d35c3d74SRobert Mustacchi# Copyright 2025 Oxide Computer Company
15*d35c3d74SRobert Mustacchi#
16*d35c3d74SRobert Mustacchi
17*d35c3d74SRobert Mustacchi#
18*d35c3d74SRobert Mustacchi# This test serves as a basic regression test for #17947 where we were
19*d35c3d74SRobert Mustacchi# incorrectly determining the value of tzname[] for various POSIX-style
20*d35c3d74SRobert Mustacchi# timezones due to how we had updated the data and incorrect assumptions made
21*d35c3d74SRobert Mustacchi# around indexes that were thrown off with the addition of LMT.
22*d35c3d74SRobert Mustacchi#
23*d35c3d74SRobert Mustacchi
24*d35c3d74SRobert Mustacchiunalias -a
25*d35c3d74SRobert Mustacchiset -o pipefail
26*d35c3d74SRobert Mustacchiexport LANG=C.UTF-8
27*d35c3d74SRobert Mustacchi
28*d35c3d74SRobert Mustacchitz_dir=$(dirname $0)
29*d35c3d74SRobert Mustacchitz_n32="$tz_dir/tznames.32"
30*d35c3d74SRobert Mustacchitz_n64="$tz_dir/tznames.64"
31*d35c3d74SRobert Mustacchitz_exit=0
32*d35c3d74SRobert Mustacchi
33*d35c3d74SRobert Mustacchi#
34*d35c3d74SRobert Mustacchi# When there is no DST style time zone, then the following empty string is used.
35*d35c3d74SRobert Mustacchi#
36*d35c3d74SRobert Mustacchitz_none="   "
37*d35c3d74SRobert Mustacchi
38*d35c3d74SRobert Mustacchitest_one()
39*d35c3d74SRobert Mustacchi{
40*d35c3d74SRobert Mustacchi	if ! $tz_n32 "$1" "$2" "$3"; then
41*d35c3d74SRobert Mustacchi		tz_exit=1
42*d35c3d74SRobert Mustacchi	fi
43*d35c3d74SRobert Mustacchi
44*d35c3d74SRobert Mustacchi	if ! $tz_n64 "$1" "$2" "$3"; then
45*d35c3d74SRobert Mustacchi		tz_exit=1
46*d35c3d74SRobert Mustacchi	fi
47*d35c3d74SRobert Mustacchi}
48*d35c3d74SRobert Mustacchi
49*d35c3d74SRobert Mustacchitest_one UTC UTC "$tz_none"
50*d35c3d74SRobert Mustacchitest_one UTC0UTC UTC UTC
51*d35c3d74SRobert Mustacchitest_one GMT0GMT GMT GMT
52*d35c3d74SRobert Mustacchitest_one FOO0BAR FOO BAR
53*d35c3d74SRobert Mustacchitest_one America/New_York EST EDT
54*d35c3d74SRobert Mustacchitest_one CET0 CET "$tz_none"
55*d35c3d74SRobert Mustacchitest_one CET0CET CET CET
56*d35c3d74SRobert Mustacchitest_one CET0CEST CET CEST
57*d35c3d74SRobert Mustacchitest_one Asia/Tokyo JST JDT
58*d35c3d74SRobert Mustacchitest_one Europe/Rome CET CEST
59*d35c3d74SRobert Mustacchitest_one Australia/Brisbane AEST AEDT
60*d35c3d74SRobert Mustacchi
61*d35c3d74SRobert Mustacchiif (( tz_exit == 0 )); then
62*d35c3d74SRobert Mustacchi	printf "All tests passed successfully!\n"
63*d35c3d74SRobert Mustacchifi
64*d35c3d74SRobert Mustacchi
65*d35c3d74SRobert Mustacchiexit $tz_exit
66