]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0776: test_strftime may fail because of missing TZ data v9.1.0776
authorJames McCoy <jamessan@jamessan.com>
Sat, 12 Oct 2024 09:36:58 +0000 (11:36 +0200)
committerChristian Brabandt <cb@256bit.org>
Sat, 12 Oct 2024 09:36:58 +0000 (11:36 +0200)
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>
src/testdir/test_functions.vim
src/version.c

index 1021d050901c0f68f0d484c019dfc30c86c6495c..66b8876084c9693feae1abb3e1415de805cb16c8 100644 (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
index 01acbe71da52c526c0d7c71810b5c84256179644..5dbd50044f59baa85d717ede020bbfc7fe017815 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    776,
 /**/
     775,
 /**/