Mercurial > vim
changeset 36292:d00bef33012d draft v9.1.0776
patch 9.1.0776: test_strftime may fail because of missing TZ data
Commit: https://github.com/vim/vim/commit/ea997edc7aaa5bc1d645b57b6700e0b30c07acbd
Author: James McCoy <jamessan@jamessan.com>
Date: Sat Oct 12 11:36:58 2024 +0200
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 12 Oct 2024 11:45:05 +0200 |
parents | faf965c71e81 |
children | e16a9bbf2256 |
files | src/testdir/test_functions.vim src/version.c |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -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