From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 6A1566F3EA; Thu, 2 Jul 2026 22:41:09 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 6A1566F3EA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1783021269; bh=0pM1io7R8qirNZEI44YM5MpKjq9arxpq9CPvW/fcdaQ=; h=Date:To:CC:In-Reply-To:References:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=JU67HYrCC+aC9vEtq+yujh4a1v40CKj1cXcuHhctW5VXRbZR2DYBzyJwkp9XfKqV/ 6cdzG+IXX4jE1dW4WmejRfsfV0mE+IqyDo70Fn9DB0DfllGCkmQPtWRqXOOAO6Qr5i OmPHgrCv7FQ7FexADMgKWuZkR82imESICDZ1otpw= Received: from send35.i.mail.ru (send35.i.mail.ru [89.221.237.130]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 264556F3EA for ; Thu, 2 Jul 2026 22:41:08 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 264556F3EA Received: by exim-smtp-9d444bb98-8kjd8 with esmtpa (envelope-from ) id 1wfNHW-000000005F3-2ozm; Thu, 02 Jul 2026 22:41:07 +0300 Date: Thu, 02 Jul 2026 22:41:05 +0300 To: Sergey Kaplun , Evgeniy Temirgaleev CC: tarantool-patches@dev.tarantool.org In-Reply-To: <20260702192103.2399743-1-skaplun@tarantool.org> References: <20260702192103.2399743-1-skaplun@tarantool.org> Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----7DR8S09LHSGSB8QTCNXPLBBB7CRDOV Content-Transfer-Encoding: 7bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9F229F520D5C188688B14611BEFAC2A0D4A7F4D5B4403C963182A05F5380850406691801305E3DE0F3DE06ABAFEAF670502ECCD317C176699B2BB09271439896A1F437EE5031ADF6D X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE72F22E6DC541F75D9EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB553375665EC6F5188975CE83298699E7FAA911CB4AA08437F8C547EBD2BEBD6CF8BEA11B389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C0A3E989B1926288338941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B636DA1BED736F9328CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB8D32BA5DBAC0009BE9E8FC8737B5C2249F3DD27CEE54E359176E601842F6C81A12EF20D2F80756B5FB606B96278B59C4276E601842F6C81A127C277FBC8AE2E8BCFA9DE07C563E1613AA81AA40904B5D99C9F4D5AE37F343AD1F44FA8B9022EA23BBE47FD9DD3FB595F5C1EE8F4F765FC72CEEB2601E22B093A03B725D353964B0B7D0EA88DDEDAC722CA9DD8327EE4930A3850AC1BE2E735026D3A1080F4EF5CC4224003CC83647689D4C264860C145E X-C1DE0DAB: 0D63561A33F958A5269F113FABA202825002B1117B3ED69685E99F44A81C3D7433EE06AFCD964888823CB91A9FED034534781492E4B8EEADAE4FDBF11360AC9BBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE1918E10F71CB4DF9F96AB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D6594FD08CCE09E79A788F007A2909D1D54E775C245C6359BCE415ACB904205B573AAA8E1A2CE885BFB1B8341EE9D5BE9A0ACFCE694F482A635795BA17B861467A0AE5A06E21E942E74D6536EB022892E5344C41F94D744909CE2512F26BEC029E55448553D2254B8D95CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVQ2xbpK5Vic+hQgwzzW+sV0= X-Mailru-Sender: 49D287FBCBBF3A5C3487FE48C1999EE2E4CB0A3B0EDECB56B951B70A5BD4BD8E54017BDE789EAEA887D154BA7A9C8918EBA65886582A37BD66FEC6BF5C9C28D98A98C1125256619760D574B6FC815AB872D6B4FCE48DF648AE208404248635DF X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v2 luajit] test: skip lj-1470 test for unconfigured timezones X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ------7DR8S09LHSGSB8QTCNXPLBBB7CRDOV Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sergey, thanks for the patch, LGTM=2E Sergey 2 =D0=B8=D1=8E=D0=BB=D1=8F 2026=E2=80=AF=D0=B3=2E 22:21:03 GMT+03:00, Serg= ey Kaplun =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >`os=2Etime()` uses `mktime()` to specify time by the given table=2E >`mktime()` produces the call to `tzset()` to determine the system's >timezone=2E If the TZ variable does not appear in the environment, the >system timezone is used=2E The system timezone is configured by copying, >or linking, a file in the tzfile(5) format to /etc/localtime=2E So, if >this file is omitted (like in RED OS), the errno is set to a non-zero >value=2E This leads to the nil returned by the `os=2Etime()` for -1 time >value=2E > >This patch skips the test if this file is missed to be sure that we >don't obtain any false positive failures due to system >misconfigurations=2E >--- > >Branch: https://github=2Ecom/tarantool/luajit/tree/skaplun/fix-os-time-te= st-redos >Failed workflow: https://github=2Ecom/tarantool/tarantool/actions/runs/28= 585213455/job/84775371860?pr=3D12886#step:5:20692 > >Tested inside the following Docker: > >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >FROM registry=2Ered-soft=2Eru/ubi8/ubi-minimal:latest > >RUN dnf update -y && \ > dnf install -y cmake vim make git curl gcc g++ gdb man && \ > dnf clean all >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >| docker build =2E --tag redos >| docker run --network=3Dhost -ti redos bash > >Then clone LuaJIT and proceed as usual=2E > >With the patch the test skipped: >| 1=2E=2E0 # SKIP Unconfigured timezone rules > >Changes in v2: > >* Skip patch not for RED OS but for all distributions with unconfigured > timezones (i=2Ee=2E missing '/etc/localtime')=2E > > =2E=2E=2E/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua | 20 +++++++++++= +++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > >diff --git a/test/tarantool-tests/lj-1470-os-time-epoch-minus-1s=2Etest= =2Elua b/test/tarantool-tests/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua >index dfe1ee11=2E=2E48c6c3a3 100644 >--- a/test/tarantool-tests/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua >+++ b/test/tarantool-tests/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua >@@ -1,9 +1,27 @@ > local tap =3D require('tap') >=20 >+local function unconfigured_timezone() >+ -- `os=2Etime()` uses `mktime()` to specify time by the given >+ -- table=2E `mktime()` produces the call to `tzset()` to determine >+ -- the system's timezone=2E >+ -- If the TZ variable does not appear in the environment, the >+ -- system timezone is used=2E The system timezone is configured by >+ -- copying, or linking, a file in the tzfile(5) format to >+ -- /etc/localtime=2E So, if this file is omitted, the errno is >+ -- set to a non-zero value=2E This leads to the nil returned by >+ -- the `os=2Etime()` for -1 time value=2E Let's skip the test if >+ -- this file is missed to be sure that we don't obtain any false >+ -- positive failures due to system misconfigurations=2E >+ local f =3D io=2Eopen('/etc/localtime', 'r') >+ return not f >+end >+ > -- The test file demonstrates os=2Etime() fail to return -1 time > -- value=2E > -- See also: https://github=2Ecom/LuaJIT/LuaJIT/issues/1470=2E >-local test =3D tap=2Etest('lj-1470-os-time-epoch-minus-1s') >+local test =3D tap=2Etest('lj-1470-os-time-epoch-minus-1s'):skipcond({ >+ ['Unconfigured timezone rules'] =3D unconfigured_timezone(), >+}) >=20 > test:plan(1) >=20 >--=20 >2=2E54=2E0 > ------7DR8S09LHSGSB8QTCNXPLBBB7CRDOV Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Sergey,

thanks for the pa= tch, LGTM=2E

Sergey


2 =D0=B8=D1=8E=D0=BB=D1=8F 2026=E2=80=AF=D0=B3=2E 22:21:03 GMT+03= :00, Sergey Kaplun <skaplun@tarantool=2Eorg> =D0=BF=D0=B8=D1=88=D0=B5= =D1=82:
`os= =2Etime()` uses `mktime()` to specify time by the given table=2E
`mktime= ()` produces the call to `tzset()` to determine the system's
timezone=2E= If the TZ variable does not appear in the environment, the
system timez= one is used=2E The system timezone is configured by copying,
or linking,= a file in the tzfile(5) format to /etc/localtime=2E So, if
this file is= omitted (like in RED OS), the errno is set to a non-zero
value=2E This = leads to the nil returned by the `os=2Etime()` for -1 time
value=2E
<= br>This patch skips the test if this file is missed to be sure that we
d= on't obtain any false positive failures due to system
misconfigurations= =2E
Branch: https://github=2Ecom/tarantool/luajit/tree/skaplu= n/fix-os-time-test-redos
Failed workflow: https://github=2Ecom/tarantool/tarantool/actions/runs/285= 85213455/job/84775371860?pr=3D12886#step:5:20692

Tested inside t= he following Docker:
FROM registry=2Ered-soft=2Eru/ubi8/ubi-minimal:late= st

RUN dnf update -y && \
dnf install -y cmake vim ma= ke git curl gcc g++ gdb man && \
dnf clean all
| docker b= uild =2E --tag redos
| docker run --network=3Dhost -ti redos bash
Then clone LuaJIT and proceed as usual=2E

With the patch the test s= kipped:
| 1=2E=2E0 # SKIP Unconfigured timezone rules

Changes in = v2:

* Skip patch not for RED OS but for all distributions with uncon= figured
timezones (i=2Ee=2E missing '/etc/localtime')=2E

=2E= =2E=2E/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua | 20 +++++++++++++++++= +-
1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/= test/tarantool-tests/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua b/test/tar= antool-tests/lj-1470-os-time-epoch-minus-1s=2Etest=2Elua
index dfe1ee11= =2E=2E48c6c3a3 100644
--- a/test/tarantool-tests/lj-1470-os-time-epoch-m= inus-1s=2Etest=2Elua
+++ b/test/tarantool-tests/lj-1470-os-time-epoch-mi= nus-1s=2Etest=2Elua
@@ -1,9 +1,27 @@
local tap =3D require('tap')
+local function unconfigured_timezone()
+ -- `os=2Etime()` uses `= mktime()` to specify time by the given
+ -- table=2E `mktime()` produce= s the call to `tzset()` to determine
+ -- the system's timezone=2E
+= -- If the TZ variable does not appear in the environment, the
+ -- sy= stem timezone is used=2E The system timezone is configured by
+ -- copy= ing, or linking, a file in the tzfile(5) format to
+ -- /etc/localtime= =2E So, if this file is omitted, the errno is
+ -- set to a non-zero va= lue=2E This leads to the nil returned by
+ -- the `os=2Etime()` for -1 = time value=2E Let's skip the test if
+ -- this file is missed to be sur= e that we don't obtain any false
+ -- positive failures due to system m= isconfigurations=2E
+ local f =3D io=2Eopen('/etc/localtime', 'r')
+= return not f
+end
+
-- The test file demonstrates os=2Etime() f= ail to return -1 time
-- value=2E
-- See also: https://github=2Ecom/LuaJIT/LuaJIT/i= ssues/1470=2E
-local test =3D tap=2Etest('lj-1470-os-time-epoch-minu= s-1s')
+local test =3D tap=2Etest('lj-1470-os-time-epoch-minus-1s'):skip= cond({
+ ['Unconfigured timezone rules'] =3D unconfigured_timezone(),+})

test:plan(1)

<= /html> ------7DR8S09LHSGSB8QTCNXPLBBB7CRDOV--