[PATCH] hghave: change ssl check to just check ssl module
Augie Fackler
raf at durin42.com
Sat Mar 19 19:00:35 EDT 2016
LGTM, queued thanks
> On Mar 19, 2016, at 13:57, Gregory Szorc <gregory.szorc at gmail.com> wrote:
>
> # HG changeset patch
> # User Gregory Szorc <gregory.szorc at gmail.com>
> # Date 1458420660 25200
> # Sat Mar 19 13:51:00 2016 -0700
> # Node ID 0b718a963d65f1ed2e609b8f38a129881a598217
> # Parent 1f3d9fe592151d4eab21282e87628ef655c67daf
> hghave: change ssl check to just check ssl module
>
> Previously, the "ssl" check effectively looked for PyOpenSSL
> or Python 2.7.9. After this patch, we simply look for just the
> "ssl" module.
>
> After d962e955da08, there have been no references to PyOpenSSL in
> the tree (the previous usage of PyOpenSSL was to implement ssl
> support on old, no longer supported Python versions that didn't
> have an ssl module (e.g. Python 2.4). So, the check for PyOpenSSL
> served no purpose.
>
> Pythons we support ship with the ssl module. Although it may not be
> available in all installations. So, we still need the check for
> whether the ssl module imports, hence the hghave check.
>
> The main side-effect of this change is that we now run test-https.t
> (the only test requiring the "ssl" hghave feature) on Python <2.7.9
> when PyOpenSSL is not installed (which is probably most installations)
> and the ssl module is available. Before, we wouldn't run this test
> on these older Python versions.
>
> I confirmed that test-https.t passes with Python 2.6.9 and 2.7.8 on
> OS X 10.11.
>
> diff --git a/tests/hghave.py b/tests/hghave.py
> --- a/tests/hghave.py
> +++ b/tests/hghave.py
> @@ -340,17 +340,12 @@ def has_outer_repo():
> # failing for other reasons than 'no repo' imply that there is a repo
> return not matchoutput('hg root 2>&1',
> r'abort: no repository found', True)
>
> - at check("ssl", ("(python >= 2.6 ssl module and python OpenSSL) "
> - "OR python >= 2.7.9 ssl"))
> + at check("ssl", "ssl module available")
> def has_ssl():
> try:
> import ssl
> - if getattr(ssl, 'create_default_context', False):
> - return True
> - import OpenSSL
> - OpenSSL.SSL.Context
> return True
> except ImportError:
> return False
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list