[PATCH] util: add doctest to datestr()
yuya at tcha.org
Fri Apr 8 12:23:44 EDT 2016
On Fri, 08 Apr 2016 17:58:16 +0200, Adrian Buehlmann wrote:
> On 2016-04-08 16:51, Yuya Nishihara wrote:
> > On Fri, 08 Apr 2016 11:29:20 +0200, Adrian Buehlmann wrote:
> >> # HG changeset patch
> >> # User Adrian Buehlmann <adrian at cadifra.com>
> >> # Date 1460042647 -7200
> >> # Node ID e4855d9b93ae1c1413b3ab67e9e605b968c89fa9
> >> # Parent ea86cdcd9b50bf38c6b9dd7bbaa04b9c8cc0aefb
> >> util: add doctest to datestr()
> >> The setlocale call is needed. If I leave it away, the active locale is -
> >> surprisingly - *not* 'C' here.
> >> diff --git a/mercurial/util.py b/mercurial/util.py
> >> --- a/mercurial/util.py
> >> +++ b/mercurial/util.py
> >> @@ -1576,7 +1576,22 @@
> >> """represent a (unixtime, offset) tuple as a localized time.
> >> unixtime is seconds since the epoch, and offset is the time zone's
> >> number of seconds away from UTC. if timezone is false, do not
> >> - append time zone to string."""
> >> + append time zone to string.
> >> +
> >> + >>> import locale
> >> + >>> locale.setlocale(locale.LC_ALL, 'C')
> >> + 'C'
> > Perhaps test-doctest.py should do that globally? I got test failure on
> > Windows even without this patch.
> I'll probably stop digging this. In my experiments, setlocale in
> test-doctest.py had no influence on the locale used inside the scope of
> individual doctests.
> Test passed here.
I thought setlocale() is per process and test-doctest.py won't spawn new
process. But I didn't investigate it either.
> >> + >>> datestr((0, False))
> > "offset" is integer, not bool.
> ... which apparently doesn't match the spec of the function ("if
> timezone is false, do not append time zone to string.")
It appears that the doc is wrong. There was "timezone" flag at 04c17fc39c84.
More information about the Mercurial-devel