diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -7,6 +7,7 @@ from __future__ import absolute_import +import codecs import collections import difflib import errno @@ -997,8 +998,8 @@ def debuginstall(ui, **opts): fm.write('encoding', _("checking encoding (%s)...\n"), encoding.encoding) err = None try: - encoding.fromlocal("test") - except error.Abort as inst: + codecs.lookup(pycompat.sysstr(encoding.encoding)) + except LookupError as inst: err = inst problems += 1 fm.condwrite(err, 'encodingerror', _(" %s\n" diff --git a/tests/test-install.t b/tests/test-install.t --- a/tests/test-install.t +++ b/tests/test-install.t @@ -76,6 +76,11 @@ hg debuginstall with no username 1 problems detected, please check your install! [1] +hg debuginstall with invalid encoding + $ HGENCODING=invalidenc hg debuginstall | grep encoding + checking encoding (invalidenc)... + unknown encoding: invalidenc + path variables are expanded (~ is the same as $TESTTMP) $ mkdir tools $ touch tools/testeditor.exe