From 0f028b9008097f00aa3953a3425c72e7ae2b4c98 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 9 Apr 2019 18:44:13 -0300 Subject: [PATCH] Corrected tests around non-portable 'isdst' in dates The field 'isdst' in date tables may not be present; portable tests should not assume it is. --- testes/files.lua | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/testes/files.lua b/testes/files.lua index 34fcf851..0a05cf60 100644 --- a/testes/files.lua +++ b/testes/files.lua @@ -777,7 +777,7 @@ local t = os.time() D = os.date("*t", t) load(os.date([[assert(D.year==%Y and D.month==%m and D.day==%d and D.hour==%H and D.min==%M and D.sec==%S and - D.wday==%w+1 and D.yday==%j and type(D.isdst) == 'boolean')]], t))() + D.wday==%w+1 and D.yday==%j)]], t))() checkerr("invalid conversion specifier", os.date, "%") checkerr("invalid conversion specifier", os.date, "%9") @@ -827,12 +827,16 @@ end D = os.date("!*t", t) load(os.date([[!assert(D.year==%Y and D.month==%m and D.day==%d and D.hour==%H and D.min==%M and D.sec==%S and - D.wday==%w+1 and D.yday==%j and type(D.isdst) == 'boolean')]], t))() + D.wday==%w+1 and D.yday==%j)]], t))() do local D = os.date("*t") local t = os.time(D) - assert(type(D.isdst) == 'boolean') + if not D.isdst then + print("no daylight saving information") + else + assert(type(D.isdst) == 'boolean') + end D.isdst = nil local t1 = os.time(D) assert(t == t1) -- if isdst is absent uses correct default