From b738e119f245d86f658165fd1e1650db2cf87dfc Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Sun, 7 Nov 2021 10:32:17 -0500 Subject: [PATCH] test_time.c: Tolerate DST transitions When test_timezone_watch runs very near a DST transition, two time zones that would otherwise be expected to report the same time can differ because of the DST transition. Instead of having the test fail when this happens, report the times, time zones, and dst flags. ASTERISK-29722 Change-Id: Id59bdac8b277e14343ccdf0c99b89e92f79f316a --- tests/test_time.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/test_time.c b/tests/test_time.c index ceb2ae2a53..7c033816a4 100644 --- a/tests/test_time.c +++ b/tests/test_time.c @@ -91,8 +91,12 @@ AST_TEST_DEFINE(test_timezone_watch) ast_localtime(&tv, &atm[i], tzfile); if (i != 0) { if (atm[i].tm_hour == atm[i - 1].tm_hour) { - res = AST_TEST_FAIL; - ast_test_status_update(test, "Failed %s test: %d(%s) = %d(%s)\n", type == 0 ? "deletion" : "symlink", atm[i].tm_hour, zones[i], atm[i-1].tm_hour, zones[i-1]); + if (atm[i].tm_isdst == atm[i - 1].tm_isdst) { + res = AST_TEST_FAIL; + ast_test_status_update(test, "Failed %s test: %d(%s) = %d(%s)\n", type == 0 ? "deletion" : "symlink", atm[i].tm_hour, zones[i], atm[i-1].tm_hour, zones[i-1]); + } else { + ast_log(LOG_WARNING, "DST transition during %s test: %d(%s/%d) != %d(%s/%d)\n", type == 0 ? "deletion" : "symlink", atm[i].tm_hour, zones[i], atm[i].tm_isdst, atm[i-1].tm_hour, zones[i-1], atm[i-1].tm_isdst); + } } }