timezone tests and R-devel

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

timezone tests and R-devel

Kasper Daniel Hansen-2
The return value of Sys.time() today with a timezone of US/Eastern is
unchanged between 4.0.3-patched and devel, but on devel the following test
fails
  all.equal(x, as.POSIXlt(x))
with
  x = Sys.time()

This means that devel does not complete make tests (failure on
tests/reg-tests-2.R)

It is entirely possible that it is an error on my end, I use
  export TZ="US/Eastern"
but I have been using this for a while, and R-4.0.3-patched built today
passes make tests.

Details below, and I am happy to provide more information.

Build platform: inside a conda environment on linux. I have been doing this
for a while, but it is certainly a non-standard setup. GCC 7.3

Best,
Kasper

On R version 4.0.3 beta (2020-10-01 r79286) I get

> x = Sys.time()
> attributes(x)
$class
[1] "POSIXct" "POSIXt"

> attributes(as.POSIXlt(x))
$names
 [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
 [9] "isdst"  "zone"   "gmtoff"

$class
[1] "POSIXlt" "POSIXt"

$tzone
[1] "US/Eastern" "EST"        "EDT"

> all.equal(x, as.POSIXlt(x))
[1] TRUE

On R Under development (unstable) (2020-10-01 r79286) I get
> x = Sys.time()
> all.equal(x,x)
[1] TRUE
> attributes(as.POSIXlt(x))
$names
 [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
 [9] "isdst"  "zone"   "gmtoff"

$class
[1] "POSIXlt" "POSIXt"

$tzone
[1] "US/Eastern" "EST"        "EDT"

> all.equal(x, as.POSIXlt(x))
[1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: timezone tests and R-devel

Martin Maechler
>>>>> Kasper Daniel Hansen
>>>>>     on Thu, 1 Oct 2020 20:31:12 +0200 writes:

    > The return value of Sys.time() today with a timezone of US/Eastern is
    > unchanged between 4.0.3-patched and devel, but on devel the following test
    > fails
    > all.equal(x, as.POSIXlt(x))
    > with
    > x = Sys.time()

    > This means that devel does not complete make tests (failure on
    > tests/reg-tests-2.R)

    > It is entirely possible that it is an error on my end, I use
    > export TZ="US/Eastern"
    > but I have been using this for a while, and R-4.0.3-patched built today
    > passes make tests.

    > Details below, and I am happy to provide more information.

    > Build platform: inside a conda environment on linux. I have been doing this
    > for a while, but it is certainly a non-standard setup. GCC 7.3

    > Best,
    > Kasper

    > On R version 4.0.3 beta (2020-10-01 r79286) I get

    >> x = Sys.time()
    >> attributes(x)
    > $class
    > [1] "POSIXct" "POSIXt"

    >> attributes(as.POSIXlt(x))
    > $names
    > [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
    > [9] "isdst"  "zone"   "gmtoff"

    > $class
    > [1] "POSIXlt" "POSIXt"

    > $tzone
    > [1] "US/Eastern" "EST"        "EDT"

    >> all.equal(x, as.POSIXlt(x))
    > [1] TRUE

    > On R Under development (unstable) (2020-10-01 r79286) I get
    >> x = Sys.time()
    >> all.equal(x,x)
    > [1] TRUE
    >> attributes(as.POSIXlt(x))
    > $names
    > [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
    > [9] "isdst"  "zone"   "gmtoff"

    > $class
    > [1] "POSIXlt" "POSIXt"

    > $tzone
    > [1] "US/Eastern" "EST"        "EDT"

    >> all.equal(x, as.POSIXlt(x))
    > [1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"

Yes, this is a new feature, actually a __bug fix__ in R-devel,
see NEWS :

    • all.equal.POSIXt() no longer warns about and subsequently ignores
      inconsistent "tzone" attributes, but describes the difference in
      its return value (PR#17277).  This check can be disabled _via_
      the new argument check.tzone = FALSE; as suggested by Sebastian
      Meyer.

Here's pure R code for reproducing what you've seen :

x <- structure(1601623657, class = c("POSIXct", "POSIXt"))

Sys.unsetenv("TZ")
all.equal(x, ltx <- as.POSIXlt(x))  # TRUE
attr(ltx, "tzone")  # [1]  "" "CET"  "CEST"

Sys.setenv(TZ = "US/Eastern")
all.equal(x, ltx <- as.POSIXlt(x))
## "'tzone' attributes are inconsistent ('' and 'US/Eastern')"
all.equal(x, ltx, check.tzone = FALSE) # TRUE

Sys.unsetenv("TZ")
all.equal(x, ltx <- as.POSIXlt(x)) # TRUE

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: timezone tests and R-devel

Sebastian Meyer-4
In reply to this post by Kasper Daniel Hansen-2
Thank you for the report. In R-devel, all.equal.POSIXt() by default
reports inconsistent time zones. Previously,

> x <- Sys.time()
> all.equal(x, as.POSIXlt(x, tz = "EST5EDT"))

would return TRUE. To ignore the time zone attributes in R-devel, the
argument 'check.tzone = FALSE' needs to be used.

That said, I can reproduce the 'make check' failure in R-devel on Ubuntu
Linux when TZ is set, even if it is set to the system time zone:

$ export TZ=Europe/Berlin
$ make check
[...]
> running code in '../../tests/reg-tests-2.R' ... OK
>   comparing 'reg-tests-2.Rout' to '../../tests/reg-tests-2.Rout.save' ...7335c7335
> < [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
> ---
>> [1] TRUE


Compare the following two sessions:

> R-devel --vanilla --no-echo -e 'Sys.timezone(); x <- Sys.time(); all.equal(x, as.POSIXlt(x))'
[1] "Europe/Berlin"
[1] TRUE

> TZ='Europe/Berlin' R-devel --vanilla --no-echo -e 'Sys.timezone(); x <- Sys.time(); all.equal(x, as.POSIXlt(x))'
[1] "Europe/Berlin"
[1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"


So as.POSIXlt() sets a 'tzone' attribute if TZ is set, but this
behaviour is not new. Even with old R 3.6.3, I see

> R-3.6.3 --vanilla --slave -e 'attr(as.POSIXlt(Sys.time()), "tzone")'
[1] ""     "CET"  "CEST"

> TZ='Europe/Berlin' R-3.6.3 --vanilla --slave -e 'attr(as.POSIXlt(Sys.time()), "tzone")'
[1] "Europe/Berlin" "CET"           "CEST"

This might be system-specific.

I suggest to modify the test as attached for make check to pass in this
setting.

Best regards,

        Sebastian


Am 01.10.20 um 20:31 schrieb Kasper Daniel Hansen:

> The return value of Sys.time() today with a timezone of US/Eastern is
> unchanged between 4.0.3-patched and devel, but on devel the following test
> fails
>   all.equal(x, as.POSIXlt(x))
> with
>   x = Sys.time()
>
> This means that devel does not complete make tests (failure on
> tests/reg-tests-2.R)
>
> It is entirely possible that it is an error on my end, I use
>   export TZ="US/Eastern"
> but I have been using this for a while, and R-4.0.3-patched built today
> passes make tests.
>
> Details below, and I am happy to provide more information.
>
> Build platform: inside a conda environment on linux. I have been doing this
> for a while, but it is certainly a non-standard setup. GCC 7.3
>
> Best,
> Kasper
>
> On R version 4.0.3 beta (2020-10-01 r79286) I get
>
>> x = Sys.time()
>> attributes(x)
> $class
> [1] "POSIXct" "POSIXt"
>
>> attributes(as.POSIXlt(x))
> $names
>  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
>  [9] "isdst"  "zone"   "gmtoff"
>
> $class
> [1] "POSIXlt" "POSIXt"
>
> $tzone
> [1] "US/Eastern" "EST"        "EDT"
>
>> all.equal(x, as.POSIXlt(x))
> [1] TRUE
>
> On R Under development (unstable) (2020-10-01 r79286) I get
>> x = Sys.time()
>> all.equal(x,x)
> [1] TRUE
>> attributes(as.POSIXlt(x))
> $names
>  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"   "yday"
>  [9] "isdst"  "zone"   "gmtoff"
>
> $class
> [1] "POSIXlt" "POSIXt"
>
> $tzone
> [1] "US/Eastern" "EST"        "EDT"
>
>> all.equal(x, as.POSIXlt(x))
> [1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

all.equal.POSIXt-test.diff (936 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: timezone tests and R-devel

Kasper Daniel Hansen-2
Yes, the potential issue I see is that
  make check
fails when I explicitly set TZ. However, I set it to be the same as what
the system reports when I login.

Details: The system (RHEL) I am working on has
$ strings /etc/localtime | tail -n 1
EST5EDT,M3.2.0,M11.1.0
$ date +%Z
EDT
$ echo $TZ
US/Eastern



On Fri, Oct 2, 2020 at 9:48 AM Sebastian Meyer <[hidden email]> wrote:

> Thank you for the report. In R-devel, all.equal.POSIXt() by default
> reports inconsistent time zones. Previously,
>
> > x <- Sys.time()
> > all.equal(x, as.POSIXlt(x, tz = "EST5EDT"))
>
> would return TRUE. To ignore the time zone attributes in R-devel, the
> argument 'check.tzone = FALSE' needs to be used.
>
> That said, I can reproduce the 'make check' failure in R-devel on Ubuntu
> Linux when TZ is set, even if it is set to the system time zone:
>
> $ export TZ=Europe/Berlin
> $ make check
> [...]
> > running code in '../../tests/reg-tests-2.R' ... OK
> >   comparing 'reg-tests-2.Rout' to '../../tests/reg-tests-2.Rout.save'
> ...7335c7335
> > < [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
> > ---
> >> [1] TRUE
>
>
> Compare the following two sessions:
>
> > R-devel --vanilla --no-echo -e 'Sys.timezone(); x <- Sys.time();
> all.equal(x, as.POSIXlt(x))'
> [1] "Europe/Berlin"
> [1] TRUE
>
> > TZ='Europe/Berlin' R-devel --vanilla --no-echo -e 'Sys.timezone(); x <-
> Sys.time(); all.equal(x, as.POSIXlt(x))'
> [1] "Europe/Berlin"
> [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
>
>
> So as.POSIXlt() sets a 'tzone' attribute if TZ is set, but this
> behaviour is not new. Even with old R 3.6.3, I see
>
> > R-3.6.3 --vanilla --slave -e 'attr(as.POSIXlt(Sys.time()), "tzone")'
> [1] ""     "CET"  "CEST"
>
> > TZ='Europe/Berlin' R-3.6.3 --vanilla --slave -e
> 'attr(as.POSIXlt(Sys.time()), "tzone")'
> [1] "Europe/Berlin" "CET"           "CEST"
>
> This might be system-specific.
>
> I suggest to modify the test as attached for make check to pass in this
> setting.
>
> Best regards,
>
>         Sebastian
>
>
> Am 01.10.20 um 20:31 schrieb Kasper Daniel Hansen:
> > The return value of Sys.time() today with a timezone of US/Eastern is
> > unchanged between 4.0.3-patched and devel, but on devel the following
> test
> > fails
> >   all.equal(x, as.POSIXlt(x))
> > with
> >   x = Sys.time()
> >
> > This means that devel does not complete make tests (failure on
> > tests/reg-tests-2.R)
> >
> > It is entirely possible that it is an error on my end, I use
> >   export TZ="US/Eastern"
> > but I have been using this for a while, and R-4.0.3-patched built today
> > passes make tests.
> >
> > Details below, and I am happy to provide more information.
> >
> > Build platform: inside a conda environment on linux. I have been doing
> this
> > for a while, but it is certainly a non-standard setup. GCC 7.3
> >
> > Best,
> > Kasper
> >
> > On R version 4.0.3 beta (2020-10-01 r79286) I get
> >
> >> x = Sys.time()
> >> attributes(x)
> > $class
> > [1] "POSIXct" "POSIXt"
> >
> >> attributes(as.POSIXlt(x))
> > $names
> >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"
>  "yday"
> >  [9] "isdst"  "zone"   "gmtoff"
> >
> > $class
> > [1] "POSIXlt" "POSIXt"
> >
> > $tzone
> > [1] "US/Eastern" "EST"        "EDT"
> >
> >> all.equal(x, as.POSIXlt(x))
> > [1] TRUE
> >
> > On R Under development (unstable) (2020-10-01 r79286) I get
> >> x = Sys.time()
> >> all.equal(x,x)
> > [1] TRUE
> >> attributes(as.POSIXlt(x))
> > $names
> >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"
>  "yday"
> >  [9] "isdst"  "zone"   "gmtoff"
> >
> > $class
> > [1] "POSIXlt" "POSIXt"
> >
> > $tzone
> > [1] "US/Eastern" "EST"        "EDT"
> >
> >> all.equal(x, as.POSIXlt(x))
> > [1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > [hidden email] mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>


--
Best,
Kasper

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: timezone tests and R-devel

Kasper Daniel Hansen-2
So let me try to raise this issue once more, and perhaps be more clear
about what I think the issue is..

In my opinion there is now a bug in
  make check
in R-development (tested today with r79361). As I see it, I specify a
reasonable TZ environment variable and this leads to make check emitting an
error.

Best,
Kasper

On Fri, Oct 2, 2020 at 11:28 AM Kasper Daniel Hansen <
[hidden email]> wrote:

> Yes, the potential issue I see is that
>   make check
> fails when I explicitly set TZ. However, I set it to be the same as what
> the system reports when I login.
>
> Details: The system (RHEL) I am working on has
> $ strings /etc/localtime | tail -n 1
> EST5EDT,M3.2.0,M11.1.0
> $ date +%Z
> EDT
> $ echo $TZ
> US/Eastern
>
>
>
> On Fri, Oct 2, 2020 at 9:48 AM Sebastian Meyer <[hidden email]> wrote:
>
>> Thank you for the report. In R-devel, all.equal.POSIXt() by default
>> reports inconsistent time zones. Previously,
>>
>> > x <- Sys.time()
>> > all.equal(x, as.POSIXlt(x, tz = "EST5EDT"))
>>
>> would return TRUE. To ignore the time zone attributes in R-devel, the
>> argument 'check.tzone = FALSE' needs to be used.
>>
>> That said, I can reproduce the 'make check' failure in R-devel on Ubuntu
>> Linux when TZ is set, even if it is set to the system time zone:
>>
>> $ export TZ=Europe/Berlin
>> $ make check
>> [...]
>> > running code in '../../tests/reg-tests-2.R' ... OK
>> >   comparing 'reg-tests-2.Rout' to '../../tests/reg-tests-2.Rout.save'
>> ...7335c7335
>> > < [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
>> > ---
>> >> [1] TRUE
>>
>>
>> Compare the following two sessions:
>>
>> > R-devel --vanilla --no-echo -e 'Sys.timezone(); x <- Sys.time();
>> all.equal(x, as.POSIXlt(x))'
>> [1] "Europe/Berlin"
>> [1] TRUE
>>
>> > TZ='Europe/Berlin' R-devel --vanilla --no-echo -e 'Sys.timezone(); x <-
>> Sys.time(); all.equal(x, as.POSIXlt(x))'
>> [1] "Europe/Berlin"
>> [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
>>
>>
>> So as.POSIXlt() sets a 'tzone' attribute if TZ is set, but this
>> behaviour is not new. Even with old R 3.6.3, I see
>>
>> > R-3.6.3 --vanilla --slave -e 'attr(as.POSIXlt(Sys.time()), "tzone")'
>> [1] ""     "CET"  "CEST"
>>
>> > TZ='Europe/Berlin' R-3.6.3 --vanilla --slave -e
>> 'attr(as.POSIXlt(Sys.time()), "tzone")'
>> [1] "Europe/Berlin" "CET"           "CEST"
>>
>> This might be system-specific.
>>
>> I suggest to modify the test as attached for make check to pass in this
>> setting.
>>
>> Best regards,
>>
>>         Sebastian
>>
>>
>> Am 01.10.20 um 20:31 schrieb Kasper Daniel Hansen:
>> > The return value of Sys.time() today with a timezone of US/Eastern is
>> > unchanged between 4.0.3-patched and devel, but on devel the following
>> test
>> > fails
>> >   all.equal(x, as.POSIXlt(x))
>> > with
>> >   x = Sys.time()
>> >
>> > This means that devel does not complete make tests (failure on
>> > tests/reg-tests-2.R)
>> >
>> > It is entirely possible that it is an error on my end, I use
>> >   export TZ="US/Eastern"
>> > but I have been using this for a while, and R-4.0.3-patched built today
>> > passes make tests.
>> >
>> > Details below, and I am happy to provide more information.
>> >
>> > Build platform: inside a conda environment on linux. I have been doing
>> this
>> > for a while, but it is certainly a non-standard setup. GCC 7.3
>> >
>> > Best,
>> > Kasper
>> >
>> > On R version 4.0.3 beta (2020-10-01 r79286) I get
>> >
>> >> x = Sys.time()
>> >> attributes(x)
>> > $class
>> > [1] "POSIXct" "POSIXt"
>> >
>> >> attributes(as.POSIXlt(x))
>> > $names
>> >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"
>>  "yday"
>> >  [9] "isdst"  "zone"   "gmtoff"
>> >
>> > $class
>> > [1] "POSIXlt" "POSIXt"
>> >
>> > $tzone
>> > [1] "US/Eastern" "EST"        "EDT"
>> >
>> >> all.equal(x, as.POSIXlt(x))
>> > [1] TRUE
>> >
>> > On R Under development (unstable) (2020-10-01 r79286) I get
>> >> x = Sys.time()
>> >> all.equal(x,x)
>> > [1] TRUE
>> >> attributes(as.POSIXlt(x))
>> > $names
>> >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year"   "wday"
>>  "yday"
>> >  [9] "isdst"  "zone"   "gmtoff"
>> >
>> > $class
>> > [1] "POSIXlt" "POSIXt"
>> >
>> > $tzone
>> > [1] "US/Eastern" "EST"        "EDT"
>> >
>> >> all.equal(x, as.POSIXlt(x))
>> > [1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > [hidden email] mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-devel
>> >
>> ______________________________________________
>> [hidden email] mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
>
> --
> Best,
> Kasper
>


--
Best,
Kasper

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: timezone tests and R-devel

Sebastian Meyer-4
Yes, you are absolutely right and I'm pretty sure this will be fixed in
one way or another.

IMO, the failing test should simply use all.equal.POSIXt's new argument
check.tzone=FALSE.

Two simple alternatives modifying all.equal.POSIXt behaviour:

- make check.tzone=FALSE the default: this is inconsistent with other
arguments of all.equal methods, always defaulting to stricter checks

- let all.equal.POSIXt generally ignore the tzone difference if tzone is
unset for one of the objects (similar to check_tzones): I think this is
a bad idea because tzone affects how POSIXt objects are printed, and
under check.tzone=TRUE, two objects shouldn't be considered "nearly
equal" if they print differently.

Best regards,

        Sebastian


Am 23.10.20 um 10:28 schrieb Kasper Daniel Hansen:

> So let me try to raise this issue once more, and perhaps be more clear
> about what I think the issue is..
>
> In my opinion there is now a bug in 
>   make check
> in R-development (tested today with r79361). As I see it, I specify a
> reasonable TZ environment variable and this leads to make check emitting
> an error.
>
> Best,
> Kasper
>
> On Fri, Oct 2, 2020 at 11:28 AM Kasper Daniel Hansen
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Yes, the potential issue I see is that 
>       make check 
>     fails when I explicitly set TZ. However, I set it to be the same as
>     what the system reports when I login.
>
>     Details: The system (RHEL) I am working on has
>     $ strings /etc/localtime | tail -n 1
>     EST5EDT,M3.2.0,M11.1.0
>     $ date +%Z
>     EDT
>     $ echo $TZ
>     US/Eastern
>
>
>
>     On Fri, Oct 2, 2020 at 9:48 AM Sebastian Meyer <[hidden email]
>     <mailto:[hidden email]>> wrote:
>
>         Thank you for the report. In R-devel, all.equal.POSIXt() by default
>         reports inconsistent time zones. Previously,
>
>         > x <- Sys.time()
>         > all.equal(x, as.POSIXlt(x, tz = "EST5EDT"))
>
>         would return TRUE. To ignore the time zone attributes in
>         R-devel, the
>         argument 'check.tzone = FALSE' needs to be used.
>
>         That said, I can reproduce the 'make check' failure in R-devel
>         on Ubuntu
>         Linux when TZ is set, even if it is set to the system time zone:
>
>         $ export TZ=Europe/Berlin
>         $ make check
>         [...]
>         > running code in '../../tests/reg-tests-2.R' ... OK
>         >   comparing 'reg-tests-2.Rout' to
>         '../../tests/reg-tests-2.Rout.save' ...7335c7335
>         > < [1] "'tzone' attributes are inconsistent ('' and
>         'Europe/Berlin')"
>         > ---
>         >> [1] TRUE
>
>
>         Compare the following two sessions:
>
>         > R-devel --vanilla --no-echo -e 'Sys.timezone(); x <-
>         Sys.time(); all.equal(x, as.POSIXlt(x))'
>         [1] "Europe/Berlin"
>         [1] TRUE
>
>         > TZ='Europe/Berlin' R-devel --vanilla --no-echo -e
>         'Sys.timezone(); x <- Sys.time(); all.equal(x, as.POSIXlt(x))'
>         [1] "Europe/Berlin"
>         [1] "'tzone' attributes are inconsistent ('' and 'Europe/Berlin')"
>
>
>         So as.POSIXlt() sets a 'tzone' attribute if TZ is set, but this
>         behaviour is not new. Even with old R 3.6.3, I see
>
>         > R-3.6.3 --vanilla --slave -e 'attr(as.POSIXlt(Sys.time()),
>         "tzone")'
>         [1] ""     "CET"  "CEST"
>
>         > TZ='Europe/Berlin' R-3.6.3 --vanilla --slave -e
>         'attr(as.POSIXlt(Sys.time()), "tzone")'
>         [1] "Europe/Berlin" "CET"           "CEST"
>
>         This might be system-specific.
>
>         I suggest to modify the test as attached for make check to pass
>         in this
>         setting.
>
>         Best regards,
>
>                 Sebastian
>
>
>         Am 01.10.20 um 20:31 schrieb Kasper Daniel Hansen:
>         > The return value of Sys.time() today with a timezone of
>         US/Eastern is
>         > unchanged between 4.0.3-patched and devel, but on devel the
>         following test
>         > fails
>         >   all.equal(x, as.POSIXlt(x))
>         > with
>         >   x = Sys.time()
>         >
>         > This means that devel does not complete make tests (failure on
>         > tests/reg-tests-2.R)
>         >
>         > It is entirely possible that it is an error on my end, I use
>         >   export TZ="US/Eastern"
>         > but I have been using this for a while, and R-4.0.3-patched
>         built today
>         > passes make tests.
>         >
>         > Details below, and I am happy to provide more information.
>         >
>         > Build platform: inside a conda environment on linux. I have
>         been doing this
>         > for a while, but it is certainly a non-standard setup. GCC 7.3
>         >
>         > Best,
>         > Kasper
>         >
>         > On R version 4.0.3 beta (2020-10-01 r79286) I get
>         >
>         >> x = Sys.time()
>         >> attributes(x)
>         > $class
>         > [1] "POSIXct" "POSIXt"
>         >
>         >> attributes(as.POSIXlt(x))
>         > $names
>         >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year" 
>          "wday"   "yday"
>         >  [9] "isdst"  "zone"   "gmtoff"
>         >
>         > $class
>         > [1] "POSIXlt" "POSIXt"
>         >
>         > $tzone
>         > [1] "US/Eastern" "EST"        "EDT"
>         >
>         >> all.equal(x, as.POSIXlt(x))
>         > [1] TRUE
>         >
>         > On R Under development (unstable) (2020-10-01 r79286) I get
>         >> x = Sys.time()
>         >> all.equal(x,x)
>         > [1] TRUE
>         >> attributes(as.POSIXlt(x))
>         > $names
>         >  [1] "sec"    "min"    "hour"   "mday"   "mon"    "year" 
>          "wday"   "yday"
>         >  [9] "isdst"  "zone"   "gmtoff"
>         >
>         > $class
>         > [1] "POSIXlt" "POSIXt"
>         >
>         > $tzone
>         > [1] "US/Eastern" "EST"        "EDT"
>         >
>         >> all.equal(x, as.POSIXlt(x))
>         > [1] "'tzone' attributes are inconsistent ('' and 'US/Eastern')"
>         >
>         >       [[alternative HTML version deleted]]
>         >
>         > ______________________________________________
>         > [hidden email] <mailto:[hidden email]> mailing list
>         > https://stat.ethz.ch/mailman/listinfo/r-devel
>         >
>         ______________________________________________
>         [hidden email] <mailto:[hidden email]> mailing list
>         https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
>
>     --
>     Best,
>     Kasper
>
>
>
> --
> Best,
> Kasper

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel