[PATCH 3 of 8] import-checker: add socket for virtualenv

Yuya Nishihara yuya at tcha.org
Thu Mar 31 10:13:28 EDT 2016


On Wed, 30 Mar 2016 04:24:03 -0500, timeless wrote:
> # HG changeset patch
> # User timeless <timeless at mozdev.org>
> # Date 1459325194 0
> #      Wed Mar 30 08:06:34 2016 +0000
> # Node ID b051243155761ace5b23e98f8dd7a1b527ed1077
> # Parent  044a54c5a3b80596f4c0c3625905248b7557691a
> import-checker: add socket for virtualenv
> 
> zlib and BaseHTTPServer were within the virtualenv, but
> socket and ctypes were in global space...
> 
> Adding socket seems to be enough to satisfy my virtualenv
> 
> diff --git a/contrib/import-checker.py b/contrib/import-checker.py
> --- a/contrib/import-checker.py
> +++ b/contrib/import-checker.py
> @@ -5,6 +5,7 @@
>  import ast
>  import collections
>  import os
> +import socket
>  import sys
>  
>  # Import a minimal set of stdlib modules needed for list_stdlib_modules()
> @@ -158,6 +159,9 @@
>      >>> 'BaseHTTPServer' in mods  
>      True
>  
> +    >>> 'socket' in mods
> +    True
> +
>      os.path isn't really a module, so it's missing:
>  
>      >>> 'os.path' in mods  
> @@ -177,6 +181,7 @@
>      """
>      for m in sys.builtin_module_names:
>          yield m
> +    modules = [socket, zlib]
>      # These modules only exist on windows, but we should always
>      # consider them stdlib.
>      for m in ['msvcrt', '_winreg']:
> @@ -187,7 +192,7 @@
>      stdlib_prefixes = set([sys.prefix, sys.exec_prefix])
>      # We need to supplement the list of prefixes for the search to work
>      # when run from within a virtualenv.
> -    for mod in (BaseHTTPServer, zlib):
> +    for mod in (modules):

I'm not sure why we can drop BaseHTTPServer from the modules list. Can you
elaborate?


More information about the Mercurial-devel mailing list