pytype: add coverage for parts of hgext
There are tons of things to fix here (which have been blacklisted for now), but
this should help prevent further regressions.
--- a/contrib/check-pytype.sh Fri Jan 06 12:16:04 2023 -0500
+++ b/contrib/check-pytype.sh Fri Jan 06 10:59:59 2023 -0500
@@ -12,6 +12,36 @@
# endeavor to empty this list out over time, as some of these are
# probably hiding real problems.
#
+# hgext/absorb.py # [attribute-error]
+# hgext/bugzilla.py # [pyi-error], [attribute-error]
+# hgext/convert/bzr.py # [attribute-error]
+# hgext/convert/cvs.py # [attribute-error], [wrong-arg-types]
+# hgext/convert/cvsps.py # [attribute-error]
+# hgext/convert/p4.py # [wrong-arg-types] (__file: mercurial.utils.procutil._pfile -> IO)
+# hgext/convert/subversion.py # [attribute-error], [name-error], [pyi-error]
+# hgext/fastannotate/context.py # no linelog.copyfrom()
+# hgext/fastannotate/formatter.py # [unsupported-operands]
+# hgext/fsmonitor/__init__.py # [name-error]
+# hgext/git/__init__.py # [attribute-error]
+# hgext/githelp.py # [attribute-error] [wrong-arg-types]
+# hgext/hgk.py # [attribute-error]
+# hgext/histedit.py # [attribute-error], [wrong-arg-types]
+# hgext/infinitepush # using bytes for str literal; scheduled for removal
+# hgext/keyword.py # [attribute-error]
+# hgext/largefiles/storefactory.py # [attribute-error]
+# hgext/lfs/__init__.py # [attribute-error]
+# hgext/narrow/narrowbundle2.py # [attribute-error]
+# hgext/narrow/narrowcommands.py # [attribute-error], [name-error]
+# hgext/rebase.py # [attribute-error]
+# hgext/remotefilelog/basepack.py # [attribute-error], [wrong-arg-count]
+# hgext/remotefilelog/basestore.py # [attribute-error]
+# hgext/remotefilelog/contentstore.py # [missing-parameter], [wrong-keyword-args], [attribute-error]
+# hgext/remotefilelog/fileserverclient.py # [attribute-error]
+# hgext/remotefilelog/shallowbundle.py # [attribute-error]
+# hgext/remotefilelog/remotefilectx.py # [module-attr] (This is an actual bug)
+# hgext/sqlitestore.py # [attribute-error]
+# hgext/zeroconf/__init__.py # bytes vs str; tests fail on macOS
+#
# mercurial/bundlerepo.py # no vfs and ui attrs on bundlerepo
# mercurial/context.py # many [attribute-error]
# mercurial/crecord.py # tons of [attribute-error], [module-attr]
@@ -42,7 +72,37 @@
# TODO: include hgext and hgext3rd
-pytype -V 3.7 --keep-going --jobs auto doc/check-seclevel.py hgdemandimport mercurial \
+pytype -V 3.7 --keep-going --jobs auto \
+ doc/check-seclevel.py hgdemandimport hgext mercurial \
+ -x hgext/absorb.py \
+ -x hgext/bugzilla.py \
+ -x hgext/convert/bzr.py \
+ -x hgext/convert/cvs.py \
+ -x hgext/convert/cvsps.py \
+ -x hgext/convert/p4.py \
+ -x hgext/convert/subversion.py \
+ -x hgext/fastannotate/context.py \
+ -x hgext/fastannotate/formatter.py \
+ -x hgext/fsmonitor/__init__.py \
+ -x hgext/git/__init__.py \
+ -x hgext/githelp.py \
+ -x hgext/hgk.py \
+ -x hgext/histedit.py \
+ -x hgext/infinitepush \
+ -x hgext/keyword.py \
+ -x hgext/largefiles/storefactory.py \
+ -x hgext/lfs/__init__.py \
+ -x hgext/narrow/narrowbundle2.py \
+ -x hgext/narrow/narrowcommands.py \
+ -x hgext/rebase.py \
+ -x hgext/remotefilelog/basepack.py \
+ -x hgext/remotefilelog/basestore.py \
+ -x hgext/remotefilelog/contentstore.py \
+ -x hgext/remotefilelog/fileserverclient.py \
+ -x hgext/remotefilelog/remotefilectx.py \
+ -x hgext/remotefilelog/shallowbundle.py \
+ -x hgext/sqlitestore.py \
+ -x hgext/zeroconf/__init__.py \
-x mercurial/bundlerepo.py \
-x mercurial/context.py \
-x mercurial/crecord.py \