0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 9.1.0776: test_strftime may fail because of missing TZ data

Problem:  test_strftime may fail because of missing TZ data
Solution: Use GMT offsets to validate timezone differences (James McCoy)

Some systems only provide timezones that follow the geographical region
naming (e.g. America/New_York) by default and require an additional
install for other names (like EST).

The GMT+<offset> format must always be honored, so use that to generate
distinct data for the test.

closes: #15848

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
James McCoy
2024-10-12 11:36:58 +02:00
committed by Christian Brabandt
parent 59086a25c4
commit ea997edc7a
2 changed files with 8 additions and 6 deletions

View File

@@ -277,17 +277,17 @@ func Test_strftime()
let tz = $TZ
endif
" Force EST and then UTC, save the current hour (24-hour clock) for each
let $TZ = 'EST' | let est = strftime('%H')
let $TZ = 'UTC' | let utc = strftime('%H')
" Force different time zones, save the current hour (24-hour clock) for each
let $TZ = 'GMT+1' | let one = strftime('%H')
let $TZ = 'GMT+2' | let two = strftime('%H')
" Those hours should be two bytes long, and should not be the same; if they
" are, a tzset(3) call may have failed somewhere
call assert_equal(strlen(est), 2)
call assert_equal(strlen(utc), 2)
call assert_equal(strlen(one), 2)
call assert_equal(strlen(two), 2)
" TODO: this fails on MS-Windows
if has('unix')
call assert_notequal(est, utc)
call assert_notequal(one, two)
endif
" If we cached a timezone value, put it back, otherwise clear it

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
776,
/**/
775,
/**/