pytype: stop excluding chgserver.py
This teaches pytype about some lazy initialization, and avoids the following:
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 666, in _checkextensions:
No attribute '_hashstate' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 672, in _checkextensions:
No attribute '_hashstate' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 677, in _bind:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 683, in _bind:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 686, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 686, in _createsymlink:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 688, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 689, in _createsymlink:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 690, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
Differential Revision: https://phab.mercurial-scm.org/D11926
--- a/mercurial/chgserver.py Mon Dec 13 22:46:43 2021 -0500
+++ b/mercurial/chgserver.py Tue Dec 14 17:06:32 2021 -0500
@@ -643,6 +643,13 @@
def __init__(self, ui):
self.ui = ui
+
+ # TODO: use PEP 526 syntax (`_hashstate: hashstate` at the class level)
+ # when 3.5 support is dropped.
+ self._hashstate = None # type: hashstate
+ self._baseaddress = None # type: bytes
+ self._realaddress = None # type: bytes
+
self._idletimeout = ui.configint(b'chgserver', b'idletimeout')
self._lastactive = time.time()
--- a/tests/test-check-pytype.t Mon Dec 13 22:46:43 2021 -0500
+++ b/tests/test-check-pytype.t Tue Dec 14 17:06:32 2021 -0500
@@ -10,7 +10,6 @@
probably hiding real problems.
mercurial/bundlerepo.py # no vfs and ui attrs on bundlerepo
-mercurial/chgserver.py # [attribute-error]
mercurial/context.py # many [attribute-error]
mercurial/crecord.py # tons of [attribute-error], [module-attr]
mercurial/debugcommands.py # [wrong-arg-types]
@@ -46,7 +45,6 @@
$ pytype -V 3.6 --keep-going --jobs auto mercurial \
> -x mercurial/bundlerepo.py \
- > -x mercurial/chgserver.py \
> -x mercurial/context.py \
> -x mercurial/crecord.py \
> -x mercurial/debugcommands.py \