changeset 20383:4990abb4729d

import-checker: fix names of dynamically loaded modules The import checker found standard library modules such as lib-dynload/zlibmodule.so but saw that as a 'zlibmodule' module, not as the 'zlib' module. Debian ships Python with most modules built-in and this incorrect handling of dynamic modules did thus not cause problems on that platform. Fedora ships Python with as many modules as possible loaded dynamically. That made the import checker tests fail with incorrect classification of the following modules: array fcntl grp itertools time zlib. This change makes test-module-imports.t pass on Fedora.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 05 Feb 2014 01:30:33 +0100
parents a82de9dc4f77
children c499fff76440
files contrib/import-checker.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/import-checker.py	Tue Jan 28 02:23:48 2014 +0100
+++ b/contrib/import-checker.py	Wed Feb 05 01:30:33 2014 +0100
@@ -11,12 +11,15 @@
 def dotted_name_of_path(path):
     """Given a relative path to a source file, return its dotted module name.
 
-
     >>> dotted_name_of_path('mercurial/error.py')
     'mercurial.error'
+    >>> dotted_name_of_path('zlibmodule.so')
+    'zlib'
     """
     parts = path.split('/')
     parts[-1] = parts[-1][:-3] # remove .py
+    if parts[-1].endswith('module'):
+        parts[-1] = parts[-1][:-6]
     return '.'.join(parts)