From b0ddc1783ad7bce8788c08341a90640d8fb557cb Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 13 Oct 2024 06:30:20 +0800 Subject: vim-patch:9.1.0776: test_strftime may fail because of missing TZ data (#30780) 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+ format must always be honored, so use that to generate distinct data for the test. closes: vim/vim#15848 https://github.com/vim/vim/commit/ea997edc7aaa5bc1d645b57b6700e0b30c07acbd Co-authored-by: James McCoy --- test/old/testdir/test_functions.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/old/testdir/test_functions.vim b/test/old/testdir/test_functions.vim index ffe7f3fb39..143fdc8073 100644 --- a/test/old/testdir/test_functions.vim +++ b/test/old/testdir/test_functions.vim @@ -272,17 +272,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 -- cgit