From 2575639212f76beb9a2f85adbd7a9ed22ba2e551 Mon Sep 17 00:00:00 2001 From: Anhad Singh Date: Tue, 9 Dec 2025 01:18:32 +1100 Subject: [PATCH] fix(tests/time): explictly set timezone instead of assuming --- tests/time/localtime_r.c | 12 ++++++++++++ tests/time/timegm.c | 3 +++ 2 files changed, 15 insertions(+) diff --git a/tests/time/localtime_r.c b/tests/time/localtime_r.c index 3d96f23a94..a874daee1e 100644 --- a/tests/time/localtime_r.c +++ b/tests/time/localtime_r.c @@ -7,6 +7,9 @@ void test_localtime_r_epoch() { time_t t = 0; // Unix epoch (1970-01-01 00:00:00) struct tm result; + setenv("TZ", "UTC", 1); + tzset(); + assert(localtime_r(&t, &result) != NULL); assert(result.tm_year == 70); // Year 1970 - 1900 assert(result.tm_mon == 0); // January @@ -22,6 +25,9 @@ void test_localtime_r_non_epoch() { time_t t = 1609459200; // January 1, 2021 00:00:00 UTC (New Year 2021) struct tm result; + setenv("TZ", "UTC", 1); + tzset(); + assert(localtime_r(&t, &result) != NULL); assert(result.tm_year == 121); // Year 2021 - 1900 assert(result.tm_mon == 0); // January @@ -35,6 +41,9 @@ void test_localtime_r_dst() { time_t t = 1615708800; // March 14 2021 08:00:00 UTC struct tm result; + setenv("TZ", "UTC", 1); + tzset(); + assert(localtime_r(&t, &result) != NULL); // Ensure localtime_r does not fail assert(result.tm_year == 121); // Year 2021 - 1900 assert(result.tm_mon == 2); // March @@ -48,6 +57,9 @@ void test_localtime_r_large_time() { time_t t = 32503680000; // A large value: 1 January 3000 (UTC) struct tm result; + setenv("TZ", "UTC", 1); + tzset(); + assert(localtime_r(&t, &result) != NULL); // Ensure localtime_r does not fail assert(result.tm_year == 1100); // Year 3000 - 1900 = 1100 assert(result.tm_mon == 0); // January diff --git a/tests/time/timegm.c b/tests/time/timegm.c index 96fed8e877..9fbfa89fac 100644 --- a/tests/time/timegm.c +++ b/tests/time/timegm.c @@ -4,6 +4,9 @@ #include int main(void) { + setenv("TZ", "UTC", 1); + tzset(); + struct { time_t timestamp; const char *expected_asctime;